2014年12月9日 星期二

Rootfs 植入 sdcard.img 開機


一、將 rootfs 植入到 sdcard.img

0. 準備材料

參考前面文章 建立虛擬 SD Card
sdcard1 要有以下檔案:
MLOu-bootu-boot.binu-boot.imguImage

參考文章 建立 Rootfs
sdcard2 要有 rootfs

1. 先做備份

cp sdcard.img sdcard.img.bak

2. 做連接 + 掛載

前面幾個章節有學到兩個做 offset 的方法:

方法一:

su
losetup /dev/loop0 sdcard.img
losetup -o $[512*2048] /dev/loop1 /dev/loop0
losetup -o $[512*165888] /dev/loop2 /dev/loop0
mkdir /mnt/sdcard1
mkdir /mnt/sdcard2

mount /dev/loop1 /mnt/sdcard1
mount /dev/loop2 /mnt/sdcard2

方法二:

mkdir /mnt/sdcard1
mkdir /mnt/sdcard2
mount -o loop,offset=$[512*2048] sdcard.img /mnt/sdcard1
mount -o loop,offset=$[512*165888] sdcard.img /mnt/sdcard2

3. 設定 Rootfs 設定檔

參考前面章節 建立 Rootfs 其中的「四、設定 Rootfs」,
修改幾個檔案…
~/qemu_img/rootfs/etc/fstab
~/qemu_img/rootfs/etc/inittab
~/qemu_img/rootfs/etc/network/interfaces
~/qemu_img/rootfs/etc/resolv.conf
~/qemu_img/rootfs/etc/hostname

等 rootfs 完全整理好了,再一次全部 copy 到 /mnt/sdcard2 下。
rsync -av ~/qemu_img/rootfs/* /mnt/sdcard2

4. 做 sdcard 開機用 shell script

vi runsdcard.sh
qemu-system-arm -M beagle -m 512 -nographic -sd sdcard.img

5. 進入 U-Boot 開機進 ARM-Linux

run mmcargs
fatload mmc 0:1 0x80000000 uImage
bootm 0x80000000









沒有留言:

張貼留言