Raspberry Pi Arch Linux上的qemu最新sd映像
我试图建立一个Arch图像并使用qemu,以便在将图像加载到Pi之前交叉编译一些东西。我认为最简单的方法是qemu最新的入门图片,准备好我需要的任何东西,然后在我完成后将其添加到Pi上 我从下载了Arch图像,并希望在Qemu下运行它,类似于 我在他们提供的qemu命令行上尝试了许多变体Raspberry Pi Arch Linux上的qemu最新sd映像,linux,raspberry-pi,qemu,raspbian,Linux,Raspberry Pi,Qemu,Raspbian,我试图建立一个Arch图像并使用qemu,以便在将图像加载到Pi之前交叉编译一些东西。我认为最简单的方法是qemu最新的入门图片,准备好我需要的任何东西,然后在我完成后将其添加到Pi上 我从下载了Arch图像,并希望在Qemu下运行它,类似于 我在他们提供的qemu命令行上尝试了许多变体 qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "
qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root=/dev/sda2 panic=1" -hda 2013-05-25-wheezy-raspbian.img
替换archlinux-hf-2013-07-22.img。但这最终导致“内核死机-不同步:找不到init。请尝试将init=选项传递给内核”
我确信这意味着我下载的内核qemu不能与Arch映像一起工作,但我不确定解决这个问题的正确方法
编辑:
当我使用上面的命令行时,即使是最新的Raspbian映像内核也会感到恐慌。我想这不应该让我感到惊讶,因为它很可能是一个旧内核
因此,我想我真正的问题是,如何使用映像中包含的任何内核,而不必构建自己的内核?如果是archlinux-hf-2013-07-22.img 这里有三个聚会。 您可以使用
fdisk-l archlinux-hf-2013-07-22.img
rootfs位于sd5中,即第5部分。
因此,传递此参数“root=/dev/sda5 panic=1”,它将完美启动。在
2013-05-25-wheezy-raspbian.img中
您可以对两个映像使用相同的内核
这里您必须对ld.so.preload进行注释,这将加载一些共享库,而这些库将无法登录。所以内核恐慌
注意:-“root=/dev/sda2 panic=1”仅传递此参数。
您可以通过执行以下操作对其进行评论
sudo kpartx-av 2013-05-25-wheezy-raspbian.img
mkdir tmp
sudo挂载/dev/mapper/loop0p2 tmp/
cd-tmp/etc
sudo vi ld.so.preload
/usr/lib/armlinux gnueabihf/libcofi_rpi.so
评论
#/usr/lib/arm-linux-gnueabihf/libcofi\u-rpi.so
umount/dev/mapper/loop0p2
kpartx-d 2013-05-25-wheezy-raspbian.img
然后运行qemu
qemu系统arm-内核qemu-cpu arm1176-m 256-m versatilepb-无需重新启动-串行stdio-附加“root=/dev/sda2 panic=1”-hda 2013-05-25-wheezy-raspbian.img
这将完美地启动,没有任何问题对不起,我还没有检查。我最终只是使用Pi进行编译,但会检查这一点,因为将来可能需要使用qemu。使用kpartx注释ld.so.preload中的行,允许我在Linux Mint 17中的qemu上启动Raspbian。这很有效。也许将内容与其他答案结合起来?谢谢。Xecdesign是404,注释发现您需要注释掉/etc/ld.so.preload,以便qemu为raspbian开发raspberry pi。