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

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


再把文件解壓到內(nèi)存中 , 形成一個虛擬盤(RAMDISK) , 通過RAMDISK控制系統(tǒng)啟動 。如果你使用LILO控制啟動 , 先檢
查一下LILO的配置文件/etc/lilo.conf中定義的RAMDISK的大?。?

RAMDISK_SIZE;=;nnn

創(chuàng)建root文件系統(tǒng)

回到根目錄或用戶的缺省目錄 , 用#mkdir;flop建立工作目錄flop 。在這個目錄下用mkdir建立以下一些目錄:
/dev , 設(shè)備;/proc;-;proc , 文件系統(tǒng)所需目錄;/etc , 系統(tǒng)配置文件;/sbin , 重要的系統(tǒng)程序;/bin , 基本應(yīng)
用程序;/lib , 共享函數(shù)庫;/mnt , 裝載其他磁盤節(jié)點;/usr , 附加應(yīng)用程序 。

其中/proc、/mnt和/usr在此情況下都是空的 , 只需要用mkdir創(chuàng)建它們即可 。其余的目錄應(yīng)根據(jù)需要分別創(chuàng)建 。
下面對它們一個一個地詳細(xì)敘述 。

/dev:這個目錄中含有系統(tǒng)不可缺少的設(shè)備文件 。你可以把現(xiàn)有系統(tǒng)中/dev的文件拷貝過來 , 然后刪除不必要
的文件 。不過一定要保留console、kmem、mem、null、ram、tty*等文件 。其余的都可以根據(jù)需要刪除 。

/etc:這個目錄中含有一些必不可少的系統(tǒng)配置文件 。一般可以包含rc.d/*;(系統(tǒng)啟動腳本)、fstab(列出要登
錄的文件系統(tǒng))、inittab(包含啟動過程參數(shù))、passwd;(用戶名和目錄)、group(用戶組)、shadow(用戶加密密碼) 。
如果不使用init作為登錄進(jìn)程 , 而將init鏈接到/bin/bash , 則/etc目錄下可以不含有任何文件 。

/bin和/sbin:該目錄中包含有必不可少的應(yīng)用程序 , 如ls、mv、cat、cp、getty(mingettty) 。也可以根據(jù)自
己的需要選擇 , 不過一定要記住包括以下程序:init、getty、login、mount、bash 。

/lib:該目錄中包含有你的啟動盤啟動過程中所需要的共享函數(shù)庫 。在/lib目錄下還必須有函數(shù)庫裝載器 , 這個
裝載器或是ld.so;(對a.out庫)或是ld-linux.so;(對ELF庫) 。

模塊

如果有一個模塊化的內(nèi)核 , 你還得必須考慮需要加載的模塊 。它們都位于/lib/modules 。你可以把不是很重要的
模塊放到別的盤上 , 當(dāng)系統(tǒng)啟動后再加載 , 這樣會節(jié)省啟動盤的空間 。

打包

1)建立loop設(shè)備的臨時掛接點和一個大小為4.6兆(大小可以調(diào)節(jié))的臨時文件 , 并將其清零:

#mkdir;/mnt/loop;2>/dev/null

#dd;if=/dev/zero;of=/tmp/loop_tmp;bs=1k;count=4600;>/dev/null

2)將loop設(shè)備與臨時文件聯(lián)系起來

#losetup;/dev/loop0;/tmp/loop_tmp

3)Linux內(nèi)核識別兩種可以直接拷貝到RAMDISK的文件系統(tǒng) , 它們是minix和ext2 , ext2性能更好:

#mke2fs;-m;0;/dev/loop0;2>/dev/null

#mke2fs將會自動判斷設(shè)備容量的大小并相應(yīng)地配置自身 , -m;0參數(shù)防止它給root保留空間 , 這樣會騰出更多
的有用空間 。

4)接著把虛擬盤掛在節(jié)點/mnt上:

#mount;/dev/loop0;/mnt/loop;-t;ext2

5)將制作好的root文件系統(tǒng)拷貝到所掛的節(jié)點上 , 卸下掛接點 , 刪除建立的掛接點 , 再取消loop設(shè)備與臨時掛
接點的聯(lián)系 。

#cp;-a;./tree/*;/mnt/loop

#umount;/mnt/loop

#rmdir;/mnt/loop;2>/dev/null

#losetup;-d;/dev/loop0

6)壓縮文件系統(tǒng)后 , 就擁有了一個壓縮的root文件系統(tǒng) , 刪除建立的臨時文件 。

#dd;if=/tmp/loop_tmp;|;gzip;-9;>;rootfs.gz

#rm;-f;/tmp/loop_tmp

7)檢查壓縮后的root文件系統(tǒng)的大小 , 如果大了 , 還得去掉一些東西 。

#ls;-s;./zImage|cut;-f2;-d

整合

有了root文件系統(tǒng)和內(nèi)核之后 , 最后的工作就是把它們整合在一起 。

先檢查總文件的大小 , 包括已經(jīng)制作的內(nèi)核和打包的root文件系統(tǒng) 。如果超出1.44M , 就得考慮重新創(chuàng)建 。root文
件系統(tǒng)所需的所有文件都準(zhǔn)備就緒 , 你就可以運行它了 , 運行結(jié)果應(yīng)該沒有錯誤 , 否則就應(yīng)該仔細(xì)檢查一下 。

推薦閱讀