一、將 rootfs 植入到 sdcard.img
0. 準備材料
參考前面文章 建立虛擬 SD Cardsdcard1 要有以下檔案:
MLO、u-boot、u-boot.bin、u-boot.img、uImage
參考文章 建立 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
沒有留言:
張貼留言