2010年5月30日 星期日

Use Linux shell scipt to build a small embedded root file system for arm

之前的文章有用 Emdebian的 debootstrap手動建立一個嵌⼊式小型的rootfs for arm,整個流程下來有點繁瑣,
如果只是久久產生一次 rootfs那倒還好,但如果是時常需要新的話,一直重覆的動作會瘋掉,所以,在Linux下,
要避免掉重覆的動作,最好的法就是寫成 shell script,剛好在網路有看到人家寫好的,就拿來用,外加改成自己想要的,

參考的網址,
How to Cross Compile a Kernel and Create the Debian Root File Store

自己改的,
gen_root3.sh

有改到的,列一下,怕自己忘記,
1. url=http://ftp.tw.debian.org/debian <-- 改網址,原本是hk香港的

2. kernel_version=2.6.31.5 <-- 要依照目前的 kernel版本,如果是28,就變2.6.28.XX

3. eth=static
address=140.92.XXX.XXX
netmask=255.255.255.0
gateway=140.92.XXX.XXX <-- 改成靜態的網址 /etc/network/interface

4. newhostname=sam-debian <-- /etc/hostname

5. extra_debs=openssh-server <-- 你想要安裝的其他檔案

6. root_partition=/dev/mmcblk0p1 <-- SD卡開機,/etc/fstab

7. #support for imx51 board about ttymxc0 node
file=dev/ttymxc0
echo Creating $file
mknod -m 755 $file c 207 16 <-- 增加板子需要的node

file=etc/securetty
echo Creating $file
echo "ttymxc0" >> $file <-- 重要!!! 一定要加!!!不然就算接UART,畫面也不會有東西

8. 在 /etc/inittab的地方,原本是
#1:2345:respawn:/sbin/getty 115200 ttyS0 -->
改成
1:2345:respawn:/sbin/getty 115200 ttymxc0


接下來,作好的 rootfs,做成 SD卡開機,第一次開機會比較久,因為原本還要做
./debootstrap/debootstrap --second-stage這個動作,已經被改成一開機就會執行,(你會發現被放在根目錄的 stage2)
之後,它會自己重開機,帳號一開始為 root

沒有留言:

張貼留言