🚀

qemu-7.0.0 のビルド

2022/04/28に公開

jetson nanoのubuntu 18.04でやりました。
qemu-x86_64-static をソースコードからビルドしました。

ninja のインストール

qemuでは従来のmakeの代わりにninjaを使うように変更されています。
まずninjaをインストールします。

$ sudo apt install ninja-build

ソースの入手と展開

https://www.qemu.org/download/

$ tar xf qemu-7.0.0.tar.xz 
$ cd qemu-7.0.0/

必要なライブラリのインストール

このページを参考に /etc/apt/sources.list を編集します。
https://qiita.com/tetsu_koba/items/904b03e908b040ed447d

$ sudo vi /etc/apt/sources.list
$ sudo apt update
$ sudo apt build-dep qemu-user-static

ビルド

$ ./configure --target-list=x86_64-linux-user --static
$ make

--target-list=を指定しないと全種類がビルドされます。今回は必要なものだけ。
static linkされたものが欲しいので --static をつけました。

$ cd ./build
$ file qemu-x86_64
qemu-x86_64: ELF 64-bit LSB executable, ARM aarch64, version 1 (GNU/Linux), statically linked, for GNU/Linux 3.7.0, BuildID[sha1]=b75811bed9e3836ddc549380cc5df5af3376a5e3, with debug_info, not stripped
$ ./qemu-x86_64 --version
qemu-x86_64 version 7.0.0
Copyright (c) 2003-2022 Fabrice Bellard and the QEMU Project developers

stripしました。

$ cp qemu-x86_64{,.org}
$ strip qemu-x86_64
$ ls -lh qemu-x86_64{,.org}
-rwxrwxr-x 1 koba koba 6.3M  4月 28 21:23 qemu-x86_64
-rwxrwxr-x 1 koba koba  22M  4月 28 21:23 qemu-x86_64.org

/usr/bin/qemu-x86_64-static をさしかえ

$ sudo mv /usr/bin/qemu-x86_64{,.org}
$ sudo cp qemu-x86_64 /usr/bin/qemu-x86_64-static

追記

7.0.0はメジャーバージョンアップの一発目なので、さすがにまだ安定しない部分があるようです。
不定期にsegmentation fault が発生しました。
なので、ひとつ前の 6.2.0 も試しています。ビルドの手順は全く同じです。

Discussion