日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

嵌入式Linux 試試一張軟盤可裝下Linux

嵌入式Linux由一個(gè)幾百KB的kernel(內(nèi)核)和一些根據(jù)需要進(jìn)行定制的系統(tǒng)模塊組成 。由于Linux是開放源代
碼的操作系統(tǒng) , 因此 , 其在嵌入式領(lǐng)域有其不可替代的成本和高度靈活性等優(yōu)勢 。

將Linux系統(tǒng)裁減到就像DOS一樣只要一張軟盤就能啟動(dòng) , 是制作嵌入式Linux的基礎(chǔ) 。網(wǎng)絡(luò)上有許多實(shí)現(xiàn)方法
的介紹 , 但是在實(shí)踐過程中都或多或少存在著一些問題或不方便之處 。我們結(jié)合自己在這方面的實(shí)踐經(jīng)驗(yàn) , 詳細(xì)介
紹基于軟盤Linux的制作過程 。

三個(gè)基本元素

一個(gè)嵌入式Linux系統(tǒng)只需要下面三個(gè)基本元素:引導(dǎo)程序、Linux微內(nèi)核(由內(nèi)存管理、進(jìn)程管理和事務(wù)處理
構(gòu)成)和初始化進(jìn)程 。如果要讓它有更多的功能且保持小型化 , 還可以加上文件系統(tǒng)、TCP/IP網(wǎng)絡(luò)支持、GUI(圖形
用戶界面)和設(shè)計(jì)精簡的應(yīng)用程序 , 并將其放在ROM、RAM、FLASH或Disk;On;Chip中啟動(dòng) 。由于嵌入式Linux操作系
統(tǒng)的高度靈活性 , 開發(fā)者可以很容易地對它進(jìn)行定制或作適當(dāng)開發(fā) , 來滿足實(shí)際應(yīng)用需要 。

將Linux的系統(tǒng)裁減到只要一張軟盤就能啟動(dòng) , 不但是制作嵌入式Linux的基礎(chǔ) , 而且自己也有廣泛的應(yīng)用前景 。
這些應(yīng)用包括簡單路由器管理、三層交換機(jī)管理、floppy-boot防火墻管理等 。國外有專門的組織致力于這方面的工
作 , 如LOAF(Linux;on;a;floopy)等組織 。

選擇內(nèi)核

創(chuàng)建一個(gè)啟動(dòng)盤首先必須創(chuàng)建系統(tǒng)內(nèi)核 。由于軟盤容量有限 , 因此常采用對內(nèi)核進(jìn)行手工配置 , 去掉不必要的
模塊的方法來裁減內(nèi)核 。

要想裁減內(nèi)核體積 , 創(chuàng)建它時(shí)就得把不必要的功能去掉 , 如去掉對網(wǎng)絡(luò)的支持和對不必要設(shè)備的支持 。但是一
定要記住保留內(nèi)核對RAMDISK和ext2的支持 , 否則啟動(dòng)盤將不能工作 。其過程如下:

1)以root超級用戶登錄 , 進(jìn)入目錄/usr/src/linux 。

2)執(zhí)行#make;menuconfig來對內(nèi)核模塊進(jìn)行配置(也可以在X;Window中運(yùn)行make;xconfig) 。

3)依次執(zhí)行#make;dep和#make;bzImage;(如果內(nèi)核不大則執(zhí)行#make;zImage),執(zhí)行該命令后 , 將在
/usr/src/linux/arch/i386/boot目錄下生成內(nèi)核文件bzImage(或zImage) 。若配置中加入了模塊的支持(選項(xiàng)為M) ,
還需要執(zhí)行#make;modules和#make;modules_install 。

4)用命令#cp;usr/src/linux/arch/i386/;boot/bzImage;/boot拷貝新內(nèi)核到/boot目錄,修改文件
/etc/lilo.conf , 加入:

image;=;/boot/bzImage

label;=;new

root;=/dev/hdxx(你自己的啟動(dòng)硬盤分區(qū))

read-only

執(zhí)行命令#lilo載入新內(nèi)核 , #reboot重啟系統(tǒng) , 在出現(xiàn)“l(fā)ilo:”時(shí)鍵入new 。若系統(tǒng)正常引導(dǎo) , 則執(zhí)行下一步 ,
若不行則用老內(nèi)核引導(dǎo)后 , 到步驟1)重新配置編譯內(nèi)核 。

5)插入軟盤執(zhí)行

#dd;bs=1k;if=/usr/src/linux/arch/i386/;boot/bzImage;of=/dev/fd0;

這樣將內(nèi)核拷貝到軟盤上 。

6)用命令#ls;-s將在/usr/src/linux/;arch/i386/boot/bzImage得到內(nèi)核的大小(假定為476) , 將這個(gè)大小記
錄下來以備后用 。

這樣就制作了包含裁減內(nèi)核的可供啟動(dòng)的Linux啟動(dòng)軟盤 。但是由于沒有root文件系統(tǒng) , 使用這張軟盤啟動(dòng)系
統(tǒng)后 , 系統(tǒng)會(huì)顯示“VFS:;cannot;open;root;device;x:x”和
“kernel;panic:;VFS:;unalbe;to;boot;root;fs;on;x:x”的錯(cuò)誤 。

root文件系統(tǒng)

一個(gè)root文件系統(tǒng)必須包括支持完整Linux系統(tǒng)的全部東西 , 因此 , 它至少應(yīng)包括:基本文件系統(tǒng)結(jié)構(gòu);至少
含有目錄/dev、/proc、/bin、/etc、/lib、/usr、/tmp;最基本的應(yīng)用程序 , 如sh、ls、cp、mv等;最低限度的
配置文件 , 如rc、inittab、fstab等;設(shè)備:/dev/hd*、/dev/;tty*、/dev/fd0;基本程序運(yùn)行所需的函數(shù)庫 。

由于以上所需文件遠(yuǎn)超過1.44M , 因此我們通常的做法是在準(zhǔn)備好內(nèi)容后將其壓縮到軟盤中 。當(dāng)用軟盤啟動(dòng)時(shí) ,

推薦閱讀