如何在qemu(arm versatile pb)下的u-boot中从胖分区加载内核

时间:2016-05-04 21:28:23

标签: linux-kernel arm freebsd qemu u-boot

我已添加到位于include / configs / versatile.h中的u-boot多功能pb配置文件中:

pw

将fatload命令添加到u-boot。所以我支持fatload命令。 我以这种方式开始你的启动:

#define CONFIG_CMD_FAT
#define CONFIG_DOS_PARTITION           1

现在的问题是如何传递包含内核胖文件系统的qemu文件(我对启动FreeBSD内核感兴趣,但我认为加载Linux的例子也可以帮助我)然后加载内核并在u-boot下启动它。

1 个答案:

答案 0 :(得分:3)

所以,这里的问题是versatilepb不支持U-Boot中的SD / MMC卡,所以你不能真的。但是,如果您想在另一台支持SD / MMC的设备上执行此操作(例如vexpress-a9),您可以这样做:

$ dd if=/dev/zero of=sd.bin bs=1k count=$((64  * 1024))
$ fdisk ./sd.bin
... create a partition

然后阅读loopback mounting individual partitions from within a file that contains a partition table on linux,了解如何使用losetup使该分区可用,格式化它,然后挂载和复制数据,就像它是真正的SD卡一样。然后:

$ qemu-system-arm -M vexpress-a9 -kernel vexpress_ca9x4/u-boot  -nographic -sd sd.bin

现在'mmc'命令将与sd.bin文件一起使用。