從零開始構(gòu)建自己的U盤Linux_第1頁(yè)
從零開始構(gòu)建自己的U盤Linux_第2頁(yè)
從零開始構(gòu)建自己的U盤Linux_第3頁(yè)
從零開始構(gòu)建自己的U盤Linux_第4頁(yè)
從零開始構(gòu)建自己的U盤Linux_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、華北水利水電大學(xué) 從零開始構(gòu)建自己的U盤Linux課程名稱:嵌入式系統(tǒng)的原理與設(shè)計(jì)姓 名: 學(xué) 號(hào): 班 級(jí): 2011150 專 業(yè): 電子信息科學(xué)與技術(shù) 日 期: 2014年6月19日 摘要: 論文基于Linux內(nèi)核的編譯,U盤上的Linux的分區(qū)和ext2文件格式,安裝grub到U盤中,使用initrd內(nèi)核作為根文件系統(tǒng),從而實(shí)現(xiàn)構(gòu)建自己的U盤的Linux。關(guān)鍵字:Linux內(nèi)核 ext2文件 grub initrd內(nèi)核 根文件系統(tǒng)AbstractThe paper is based on the compilation of the Linux kernel, Linux partit

2、ion on the usb flash drive and ext2 file, install grub to usb drive, use the initrd kernel as the root file system, so as to realize build your own Linux usb flash drive.Keyword:Linux partition ext2 file grub initrd kernel root file system目錄一 引言3二 前期準(zhǔn)備 3 1前期準(zhǔn)備32生成bosybox3三 編譯Linux內(nèi)核6四 在U盤上建立根文件系統(tǒng)71在

3、U盤上建Linux分區(qū)和ext2文件72建立必需的目錄83建立必須的設(shè)備節(jié)點(diǎn)文件84生成一些常見的命令和工具95建立一些必須的配置文件96復(fù)制Linux內(nèi)核文件等到自己的U盤中10五 安裝grub到U盤10六 總結(jié)與展望11七 參考文獻(xiàn)12一 引言 隨著上網(wǎng)本的普及和臺(tái)式電腦主板性能的提升,U盤上安裝Linux系統(tǒng)越來(lái)越流行。U盤的體積小,攜帶方便,如果計(jì)算機(jī)上沒有Linux自己只需帶一個(gè)U盤就行。如今Linux系統(tǒng)也越來(lái)越普及,Linux 系統(tǒng)體系的模型結(jié)構(gòu)非常便于定制,選擇U盤安裝的系統(tǒng)構(gòu)建方式,將便于系統(tǒng)個(gè)性的定制,而不需要依賴于發(fā)布商依據(jù)各自文化理念提供易用化系統(tǒng)集合。二 前期準(zhǔn)備 1

4、準(zhǔn)備開主發(fā)機(jī) 準(zhǔn)備一臺(tái)計(jì)算機(jī),在虛擬機(jī)上安裝Linux操作系統(tǒng) 每個(gè)命令最好前面加sudo來(lái)實(shí)現(xiàn)root權(quán)限操作,或者使用sudo su 進(jìn)入root權(quán)限。 2準(zhǔn)備測(cè)試用的計(jì)算機(jī) 3準(zhǔn)備Linux的內(nèi)核源代碼 Linux的源代碼可以從下載。另外,如果開發(fā)機(jī)的安裝Linux系統(tǒng)時(shí)是全部安裝,在開發(fā) 機(jī)的系統(tǒng)文件的usb下的src目錄下也會(huì)有Linux的源代碼。我的在開發(fā)有Linux的源代碼。 4 準(zhǔn)備busybox工具的源代碼從busybox 的官網(wǎng): (這個(gè)壓縮包能用)建議放在home下,因?yàn)榉旁趖mp下,容易丟。1) 解壓縮busybox-1.21-0.

