2012年2月26日 星期日

[好書推薦]建構嵌入式Linux系統(ch8)

這個章節作者談到了各種rootfs的type,也就是要使用ext2、ext3、cramfs、squashfs、JFFS2、tmpfs哪一種,每一種都有它的特色
為了執行方便,在開發完成rootfs的時候會將他們壓縮成image或者其他格式,再載入的時候,再由kernel指示CPU該檔案解開並且掛載成root directory
另外介紹了兩種常用來拷貝rootfs到需要的地方(比方說成為image),這兩個公用程式分別是dd以及cpio,兩者都是低階壓縮工具,dd很適合將整個partition拷貝到另外一個地方,比如另外一個partition,cpio則是連device file都能拷貝
geneextfs -b 1024 -d rootfs -D device_table.txt -e 0 initrd.img
gzip -9 < images/initrd.img > images/initrd.bin
第一行先產生一個ext2的image跟著第二行將image壓縮成ramdisk
cd ${PROJECTDIR}/rootfs
find . | cpio -o -H newc | gzip > {PROJECTDIR}/initramfs.cpio.gz
這樣kernel會把這個檔案已tmpfs的格式放到ramdisk下執行
書本中還提到了許多跟實務上有相關的選擇標準,礙於個人接觸太少,只好先"記帳":P
最後做整提到了更新的問題,更新的情況也會影響rootfs type的選擇,另外就是如何處理更新的過程,有三個作者提到的基本工具 : cpio、rsync以及dpkg

沒有留言:

張貼留言