2010年7月13日 星期二

build a rootfs of jaunty for arm

之前用 Emdebian建立一個基本的 rootfs for arm,不過 Nabe大大說用 Emdebian裝套件似乎都不是很順利,就是用 apt-get install packages有時都會發生不可預期的事情,所以就用 Ubuntu來建立 for arm的 rootfs

步驟跟之前建立 Emdebian都很類似,注意要改成紅色的部份。

rootfs install
Root$ mkdir -p ~/Emdebian
Root$ cd ~/Emdebian
Root$ debootstrap --arch=armel --foreign --include=vim,openssh-server jaunty rootfs/ http://ports.ubuntu.com


kernel modules install
Root$ cd $Kenrel_dir
Root$ make INSTALL_MOD_PATH=~/Emdebian/rootfs modules_install

***這邊的$Kenrel_dir 就是上一篇文章ltib所編出來的kernel位置($ur_ltib_location/ltib/rpm/BUILD/linux-2.6.31 /)。


rootfs setup
Root$ cp /usr/bin/qemu-arm-static ~/Emdebian/rootfs/usr/bin/
Root$ chroot ~/Emdebian/rootfs /bin/sh
I have no name!$ /debootstrap/debootstrap --second-stage
I have no name!$ passwd root (新增一下 root密碼)
I have no name!$ exit
Root$ cd ~/Emdebian/rootfs
Root$ echo "proc /proc proc none 0 0" >> etc/fstab
Root$ echo $your_hostname > etc/hostname
Root$ cd etc/event.d/
Root$ cp -rf tty1 ttymxc0
Root$ vim ttymxc0
把 tty1改成 ttymxc0,buad rate改成 115200
Root$ printf "auto lo eth0\niface lo inet loopback\niface eth0 inet dhcp\n" >> etc/network/interfaces
Root$ tar jcvf ../basic-debian.tar.bz2 . (做個備份)
Root$ cd ..
Root$ tar jxvf basic-debian.tar.bz2 -C /media/disk/ && sync && sync (假設SD卡巳經準備好了)
Root$ umount /dev/sdb


最後,重新開機吧,寶貝!