5、tar.bz2cd /tmp /進(jìn)入 /tmp目錄下2) sudo tar-xvjf busybox-1.21-0.tar.bz2 / 解壓縮3) 進(jìn)入busybox-1.21-0目錄下,修改busybox中的init.c源代碼具體的操作如下 cd busybox-1.21-0sudo gedit init/init.c /建議用gedit編譯器找到 define INIT-SRCIPT “/etc/init.d/rcs”把其修改為define INIT-SRCIPT “/etc/rc.d /rc.sysinit” 4)make defconfig /使用默認(rèn)配置,讓bosybox包含常用的工

6、具和命令 make menuconfig /進(jìn)入人工配置(如果出現(xiàn)錯(cuò)誤,或許可以將里面的內(nèi)容更新) Busybox settings -Build Options *Build Busybox as a static binary (no share libs)(y表示選上) 然后進(jìn)入shell選項(xiàng),選用ash作為默認(rèn)的shell(ash) Shells-choose your default shell(ash) * ash hush lash 這個(gè)不存在 mash(5)編譯busybox,命令如下 make (6) make install 等待的時(shí)間好像有點(diǎn)長(zhǎng) 在make install

7、 完成后,會(huì)在/tmp/ busybox-1.21-0/目錄下生成-install 目錄中,里面會(huì)建立bin和sbin子目錄三 編譯Linux內(nèi)核 從網(wǎng)上 下載Linux內(nèi)核壓縮之后就可以配置的,編譯內(nèi)核了,具體操作如下 我下載的是linux-3.15.1.tar.xz 文件解壓如下tar J linux-3.15.1.tar.xz 1) cd /home/ sudo tar J linux-3.15.1.tar.xz 2) make menuconfig /進(jìn)行內(nèi)核編譯需要注意是由于支持U盤啟動(dòng),配置內(nèi)核時(shí)必須選擇以下內(nèi)容:(1) 選擇Device D

8、evices(設(shè)備驅(qū)動(dòng)) -Block devices 下的loopback device support, RAMblock device support(2) 選擇Device Devices-SCSI Support, SCSI disk Support, SCSI low-drivers-Buslogic SCSI support 等支持;(3) 選擇Device Devices-USB Support 下的Support for Host-side USB,Preliminary USB device filesystem ,USB Mass Storage support 支持;另

9、外,還需要選UHCI HCD support 或OHCI HCD support 選擇好后選擇保存使用“make dep”命令尋找依賴關(guān)系,由系統(tǒng)決定需要編譯那些內(nèi)容 使用“make clean”命令清除以前編譯內(nèi)核時(shí)生成中間文件等。使用“make bzImage”命令生成壓縮的Linux文件四 在U盤上建立根文件系統(tǒng) 1 首先使用fdisk -l 查看,你U盤掛上去之后是sda還是sdb,sdcsudo su fdisk -l進(jìn)行分區(qū)fdisk /dev/sdb 來(lái)給U盤分區(qū),具體分為兩個(gè)區(qū)sda1為使用d 刪除分區(qū) 使用n新建分區(qū)然后確認(rèn)主分區(qū)號(hào),第一個(gè)選1 ,然后輸入初始扇區(qū)編號(hào),默認(rèn)為

10、1,直接回車就可以,然后輸入+512M然后是p,查看分區(qū),然后是w 保存并退出分區(qū),2)格式化完成之后,U盤上就會(huì)建立一個(gè)Linux分區(qū),下面就可以在U盤上建立ext2文件,具體操作如下sudo mkfs.ext2 /dev/sdb12 建立必須的目錄1) sudo mkdir /mnt/usb /建立/mnt/usb目錄,用于掛載U盤 sudo su mount /dev/sdb1 /mnt/usb cd /mnt/usb /進(jìn)入/mnt/usb目錄下mkdir boot etc etc/rc.d proc tmp var dev mnt lib initrd /建立需要的目錄chmod 7

11、55 boot etc etc/rc.d proc tmp var dev mnt lib initrd /該屬性為可讀寫 3)建立必須的設(shè)備節(jié)點(diǎn)文件sudo su cd /mnt/usb/dev建立一般終端機(jī)設(shè)備 mknod tty c 5 0mknod console c 5 1chmod 666 tty console建立VGA Display 虛擬終端設(shè)備mknod tty0 c 4 0chmod 666 tty0建立RAM disk設(shè)備mknod ram0 b 1 0chmod 600 ram0建立null設(shè)備mknod null c 1 3chmod 666 null4) 生成一些

