RaspberryPi上的Qemu Debian x86

时间:2018-08-17 12:26:50

标签: raspberry-pi qemu

我想在Raspberry Pi上使用i386QEMU创建chroot环境。 我正在使用Raspberry Pi ver B,但是我认为使用哪个版本都没关系。

到目前为止,我做到了:

apt-get install qemu qemu-user qemu-user-static binfmt-support debootstrap binutils

然后我将chroot目录安装到/tmp/mnt并运行:

sudo debootstrap --foreign --arch i386 buster  ./ http://deb.debian.org/debian/

然后我挂载:

mount -t sysfs /sys /tmp/mnt/sys/
mount -t proc /proc /tmp/mnt/proc/
mount –bind /dev /tmp/mnt/dev/
mount –bind /dev/pts /tmp/mnt/dev/pts/
mount –bind /dev/shm /tmp/mnt/dev/shm/

现在,当我尝试运行debootstrap的第二阶段时:

sudo chroot ./ ./debootstrap/debootstrap --second-stage

我收到以下错误消息:

W: Failure trying to run:  /sbin/ldconfig
W: See //debootstrap/debootstrap.log for details

我检查了debootstrap/debootstrap.log

qemu: uncaught target signal 11 (Segmentation fault) - core dumped 
Segmentation fault

实际上,当我尝试sudo chroot ./ ./sbin/ldconfig时,遇到相同的Seg错误。 但是当我尝试sudo chroot ./ ./bin/bash时,它会起作用。

我不确定下一步应该做什么。

我想这与我的qemu配置或版本有关(我正在使用version 2.8.1(Debian 1:2.8+dfsg-6+deb9u4))。我检查了许多有关类似问题的线程,但找不到能帮助我找到解决方案的线程。

2 个答案:

答案 0 :(得分:2)

好的,我想我明白了。

当我在stretch命令中选择debootstrap作为Debian版本时,它可以工作。

sudo debootstrap --foreign --arch i386 stretch  ./ http://deb.debian.org/debian/

现在,当我考虑得更多时,这是有道理的。我猜想在chroot中运行i386 Debian不能与主机操作系统完全隔离(我安装了procsys等)。

答案 1 :(得分:1)

我在运行Raspbian Buster时遇到了完全相同的问题;更改Debian Stretch时问题消失了。

所以从某种意义上讲,i386存储库中的ldconfig不能与qermu-i386-static模拟器一起使用,但是可以在拉伸状态下工作!

与主机系统无关。...