ubuntu linux 18.04 (arm64)でqemu-user-staticとchrootでubuntu linux 16.04 (i386)とx86バイナリをエミュレーションで動かす。

sudo apt install qemu-user-static
これでqemuとchrootの設定までされる。

#wget ubuntu-base-16.04.6-base-i386...
#tar xvjf ubuntu-base-16.04.6-base-i386…
sudo chown root:root ubuntu-base-16.04.6-base-i386
cd ubuntu-base-16.04.6-base-i386
cd usr/bin
sudo cp /usr/bin/qemu-static-i386 .
cd ../..

arm64からqemu-user-staticでi386にchrootすると/etc/resolv.confがあってもなぜかdnsが解決できない。/etc/hostsにdnsレコードを書くとネットワーク系のアプリケーションが動く
sudo echo 91.189.88.152 archive.ubuntu.com >> etc/hosts
sudo echo 91.189.88.142 security.ubuntu.com >> etc/hosts

このままだとxtermが動かないので

sudo mount -t sysfs sysfs ubuntu-base-16.04.6-base-i386/sys
sudo mount -t proc proc ubuntu-base-16.04.6-base-i386/proc
sudo mount -t devtmpfs udev ubuntu-base-16.04.6-base-i386/dev
sudo mount -t devpts devpts ubuntu-base-16.04.6-base-i386/dev/pts

あとはsudo chroot .

change rootされたシェルが立ち上がるので、

apt update
apt install xterm
DISPLAY=:0 xterm

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です