12、常見的命令和工具cp -a -R -f /home/luck/busybox/busybox-1.21.0/_install/* /mnt/usb/ 使用a選項(xiàng)保持文件的正確性,使用-R 選項(xiàng)保持文件復(fù)制的正確性cp /bin/bash /mnt/usb/bincp /lib/i386-linux-gnu/libtinfo.so.5 /mnt/usb/libcp /lib/i386-linux-gnu/libdl.so.2 /mnt/usb/libcp /lib/i386-linux-gnu/libc.so.6 /mnt/usb/libcp /lib/ld-linux.so.2 /mnt/us

13、b/libcd /mnt/usb/binln -s bash sh/通過(guò)連接命令建立sh命令5) 建立一些必須的配置文件Linux在啟動(dòng)的過(guò)程中還需要建立一些配置文件建立/ mnt/usb/etc/rc.d/inittab配置文件gedit /mnt/usb/etc/inittab建立/ mnt/usb/etc/rc.d/ rc.sysinit配置文件gedit /mnt/usb/etc/rc.d/rc.sysinit建立/ mnt/usb/etc/rc.d/ fstab配置文件 gedit /mnt/usb/etc/fstab 修改inittab,rc.sysinit,fstab這3個(gè)文件的

14、權(quán)限chmod 644 /mnt/usb/etc/inittab chmod 755 /mnt/usb/etc/rc.d/rc.sysinit chmod 644 /mnt/usb/etc/fstab6)復(fù)制Linux內(nèi)核文件等到U盤中cp /home/luck/linux/linux-3.15.1/arch/x86/boot/bzImage /mnt/usb/bootcp /home/initrd.gz /mnt/boot/initre.img五 安裝grub到U盤#mount -t ext2 /dev/sdb1 /mnt# grub-install -root-directory=/mnt

15、 /dev/sdb#grub-mkconfig -o /mnt/boot/grub/grub.cfg # umount /mnt總之這上面的都無(wú)關(guān)緊要主要是grub.cfg 的修改將grub里面的內(nèi)容該刪的刪去該換的換的,如下圖所示cp /etc/grub.d/00-header mnt/usb/etc/grub.d/00-header cp /etc/grub.d/05-debian mnt/usb/etc/grub.d/00-debiancp /etc/grub.d/10-linux mnt/usb/etc/grub.d/10-linux關(guān)機(jī)把自己的插到電腦上開機(jī),可以用USB-HDD方式

16、啟動(dòng)的計(jì)算機(jī)上六 總結(jié)與展望通過(guò)構(gòu)建自己的U盤Linux,剛開始的時(shí)候感覺自己什么也不會(huì),什么也不懂,更可怕的是不知道自己什么地方不會(huì),不知道該怎么解決;雖然自己有時(shí)候作對(duì)的,但是自己重新做的時(shí)候,就出問題的,就做不對(duì),然后自己又重新做,但是還不對(duì),上網(wǎng)查資料,按照網(wǎng)上的要求做,有時(shí)候還是不對(duì),最后只能問同學(xué),讓同學(xué)幫我解決這個(gè)問題。接下來(lái)問題不是逐漸的減少,而是接踵而至,雖然有一部分作對(duì)的,但是自己總是感覺自己做的一塌糊涂,在自己做這個(gè)課程設(shè)計(jì)的時(shí)候,自己的進(jìn)步趕不上別人。自己做的那么差也不是沒有原因的主要是前期自己沒有打算做U盤,感覺做實(shí)驗(yàn)就行。但是通過(guò)與做U盤的同學(xué)接觸感覺他們對(duì)嵌入式的了解的很深入,我深深的感到汗顏,于是我感覺只做實(shí)驗(yàn)是不行的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論