RaspberryPi 上的 Qemu Debian x86

Mic*_*hal 3 qemu raspberry-pi

我想创造i386环境QEMU环境chroot \n我使用的是 Raspberry Pi ver B,但我想使用哪个版本应该不重要。

\n\n

到目前为止我做了:

\n\n
apt-get install qemu qemu-user qemu-user-static binfmt-support debootstrap binutils\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n
sudo debootstrap --foreign --arch i386 buster  ./ http://deb.debian.org/debian/\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后我安装了:

\n\n
mount -t sysfs /sys /tmp/mnt/sys/\nmount -t proc /proc /tmp/mnt/proc/\nmount \xe2\x80\x93bind /dev /tmp/mnt/dev/\nmount \xe2\x80\x93bind /dev/pts /tmp/mnt/dev/pts/\nmount \xe2\x80\x93bind /dev/shm /tmp/mnt/dev/shm/\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n
sudo chroot ./ ./debootstrap/debootstrap --second-stage\n
Run Code Online (Sandbox Code Playgroud)\n\n

我收到以下错误消息:

\n\n
W: Failure trying to run:  /sbin/ldconfig\nW: See //debootstrap/debootstrap.log for details\n
Run Code Online (Sandbox Code Playgroud)\n\n

我检查了debootstrap/debootstrap.log

\n\n
qemu: uncaught target signal 11 (Segmentation fault) - core dumped \nSegmentation fault\n
Run Code Online (Sandbox Code Playgroud)\n\n

事实上,当我尝试时sudo chroot ./ ./sbin/ldconfig,我遇到了相同的段错误。\n但是当我尝试时sudo chroot ./ ./bin/bash它起作用了。

\n\n

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

\n\n

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

\n

小智 5

我在运行 Raspbian Buster 时遇到了完全相同的问题;当 chroot Debian Stretch 时,问题就消失了。

因此,不知何故,i386 存储库中的 ldconfig 无法与 buster 上的 qemu-i386-static 模拟器一起使用,但它可以在拉伸上工作!

与主机系统无关....