Rootfs 的改造
1. 瘦身
Q. 那些檔案可以宰 ?
在 $ROOTFS 目錄下執行
du -sh *
以觀看每個目錄所佔空間。
$ROOTFS/usr/share/man -> 清除 man manual
$ROOTFS/usr/share/doc -> 沒人看的文件
$ROOTFS/usr/share/locale -> 語系設定檔 (翻譯檔),僅留 en_US (+ zh_TW) 即可。
請移除舊版核心模組,並複製新版核心模組至此目錄
$ROOTFS/lib/modules -> 舊核心之驅動程式模組目錄
$ROOTFS/lib/modules/2.6.32-5-versatile -> 移除
$ROOTFS/lib/modules/3.2.30 -> 新增
$ROOTFS/boot -> 舊版核心檔案,請全部清掉
$ROOTFS/var ->
$ROOTFS/var/log -> 日誌檔目錄,可完全清除
$ROOTFS/var/cache/apt 目錄有套件的快取資料,可清除
2. 複製新檔案回去
a. 複製新 Linux 核心模組
(不需要放 Linux 核心,因為其核心檔案放置至 sdcard 之第 1 個分割區)
3. 加入我們想要的設定
a. $ROOTFS/etc/fstab
proc /proc proc defaults 0 0
/dev/mmcblk0p2 / auto errors=remount-ro 0 1
/dev/mmcblk0p1 /boot auto defaults 0 0
b. $ROOTFS/etc/inittab
最後一行加上:
T2:23:respawn:/sbin/getty -L ttyO2 115200 vt102
3. 複製至真正的 sdcard 中
請使用 fdisk 分割 sdcard (2 GB 以上),其中第 1 個分割區為 80 MB,剩下為第 2 個分割區。並依以下方式掛載:
/mnt/sdcard1 -> 第 1 個分割區,FAT 16/32 格式,有打開開機旗標。
/mnt/sdcard2 -> 第 2 個分割區,ext3 格式。
a. 複製核心、bootloader 及 uEnv.txt 至 /mnt/sdcard1,裡面內容如下:
-rwxr-xr-x 1 root root 45128 2012-10-30 22:19 MLO
-rwxr-xr-x 1 root root 1215711 2012-10-30 22:19 u-boot
-rwxr-xr-x 1 root root 294672 2012-10-30 22:19 u-boot.bin
-rwxr-xr-x 1 root root 294736 2012-10-30 22:19 u-boot.img
-rwxr-xr-x 1 root root 1 2012-10-30 23:29 uEnv.txt
-rwxr-xr-x 1 root root 2475616 2012-10-30 22:15 uImage
b. 複製 rootfs 至 /mnt/sdcard2,請使用 rsync 來複製
rsync -av $ROOTFS/* /mnt/sdcard2
4. 作完收工,可以至 devkit 8000 開機
沒有留言:
張貼留言