目次
Native PC 用 DietPi を UEFI セキュアブートの KVM で動かす
Fedora に KVM をインストール
$ grep -oE ' (svm|vmx) ' /proc/cpuinfo
vmx vmx vmx vmx vmx vmx vmx vmx
$ sudo dnf install qemu-kvm libvirt virt-install virt-manager virt-viewer bridge-utils
メタデータの期限切れの最終確認: 1:01:17 時間前の 2022年08月29日 14時41分14秒 に実施しました。
パッケージ qemu-kvm-2:6.2.0-14.fc36.x86_64 は既にインストールされています。
依存関係が解決しました。
==============================================================================================================
パッケージ アーキテクチャー バージョン リポジトリー サイズ
==============================================================================================================
インストール:
bridge-utils x86_64 1.7.1-4.fc36 fedora 35 k
libvirt x86_64 8.1.0-2.fc36 fedora 12 k
virt-install noarch 4.0.0-1.fc36 fedora 40 k
virt-manager noarch 4.0.0-1.fc36 fedora 530 k
virt-viewer x86_64 11.0-2.fc36 fedora 321 k
依存関係のインストール:
kde-filesystem x86_64 4-67.fc36 fedora 43 k
kf5-filesystem x86_64 5.97.0-2.fc36 updates 11 k
libburn x86_64 1.5.4-4.fc36 fedora 173 k
libgovirt x86_64 0.3.8-3.fc36 fedora 86 k
libisoburn x86_64 1.5.4-4.fc36 fedora 413 k
libisofs x86_64 1.5.4-3.fc36 fedora 225 k
libvirt-client x86_64 8.1.0-2.fc36 fedora 383 k
libvirt-daemon-config-nwfilter x86_64 8.1.0-2.fc36 fedora 20 k
libvirt-daemon-driver-libxl x86_64 8.1.0-2.fc36 fedora 264 k
libvirt-daemon-driver-lxc x86_64 8.1.0-2.fc36 fedora 276 k
libvirt-daemon-driver-vbox x86_64 8.1.0-2.fc36 fedora 242 k
python3-libvirt x86_64 8.0.0-2.fc36 fedora 318 k
virt-manager-common noarch 4.0.0-1.fc36 fedora 1.0 M
xorriso x86_64 1.5.4-4.fc36 fedora 315 k
トランザクションの概要
==============================================================================================================
インストール 19 パッケージ
ダウンロードサイズの合計: 4.6 M
インストール後のサイズ: 17 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/19): kde-filesystem-4-67.fc36.x86_64.rpm 182 kB/s | 43 kB 00:00
(2/19): bridge-utils-1.7.1-4.fc36.x86_64.rpm 128 kB/s | 35 kB 00:00
(3/19): libburn-1.5.4-4.fc36.x86_64.rpm 479 kB/s | 173 kB 00:00
(4/19): libgovirt-0.3.8-3.fc36.x86_64.rpm 558 kB/s | 86 kB 00:00
(5/19): libvirt-8.1.0-2.fc36.x86_64.rpm 108 kB/s | 12 kB 00:00
(6/19): libisofs-1.5.4-3.fc36.x86_64.rpm 1.2 MB/s | 225 kB 00:00
(7/19): libisoburn-1.5.4-4.fc36.x86_64.rpm 1.2 MB/s | 413 kB 00:00
(8/19): libvirt-daemon-config-nwfilter-8.1.0-2.fc36.x86_64.rpm 202 kB/s | 20 kB 00:00
(9/19): libvirt-client-8.1.0-2.fc36.x86_64.rpm 1.4 MB/s | 383 kB 00:00
(10/19): libvirt-daemon-driver-lxc-8.1.0-2.fc36.x86_64.rpm 1.4 MB/s | 276 kB 00:00
(11/19): libvirt-daemon-driver-libxl-8.1.0-2.fc36.x86_64.rpm 956 kB/s | 264 kB 00:00
(12/19): libvirt-daemon-driver-vbox-8.1.0-2.fc36.x86_64.rpm 1.4 MB/s | 242 kB 00:00
(13/19): virt-install-4.0.0-1.fc36.noarch.rpm 280 kB/s | 40 kB 00:00
(14/19): python3-libvirt-8.0.0-2.fc36.x86_64.rpm 1.1 MB/s | 318 kB 00:00
(15/19): virt-manager-4.0.0-1.fc36.noarch.rpm 870 kB/s | 530 kB 00:00
(16/19): virt-viewer-11.0-2.fc36.x86_64.rpm 537 kB/s | 321 kB 00:00
(17/19): virt-manager-common-4.0.0-1.fc36.noarch.rpm 1.3 MB/s | 1.0 MB 00:00
(18/19): xorriso-1.5.4-4.fc36.x86_64.rpm 1.0 MB/s | 315 kB 00:00
(19/19): kf5-filesystem-5.97.0-2.fc36.x86_64.rpm 6.9 kB/s | 11 kB 00:01
--------------------------------------------------------------------------------------------------------------
合計 1.0 MB/s | 4.6 MB 00:04
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
準備 : 1/1
インストール中 : libvirt-client-8.1.0-2.fc36.x86_64 1/19
インストール中 : kf5-filesystem-5.97.0-2.fc36.x86_64 2/19
インストール中 : python3-libvirt-8.0.0-2.fc36.x86_64 3/19
scriptletの実行中: libvirt-daemon-driver-vbox-8.1.0-2.fc36.x86_64 4/19
インストール中 : libvirt-daemon-driver-vbox-8.1.0-2.fc36.x86_64 4/19
scriptletの実行中: libvirt-daemon-driver-vbox-8.1.0-2.fc36.x86_64 4/19
scriptletの実行中: libvirt-daemon-driver-lxc-8.1.0-2.fc36.x86_64 5/19
インストール中 : libvirt-daemon-driver-lxc-8.1.0-2.fc36.x86_64 5/19
scriptletの実行中: libvirt-daemon-driver-lxc-8.1.0-2.fc36.x86_64 5/19
Created symlink /etc/systemd/system/multi-user.target.wants/virtlxcd.service → /usr/lib/systemd/system/virtlxcd.service.
Created symlink /etc/systemd/system/sockets.target.wants/virtlxcd.socket → /usr/lib/systemd/system/virtlxcd.socket.
Created symlink /etc/systemd/system/sockets.target.wants/virtlxcd-ro.socket → /usr/lib/systemd/system/virtlxcd-ro.socket.
Created symlink /etc/systemd/system/sockets.target.wants/virtlxcd-admin.socket → /usr/lib/systemd/system/virtlxcd-admin.socket.
scriptletの実行中: libvirt-daemon-driver-libxl-8.1.0-2.fc36.x86_64 6/19
インストール中 : libvirt-daemon-driver-libxl-8.1.0-2.fc36.x86_64 6/19
scriptletの実行中: libvirt-daemon-driver-libxl-8.1.0-2.fc36.x86_64 6/19
Created symlink /etc/systemd/system/multi-user.target.wants/virtxend.service → /usr/lib/systemd/system/virtxend.service.
Created symlink /etc/systemd/system/sockets.target.wants/virtxend.socket → /usr/lib/systemd/system/virtxend.socket.
Created symlink /etc/systemd/system/sockets.target.wants/virtxend-ro.socket → /usr/lib/systemd/system/virtxend-ro.socket.
Created symlink /etc/systemd/system/sockets.target.wants/virtxend-admin.socket → /usr/lib/systemd/system/virtxend-admin.socket.
インストール中 : libvirt-daemon-config-nwfilter-8.1.0-2.fc36.x86_64 7/19
scriptletの実行中: libvirt-daemon-config-nwfilter-8.1.0-2.fc36.x86_64 7/19
インストール中 : libisofs-1.5.4-3.fc36.x86_64 8/19
インストール中 : libgovirt-0.3.8-3.fc36.x86_64 9/19
インストール中 : libburn-1.5.4-4.fc36.x86_64 10/19
インストール中 : libisoburn-1.5.4-4.fc36.x86_64 11/19
インストール中 : kde-filesystem-4-67.fc36.x86_64 12/19
インストール中 : xorriso-1.5.4-4.fc36.x86_64 13/19
scriptletの実行中: xorriso-1.5.4-4.fc36.x86_64 13/19
インストール中 : virt-manager-common-4.0.0-1.fc36.noarch 14/19
インストール中 : virt-install-4.0.0-1.fc36.noarch 15/19
インストール中 : virt-manager-4.0.0-1.fc36.noarch 16/19
インストール中 : virt-viewer-11.0-2.fc36.x86_64 17/19
インストール中 : libvirt-8.1.0-2.fc36.x86_64 18/19
インストール中 : bridge-utils-1.7.1-4.fc36.x86_64 19/19
scriptletの実行中: libvirt-daemon-driver-vbox-8.1.0-2.fc36.x86_64 19/19
scriptletの実行中: libvirt-daemon-driver-lxc-8.1.0-2.fc36.x86_64 19/19
scriptletの実行中: libvirt-daemon-driver-libxl-8.1.0-2.fc36.x86_64 19/19
scriptletの実行中: libvirt-daemon-config-nwfilter-8.1.0-2.fc36.x86_64 19/19
scriptletの実行中: bridge-utils-1.7.1-4.fc36.x86_64 19/19
検証 : bridge-utils-1.7.1-4.fc36.x86_64 1/19
検証 : kde-filesystem-4-67.fc36.x86_64 2/19
検証 : libburn-1.5.4-4.fc36.x86_64 3/19
検証 : libgovirt-0.3.8-3.fc36.x86_64 4/19
検証 : libisoburn-1.5.4-4.fc36.x86_64 5/19
検証 : libisofs-1.5.4-3.fc36.x86_64 6/19
検証 : libvirt-8.1.0-2.fc36.x86_64 7/19
検証 : libvirt-client-8.1.0-2.fc36.x86_64 8/19
検証 : libvirt-daemon-config-nwfilter-8.1.0-2.fc36.x86_64 9/19
検証 : libvirt-daemon-driver-libxl-8.1.0-2.fc36.x86_64 10/19
検証 : libvirt-daemon-driver-lxc-8.1.0-2.fc36.x86_64 11/19
検証 : libvirt-daemon-driver-vbox-8.1.0-2.fc36.x86_64 12/19
検証 : python3-libvirt-8.0.0-2.fc36.x86_64 13/19
検証 : virt-install-4.0.0-1.fc36.noarch 14/19
検証 : virt-manager-4.0.0-1.fc36.noarch 15/19
検証 : virt-manager-common-4.0.0-1.fc36.noarch 16/19
検証 : virt-viewer-11.0-2.fc36.x86_64 17/19
検証 : xorriso-1.5.4-4.fc36.x86_64 18/19
検証 : kf5-filesystem-5.97.0-2.fc36.x86_64 19/19
インストール済み:
bridge-utils-1.7.1-4.fc36.x86_64 kde-filesystem-4-67.fc36.x86_64
kf5-filesystem-5.97.0-2.fc36.x86_64 libburn-1.5.4-4.fc36.x86_64
libgovirt-0.3.8-3.fc36.x86_64 libisoburn-1.5.4-4.fc36.x86_64
libisofs-1.5.4-3.fc36.x86_64 libvirt-8.1.0-2.fc36.x86_64
libvirt-client-8.1.0-2.fc36.x86_64 libvirt-daemon-config-nwfilter-8.1.0-2.fc36.x86_64
libvirt-daemon-driver-libxl-8.1.0-2.fc36.x86_64 libvirt-daemon-driver-lxc-8.1.0-2.fc36.x86_64
libvirt-daemon-driver-vbox-8.1.0-2.fc36.x86_64 python3-libvirt-8.0.0-2.fc36.x86_64
virt-install-4.0.0-1.fc36.noarch virt-manager-4.0.0-1.fc36.noarch
virt-manager-common-4.0.0-1.fc36.noarch virt-viewer-11.0-2.fc36.x86_64
xorriso-1.5.4-4.fc36.x86_64
完了しました!
$ lsmod | grep kvm
kvm_intel 368640 0 kvm 1073152 1 kvm_intel irqbypass 16384 1 kvm
仮想マシンマネージャー (virt-manager) の起動確認🤔
[アクティビティ] - [アプリケーション] - [仮想マシンマネージャー] を起動する。
管理者の認証を行って、仮想マシンマネージャーが起動して QEMU/KVM に接続されていれば (未接続ではないこと) 利用可能である🤤
DietPi Native PC for UEFI をダウンロード
DietPi - Lightweight justice for your SBC!
ダウンロードするインストーライメージは 7zip 形式である🤔
$ curl -LO https://dietpi.com/downloads/images/DietPi_NativePC-UEFI-x86_64-Bullseye_Installer.7z
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 562M 100 562M 0 0 8150k 0 0:01:10 0:01:10 --:--:-- 7674k
7zip コマンド のインストールが必要です😊
$ sudo dnf install p7zip
メタデータの期限切れの最終確認: 4:25:22 時間前の 2022年08月29日 14時41分14秒 に実施しました。 依存関係が解決しました。 ============================================================================================================== パッケージ アーキテクチャー バージョン リポジトリー サイズ ============================================================================================================== インストール: p7zip x86_64 16.02-22.fc36 fedora 671 k トランザクションの概要 ============================================================================================================== インストール 1 パッケージ ダウンロードサイズの合計: 671 k インストール後のサイズ: 1.8 M これでよろしいですか? [y/N]: y パッケージのダウンロード: p7zip-16.02-22.fc36.x86_64.rpm 1.6 MB/s | 671 kB 00:00 -------------------------------------------------------------------------------------------------------------- 合計 362 kB/s | 671 kB 00:01 トランザクションの確認を実行中 トランザクションの確認に成功しました。 トランザクションのテストを実行中 トランザクションのテストに成功しました。 トランザクションを実行中 準備 : 1/1 インストール中 : p7zip-16.02-22.fc36.x86_64 1/1 scriptletの実行中: p7zip-16.02-22.fc36.x86_64 1/1 検証 : p7zip-16.02-22.fc36.x86_64 1/1 インストール済み: p7zip-16.02-22.fc36.x86_64 完了しました!
ダウンロードした 7z 形式の圧縮ファイルを DietPi_img
ディレクトリに解凍する🤤
$ 7za e -oDietPi_img DietPi_NativePC-UEFI-x86_64-Bullseye_Installer.7z
7-Zip (a) [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21 p7zip Version 16.02 (locale=ja_JP.UTF-8,Utf16=on,HugeFiles=on,64 bits,8 CPUs Intel(R) Core(TM) i7 CPU Q 740 @ 1.73GHz (106E5),ASM) Scanning the drive for archives: 1 file, 590193276 bytes (563 MiB) Extracting archive: DietPi_NativePC-UEFI-x86_64-Bullseye_Installer.7z -- Path = DietPi_NativePC-UEFI-x86_64-Bullseye_Installer.7z Type = 7z Physical Size = 590193276 Headers Size = 262 Method = LZMA2:26 Solid = + Blocks = 1 Everything is Ok Files: 3 Size: 611335304 Compressed: 590193276
解凍した中身を確認する🤔
$ ll DietPi_img/
合計 597012 -rw-r--r-- 1 tomoyan tomoyan 611319808 7月 31 23:47 DietPi_NativePC-UEFI-x86_64-Bullseye_Installer.iso -rw-r--r-- 1 tomoyan tomoyan 15237 7月 31 23:47 README.md -rw-r--r-- 1 tomoyan tomoyan 259 7月 31 23:47 hash.txt
QEMU KVM の UEFI ファームウェア
x86 QEMU/KVM 仮想マシンの UEFI は OVMF (Open Virtual Machine Firmware)と呼ばれている🤔
これは、UEFI リファレンス実装である EDK2 (EFI Development Kit - EFI 開発キット) に由来している。
Using UEFI with QEMU - Fedora Project Wiki より
Fedora リポジトリから UEFI for QEMU をインストールする
2016年6月以降 OVMF は Fedora リポジトリで利用可能である。インストールする必要がある RPM パッケージは edk2-ovmf
だけである🤔
おそらくすでにインストールされていので、セキュアブート用のファームウェア OVMF_CODE.secboot.fd
が含まれている😍
$ dnf list edk2-ovmf
メタデータの期限切れの最終確認: 0:22:02 時間前の 2022年08月30日 06時03分25秒 に実施しました。
インストール済みパッケージ
edk2-ovmf.noarch 20220526git16779ede2d36-4.fc36 @updates
$ dnf info edk2-ovmf
メタデータの期限切れの最終確認: 0:35:16 時間前の 2022年08月30日 06時03分25秒 に実施しました。
インストール済みパッケージ
名前 : edk2-ovmf
バージョン : 20220526git16779ede2d36
リリース : 4.fc36
Arch : noarch
サイズ : 15 M
ソース : edk2-20220526git16779ede2d36-4.fc36.src.rpm
リポジトリー : @System
repo から : updates
概要 : UEFI firmware for x86_64 virtual machines
URL : http://www.tianocore.org/ovmf/
ライセンス : BSD-2-Clause-Patent and OpenSSL
説明 : OVMF (Open Virtual Machine Firmware) is a project to enable UEFI support for
: Virtual Machines. This package contains a sample 64-bit UEFI firmware for QEMU
: and KVM.
$ rpm -ql edk2-ovmf
/usr/share/OVMF /usr/share/OVMF/OVMF_CODE.fd /usr/share/OVMF/OVMF_CODE.secboot.fd /usr/share/OVMF/OVMF_VARS.fd /usr/share/OVMF/OVMF_VARS.secboot.fd /usr/share/OVMF/UefiShell.iso /usr/share/doc/edk2-ovmf /usr/share/doc/edk2-ovmf/README /usr/share/doc/edk2-ovmf/ovmf-whitepaper-c770f8c.txt /usr/share/edk2 /usr/share/edk2/ovmf /usr/share/edk2/ovmf/EnrollDefaultKeys.efi /usr/share/edk2/ovmf/MICROVM.fd /usr/share/edk2/ovmf/OVMF.amdsev.fd /usr/share/edk2/ovmf/OVMF.inteltdx.fd /usr/share/edk2/ovmf/OVMF_CODE.cc.fd /usr/share/edk2/ovmf/OVMF_CODE.fd /usr/share/edk2/ovmf/OVMF_CODE.secboot.fd /usr/share/edk2/ovmf/OVMF_VARS.fd /usr/share/edk2/ovmf/OVMF_VARS.secboot.fd /usr/share/edk2/ovmf/Shell.efi /usr/share/edk2/ovmf/UefiShell.iso /usr/share/licenses/edk2-ovmf /usr/share/licenses/edk2-ovmf/LICENSE.openssl /usr/share/licenses/edk2-ovmf/License-History.txt /usr/share/licenses/edk2-ovmf/License.OvmfPkg.txt /usr/share/licenses/edk2-ovmf/License.txt| {{:linux:virt-manager_001.png?400|virt-manager 001}} | {{:linux:virt-manager_002.png?400|virt-manager 002}} | /usr/share/qemu /usr/share/qemu/firmware /usr/share/qemu/firmware/40-edk2-ovmf-sb.json /usr/share/qemu/firmware/50-edk2-ovmf-amdsev.json /usr/share/qemu/firmware/50-edk2-ovmf-cc.json /usr/share/qemu/firmware/50-edk2-ovmf-inteltdx.json /usr/share/qemu/firmware/50-edk2-ovmf.json /usr/share/qemu/firmware/60-edk2-ovmf-microvm.json /usr/share/qemu/firmware/60-edk2-ovmf-nosb.json
仮想マシンマネージャーによる UEFI ブート仮想マシンの作成
DietPi Native PC for UEFI のインストーラを QEMU/KVM で起動
参考文献
DietPi Install on KVM - VM Engine (KVM) - Unraid
第441回 QEMU/KVMでUEFIファームウェアを使う | gihyo.jp
Using UEFI with QEMU - Fedora Project Wiki