编译uboot
编译内核
用mkimage制作文件
mkimage -n 'linux-2.6.14' -A arm -O linux -T kernel -C none -a 0x60008000 -e 0x60008000 -d zImage zImage.img
制作ext2格式的sd卡
dd if=/dev/zero of=a9rootfs.ext2 bs=1M count=32
mkfs.ext2 a9rootfs.ext2
sudo mkdir tmpfs
sudo mount -t ext2 a9rootfs.ext2 tmpfs/ -o loop
sudo cp zImage.img //将用mkimage制作好的内核文件拷到此处
sudo umount tmpfs
启动qemu,
qemu-system-arm -M vexpress-a9 -m 256M -nographic -kernel u-boot -sd a9rootfs.ext2
在qemu环境下:
=> ext2load mmc 0 60008000 zImage.img
1965048 bytes read in 1225 ms (1.5 MiB/s)
=> bootm 60008000
Image Name: linux-2.6.14
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1964984 Bytes = 1.9 MiB
Load Address: 60008000
Entry Point: 60008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
Starting kernel ...
Booting Linux on physical CPU 0x0
Initializing cgroup subsys cpuset
Linux version 3.16.39 (book@book-virtual-machine) (gcc versio

本文介绍了如何在Ubuntu环境下使用QEMU模拟ARM架构,详细步骤包括编译U-Boot和内核,用mkimage制作文件,创建ext2格式的SD卡,将内核文件复制到SD卡,并通过qemu-system-arm启动。在QEMU中成功加载了内核,但遇到了无法挂载根文件系统的错误。

4182

被折叠的 条评论
为什么被折叠?



