首先,Ubuntu20已不支持32位x86,参考:
http://blog.itpub.net/31560522/viewspace-2638443/
WSL2+Ubuntu18.04运行32位x86程序的方法:
#需要安装qemu-user-static软件包,添加i386 binfmt,启用i386体系结构
sudo apt update
sudo apt install qemu-user-static
sudo update-binfmts --install i386 /usr/bin/qemu-i386-static --magic '\x7fELF\x01\x01\x01\x03\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\x03\x00\x01\x00\x00\x00' --mask '\xff\xff\xff\xff\xff\xff\xff\xfc\xff\xff\xff\xff\xff\xff\xff\xff\xf8\xff\xff\xff\xff\xff\xff\xff'
#启用i386架构和软件包
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install gcc:i386
#每次重新启动WSL并需要i386支持时,都需要重新激活此功能:
sudo service binfmt-support start
#测试:
#以安装海思Hi3518E交叉编译工具链为例(未启用i386前)
$ arm-hisiv300-linux-gcc -v
-bash: /opt/hisi-linux/x86-arm/arm-hisiv300-linux/t