版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、華北水利水電大學 從零開始構(gòu)建自己的U盤Linux課程名稱:嵌入式系統(tǒng)的原理與設(shè)計姓 名: 學 號: 班 級: 2011150 專 業(yè): 電子信息科學與技術(shù) 日 期: 2014年6月19日 摘要: 論文基于Linux內(nèi)核的編譯,U盤上的Linux的分區(qū)和ext2文件格式,安裝grub到U盤中,使用initrd內(nèi)核作為根文件系統(tǒng),從而實現(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二 前期準備 3 1前期準備32生成bosybox3三 編譯Linux內(nèi)核6四 在U盤上建立根文件系統(tǒng)71在
3、U盤上建Linux分區(qū)和ext2文件72建立必需的目錄83建立必須的設(shè)備節(jié)點文件84生成一些常見的命令和工具95建立一些必須的配置文件96復(fù)制Linux內(nèi)核文件等到自己的U盤中10五 安裝grub到U盤10六 總結(jié)與展望11七 參考文獻12一 引言 隨著上網(wǎng)本的普及和臺式電腦主板性能的提升,U盤上安裝Linux系統(tǒng)越來越流行。U盤的體積小,攜帶方便,如果計算機上沒有Linux自己只需帶一個U盤就行。如今Linux系統(tǒng)也越來越普及,Linux 系統(tǒng)體系的模型結(jié)構(gòu)非常便于定制,選擇U盤安裝的系統(tǒng)構(gòu)建方式,將便于系統(tǒng)個性的定制,而不需要依賴于發(fā)布商依據(jù)各自文化理念提供易用化系統(tǒng)集合。二 前期準備 1
4、準備開主發(fā)機 準備一臺計算機,在虛擬機上安裝Linux操作系統(tǒng) 每個命令最好前面加sudo來實現(xiàn)root權(quán)限操作,或者使用sudo su 進入root權(quán)限。 2準備測試用的計算機 3準備Linux的內(nèi)核源代碼 Linux的源代碼可以從下載。另外,如果開發(fā)機的安裝Linux系統(tǒng)時是全部安裝,在開發(fā) 機的系統(tǒng)文件的usb下的src目錄下也會有Linux的源代碼。我的在開發(fā)有Linux的源代碼。 4 準備busybox工具的源代碼從busybox 的官網(wǎng): (這個壓縮包能用)建議放在home下,因為放在tmp下,容易丟。1) 解壓縮busybox-1.21-0.
5、tar.bz2cd /tmp /進入 /tmp目錄下2) sudo tar-xvjf busybox-1.21-0.tar.bz2 / 解壓縮3) 進入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 /使用默認配置,讓bosybox包含常用的工
6、具和命令 make menuconfig /進入人工配置(如果出現(xiàn)錯誤,或許可以將里面的內(nèi)容更新) Busybox settings -Build Options *Build Busybox as a static binary (no share libs)(y表示選上) 然后進入shell選項,選用ash作為默認的shell(ash) Shells-choose your default shell(ash) * ash hush lash 這個不存在 mash(5)編譯busybox,命令如下 make (6) make install 等待的時間好像有點長 在make install
7、 完成后,會在/tmp/ busybox-1.21-0/目錄下生成-install 目錄中,里面會建立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 /進行內(nèi)核編譯需要注意是由于支持U盤啟動,配置內(nèi)核時必須選擇以下內(nèi)容:(1) 選擇Device D
8、evices(設(shè)備驅(qū)動) -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)核時生成中間文件等。使用“make bzImage”命令生成壓縮的Linux文件四 在U盤上建立根文件系統(tǒng) 1 首先使用fdisk -l 查看,你U盤掛上去之后是sda還是sdb,sdcsudo su fdisk -l進行分區(qū)fdisk /dev/sdb 來給U盤分區(qū),具體分為兩個區(qū)sda1為使用d 刪除分區(qū) 使用n新建分區(qū)然后確認主分區(qū)號,第一個選1 ,然后輸入初始扇區(qū)編號,默認為
10、1,直接回車就可以,然后輸入+512M然后是p,查看分區(qū),然后是w 保存并退出分區(qū),2)格式化完成之后,U盤上就會建立一個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 /進入/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é)點文件sudo su cd /mnt/usb/dev建立一般終端機設(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選項保持文件的正確性,使用-R 選項保持文件復(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/通過連接命令建立sh命令5) 建立一些必須的配置文件Linux在啟動的過程中還需要建立一些配置文件建立/ 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個文件的
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總之這上面的都無關(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)機把自己的插到電腦上開機,可以用USB-HDD方式
16、啟動的計算機上六 總結(jié)與展望通過構(gòu)建自己的U盤Linux,剛開始的時候感覺自己什么也不會,什么也不懂,更可怕的是不知道自己什么地方不會,不知道該怎么解決;雖然自己有時候作對的,但是自己重新做的時候,就出問題的,就做不對,然后自己又重新做,但是還不對,上網(wǎng)查資料,按照網(wǎng)上的要求做,有時候還是不對,最后只能問同學,讓同學幫我解決這個問題。接下來問題不是逐漸的減少,而是接踵而至,雖然有一部分作對的,但是自己總是感覺自己做的一塌糊涂,在自己做這個課程設(shè)計的時候,自己的進步趕不上別人。自己做的那么差也不是沒有原因的主要是前期自己沒有打算做U盤,感覺做實驗就行。但是通過與做U盤的同學接觸感覺他們對嵌入式的了解的很深入,我深深的感到汗顏,于是我感覺只做實驗是不行的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024至2030年中國胚芽米漿行業(yè)投資前景及策略咨詢研究報告
- 2024至2030年中國搖松絨睡衣行業(yè)投資前景及策略咨詢研究報告
- 2024至2030年中國頭扳手行業(yè)投資前景及策略咨詢研究報告
- 2024至2030年承插式泵項目投資價值分析報告
- 2024至2030年高級白卡紙項目投資價值分析報告
- 2024年大型機械設(shè)備采購合同
- 商業(yè)地產(chǎn)開發(fā)與運營合同
- 智能法律服務(wù)平臺開發(fā)合同
- 2024版裝配式建筑預(yù)制構(gòu)件生產(chǎn)勞務(wù)分包合同補充協(xié)議范本3篇
- 2024版水產(chǎn)買賣合同模板5篇
- 9高考語文透析一題·詩歌鑒賞(手法技巧)《柳梢青 送盧梅坡 》
- 妊娠期肝內(nèi)膽汁淤積癥教學課件
- 如何高效學習學習通超星課后章節(jié)答案期末考試題庫2023年
- DB3205T 1062-2023 制造業(yè)質(zhì)量管理數(shù)字化水平評價規(guī)范
- 貴州省建筑節(jié)能工程認定表
- 退出協(xié)議書(8篇)
- HCCDP 云遷移認證理論題庫
- 電子商務(wù)題庫(370道)
- 建筑變形分析st1165使用手冊
- 新人教版七至九年級英語單詞表 漢譯英(含音標)
- 2023年數(shù)據(jù)結(jié)構(gòu)實驗報告級及答案
評論
0/150
提交評論