QEMUであそブログ(仮)

QEMUで遊びます。それだけだと、ネタが無くなると思いますので、それ以外にも書くかもしれません。

QEMU上のUbuntu 18.04 LTS (Arm64) にDesktop(Fluxbox)をインストールする

今回は、下の記事で起動したUbuntuにDesktop(Fluxbox)をインストールしていきたいと思います。普通のDesktopより大分軽いはずです。

qemu.hateblo.jp

上の記事のイメージのハードディスク容量は2GBしかなくて小さいので、8GBまで大きくします。(必要ならもっと大きくしてもいいです)

ターミナル上で、~/qemu/Ubuntu18Arm64 ディレクトリに移動して、下のコマンドでイメージのサイズを大きくします。

qemu-img resize bionic-server-cloudimg-arm64.img 8G

下のサイトからqemu-efi-aarch64のパッケージをダウンロードします。(どこからでもいいですが、ftp.jp.debian.org/debianをクリックします)

packages.debian.org

debファイルがダウンロードできたら、解凍して中からQEMU_EFI.fd(bios)を取り出します。(data.tar.xzの中のusr/share/qemu-efi-aarch64 にあります)

取り出したQEMU_EFI.fdを ~/qemu/Ubuntu18Arm64 ディレクトリにコピーします。

f:id:itlab7:20210920074953p:plain

下のコマンドでQEMU上のUbuntuを起動します。

qemu-system-aarch64 -m 4096 -smp 2 -cpu cortex-a53 -machine virt-6.1 -bios QEMU_EFI.fd -boot menu=on -name Ubuntu18_04_Arm64 -drive if=none,id=ubuntu_img,file=bionic-server-cloudimg-arm64.img -device virtio-blk-device,drive=ubuntu_img -initrd initrd.img-4.15.0-147-generic -kernel vmlinuz-4.15.0-147-generic -append "root=/dev/vda1 rw rootwait mem=4096M console=ttyS0 console=ttyAMA0,38400n8 init=/usr/lib/cloud-init/uncloud-init ds=nocloud" -netdev user,id=user_net -device virtio-net-device,netdev=user_net -device ramfb -device nec-usb-xhci -device usb-tablet -device virtio-keyboard-pci

メニューの [View] - [serial0] でシリアルに切り替えることができます。[View] - [ramfb] でディスプレイに戻せます。

シリアル側でログインして(ユーザ名:ubuntu パスワード:ubuntu) df コマンドを実行したら、8GBに増えているはずが、何故か増えていません。

f:id:itlab7:20210920083330p:plain

下のコマンドで一旦シャットダウンします。

sudo shutdown -h now

ターミナル上で、もう一度下のコマンドでイメージのサイズを変更してみます。

qemu-img resize bionic-server-cloudimg-arm64.img 8G

下のコマンドでイメージの情報を確認します。

qemu-img info bionic-server-cloudimg-arm64.img

f:id:itlab7:20210920084302p:plain

確かに8GBになっています。

下のコマンドでもう一度QEMUを起動します。

qemu-system-aarch64 -m 4096 -smp 2 -cpu cortex-a53 -machine virt-6.1 -bios QEMU_EFI.fd -boot menu=on -name Ubuntu18_04_Arm64 -drive if=none,id=ubuntu_img,file=bionic-server-cloudimg-arm64.img -device virtio-blk-device,drive=ubuntu_img -initrd initrd.img-4.15.0-147-generic -kernel vmlinuz-4.15.0-147-generic -append "root=/dev/vda1 rw rootwait mem=4096M console=ttyS0 console=ttyAMA0,38400n8 init=/usr/lib/cloud-init/uncloud-init ds=nocloud" -netdev user,id=user_net -device virtio-net-device,netdev=user_net -device ramfb -device nec-usb-xhci -device usb-tablet -device virtio-keyboard-pci

シリアル側でログインして、dfコマンドを実行します。

f:id:itlab7:20210920085933p:plain

8GBに増えました。

下のコマンドでDesktop (Fluxbox)をインストールします。

sudo apt install fluxbox

y を押してEnterを押して、待つこと数分。インストール完了しました。エラーも無しです。

f:id:itlab7:20210920090650p:plain

Fluxbox を起動できるように、下のコマンドで .xsession ファイルを編集します。

nano .xsession

内容は、下のようにします。

exec startfluxbox

f:id:itlab7:20210920091026p:plain

control + X, Y, Enter と押すことで、セーブして終了できます。

次のコマンドで X Window System をインストールします。

sudo apt install xinit

数分で終わりました。

f:id:itlab7:20210920092124p:plain

次のコマンドで xterm をインストールします。

sudo apt install xterm

次のコマンドで一旦ログオフします。

exit

メニューの[View] - [ramfb] でディスプレイ側に切り替えて、ログインします。

下のコマンドでX Window Systemを起動します。

startx

Fluxboxが起動しました。右クリックして、[Applications] - [Shells] - [Bash] でxtermが出てきます。

f:id:itlab7:20210920093445p:plain

約1.4GBのArm64用Ubuntu Desktopが動きました!

下のコマンドでxrandrが使えるようにします。

sudo apt install x11-xserver-utils

xrandr を実行してみると、画面の解像度は800x600のみのようです。

f:id:itlab7:20210920094628p:plain

下のコマンドでキーボードレイアウトを日本語にします。

setxkbmap jp

今回は以上です。