在Raspberry Pi上尝试在x86 chroot环境下运行Wine时出现总线错误

在Raspberry Pi上尝试在x86 chroot环境下运行Wine时出现总线错误,x86,arm,cross-platform,chroot,x86-emulation,X86,Arm,Cross Platform,Chroot,X86 Emulation,在进行了一些修改(我使用/x86/作为chroot目录,并通过apt-get安装了wine)之后,尝试运行winecfg只会返回“总线错误” 这是在树莓皮4上运行的。该错误是如此非描述性,以致于我的故障排除尝试无法取得任何进展 下面是我为安装此命令而运行的每个命令的完整列表: sudo-apt-get-update 升级 sudo apt get update&&sudo apt get install qemu qemu用户qemu用户静态binfmt支持debootstrap binutil

在进行了一些修改(我使用/x86/作为chroot目录,并通过
apt-get
安装了wine)之后,尝试运行
winecfg
只会返回“总线错误”

这是在树莓皮4上运行的。该错误是如此非描述性,以致于我的故障排除尝试无法取得任何进展

下面是我为安装此命令而运行的每个命令的完整列表:

sudo-apt-get-update
升级
sudo apt get update&&sudo apt get install qemu qemu用户qemu用户静态binfmt支持debootstrap binutils
sudomkdir/x86/
sudo debootstrap--国外--arch i386拉伸/x86http://ftp.us.debian.org/debian
sudo挂载-t sysfs sys/x86/sys/
sudo挂载-t proc/x86/proc/
sudo挂载——bind/dev/x86/dev/
sudo挂载——bind/dev/pts/x86/dev/pts/
sudo挂载——bind/dev/shm/x86/dev/shm/
sudo cp/usr/bin/qemu-i386-static/x86/usr/bin/
sudo chroot/x86//debootstrap/debootstrap——第二阶段
sudo chroot/x86//bin/su-l root
echo“export LANGUAGE='C'”>.bashrc
echo“export LC\u ALL='C'”>.bashrc
echo“导出显示=:0”>>.bashrc
source~/.bashrc
apt更新
adduser-uid1000 pi
apt安装叶垫
出口
sudo chroot/x86//bin/su-l pi
echo“export LANGUAGE='C'”>.bashrc
echo“export LC\u ALL='C'”>.bashrc
echo“导出显示=:01”>>.bashrc
source~/.bashrc
出口
sudo chroot/x86//bin/su-l root
装酒
出口
sudo chroot/x86//bin/su-l pi
winecfg

当我尝试运行
winecfg
或使用wine运行东西时,我只收到错误总线错误

来自Raspbian Buster存储库的qemu二进制文件来自一个带有一组不幸错误的较旧源版本

一种解决方法是修改您的过程,使用x86_64 chroot[1]来使用
qemu-x86_64-static
wine64

或者,您可以从源代码构建较新版本的
qemu-i386-user
。如果您有Debian Buster x86_64系统,交叉编译说明如下:

git克隆git://git.qemu-project.org/qemu.git
cd qemu
sudo dpkg——添加架构armhf
更新源
sudo-apt-get-install-y g++-arm-linux-gnueabihf-flex-bison-libglib2.0-dev:armhf
./configure--cross prefix=arm linux gnueabihf--prefix=$(pwd)/usr--static--target list=“i386 linux用户x86_64-linux-user”--启用linux用户--禁用系统
制作和制作安装(&M)
cd-usr/bin
对于f in*;执行mv$f$f-static;完成
引用的线程还包含指向此类构建的链接以进行测试


[1]

我假设qemu没有像WINE所期望的那样模拟真实x86系统的所有细节。看起来您正在使用qemu用户;你们有并没有在谷歌上搜索过qemu用户是否支持WINE,或者已经知道WINE不起作用?根据我的说法,也许吧。如果您想调试WINE和/或qemu,请尝试使用
strace
来了解当它引发SIGBUS时系统调用了什么
winecfg
,或者如果由于(来宾)用户空间操作而发生了这种情况,系统调用了什么。