忘れないようにメモっとこうという程度なので大したことはしてないです。
aarch64やarmhfpのイメージはIndex of /pub/Linux/Fedora/releasesから取得したとします。
qemuのバージョン
ホストはx86_64なFedora 29で、qemuは3.0.0になります。
masami@saga:~/arm/aarch64$ rpm -qa | grep qemu-system qemu-system-arm-core-3.0.0-1.fc29.x86_64 qemu-system-x86-3.0.0-1.fc29.x86_64 qemu-system-x86-core-3.0.0-1.fc29.x86_64 qemu-system-aarch64-core-3.0.0-1.fc29.x86_64 qemu-system-arm-3.0.0-1.fc29.x86_64 qemu-system-aarch64-3.0.0-1.fc29.x86_64
あとこの辺も必要かと思います。
masami@saga:~/arm/aarch64$ rpm -qa | grep edk2 edk2-aarch64-20180815gitcb5f4f45ce-1.fc29.noarch edk2-ovmf-20180815gitcb5f4f45ce-1.fc29.noarch
aarch64
イメージはxz形式で圧縮されているのでまずは展開します。
masami@saga:~/arm/aarch64$ xz -dc Fedora-Server-28-1.1.aarch64.raw.xz > Fedora-Server-28-1.1.aarch64.raw
そして、カーネルやコマンド諸々込みのファイルができるのですが、これをそのまま使ってもログイン可能なユーザーもいないし、rootログインできないのでまずはrootのパスワードを設定します。ここでは virt-customizeというコマンドを使います。これはlibguestfs-toolsってパッケージをインストールすると使えます。
masami@saga:~/arm/aarch64$ virt-customize --root-password file:./rootpw.txt -a Fedora-Server-28-1.1.aarch64.raw [ 0.0] Examining the guest ... [ 16.3] Setting a random seed [ 16.4] Setting the machine ID in /etc/machine-id [ 16.4] Setting passwords [ 17.7] Finishing off
このコマンドのオプションが見たままですがrootのパスワードを設定しています。パスワードはrootpw.txtってファイルに書いてます。このファイルの1行目に平文でパスワードを記述します。このコマンドでユーザー作ったりも出来ます。 それはともかく、これでrootログインできるようになったので後はvirt-installでインストールします。
ディスクイメージを/var/lib/libvirt/imagesに置き、以下のような感じでインストールします。これが最低限なコマンドラインオプションかと思います。
masami@saga:~/arm/aarch64$ sudo virt-install --name fedora28-aarch64 --ram 4096 --arch aarch64 --import --os-variant fedora22 --disk /var/lib/libvirt/images/Fedora-Server-28-1.1.aarch64.raw --boot uefi
armhfp版との違いとして--bootでufeiを指定してるというのがあります。armhfpの場合だとvmlinuzとかinitrdの指定があります。
あとはしばらく待っていればログインプロンプトが表示されるのでidをroot、パスワードは先程設定したものを入力すればログインできます(∩´∀`)∩ワーイ
[ OK ] Started Update UTMP about System Runlevel Changes. Fedora 28 (Server Edition) Kernel 4.16.3-301.fc28.aarch64 on an aarch64 (ttyAMA0) Admin Console: https://192.168.122.223:9090/ or https://[fe80::27d2:fdd6:dc02:4ab]:9090/ localhost login: root Password: [root@localhost ~]# uname -a Linux localhost.localdomain 4.16.3-301.fc28.aarch64 #1 SMP Mon Apr 23 21:45:59 UTC 2018 aarch64 aarch64 aarch64 GNU/Linux
また、サーバ版はCockpitが動いているのでAdmin Console: ~と書かれているURLにブラウザでアクセスすればブラウザからでも端末エミュレータが使えます。
armhfp
aarch64とも多少違うのでこちらもメモしておきます。基本的にはArchitectures/ARM/F28/Installation - Fedora Project Wikiの手順に沿えば良いのですが、qemuのバージョンが3.0.0の場合(今後はわかりません)はwikiの手順だけだとBug 1633328 – Armv7 guest fails to boot with qemu-3.0.0-1に書かれているように以下のようなワーニングが出てインストール完了しません。
[ 51.049803] audit: type=1130 audit(1541508483.457:11): pid=1 uid=0 auid=4294967295 ses=4294967295 subj=kernel msg='unit=systemd-tmpfiles-setup comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success' [ OK ] Reached target System Initialization. [ OK ] Reached target Basic System. [ 371.409670] dracut-initqueue[338]: Warning: dracut-initqueue timeout - starting timeout scripts [ 373.553982] dracut-initqueue[338]: Warning: dracut-initqueue timeout - starting timeout scripts [ 374.886815] dracut-initqueue[338]: Warning: dracut-initqueue timeout - starting timeout scripts [ 376.308904] dracut-initqueue[338]: Warning: dracut-initqueue timeout - starting timeout scripts [ 377.638877] dracut-initqueue[338]: Warning: dracut-initqueue timeout - starting timeout scripts
そのため、commentの14に書かれているようにvirt-installに--qemu-commandline='-machine highmem=off というオプションを追加します。よって、virt-installのコマンドラインはこんなふうになります。
sudo virt-install --name fedora28-armhfp --ram 1024 --arch armv7l \ --import --os-variant fedora22 \ --disk /var/lib/libvirt/images/Fedora-Minimal-armhfp-28-1.1-sda.raw \ --boot kernel=/var/lib/libvirt/images/vmlinuz-4.16.3-301.fc28.armv7hl,initrd=/var/lib/libvirt/images/initramfs-4.16.3-301.fc28.armv7hl.img,kernel_args="console=ttyAMA0 rw root=LABEL=_/ rootwait" --qemu-commandline='-machine highmem=off'
こちらもvirt-installの前にvirt-customizeでrootのパスワードを設定しておく必要があります。
ゲストへの接続
普通にvirsh console ゲスト名で接続できます。
その他
armhfpのほうはhighmem=offなどの設定が必要なのが注意事項ですね ( ´ー`)フゥー...
- 作者: 出村成和
- 出版社/メーカー: シーアンドアール研究所
- 発売日: 2013/06/22
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (5件) を見る