0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

qemuでmacにalmalinux9を入れる

Last updated at Posted at 2025-05-19

目的

macで自由度の高い無料のlinux仮想環境が欲しい!
UTMの使い方がよくわからん

ということでqemuを使ってmacにalmalinux9を入れましょう。

qemuって何

qemuはオープンソースの仮想環境を作るソフトです。
どのアーキテクチャのOSでも動かすことができる優れものです。
(本当はもっと高度なこともできるらしいけど知らない…)

準備

環境はm3 macです。

まずqemuをinstallします。(ここでは、brewで入れています)

brew install qemu

次に、ディスクを作ります。

qemu-img create -f qcow2 almalinux9.qcow2 20G

almalinux9を入れる

次に、almalinux9のisoイメージをダウンロードします。
公式からARM64(AArch64)用の「AlmaLinux OS 9.5 DVD ISO」をダウンロードしました。

次にqemuで起動するためのスクリプトを作ります。
launch-install.shとし、以下の内容で作りました。
覚えられるひとは直接ターミナルに入力してもいいです。

launch-install.sh
qemu-system-aarch64 \
  -m 4096 \
  -cpu cortex-a72 \
  -smp 4 \
  -monitor stdio \
  -device virtio-gpu-pci \
  -device nec-usb-xhci,id=xhci \
  -device usb-kbd \
  -device usb-tablet \
  -display cocoa \
  -machine virt \
  -bios /opt/homebrew/share/qemu/edk2-aarch64-code.fd \
  -cdrom ../ISO_images/AlmaLinux-9.5-aarch64-dvd.iso \
  -netdev user,id=net0,hostfwd=tcp::10022-:22 \
  -device virtio-net-device,netdev=net0 \
  -drive if=none,file=almalinux9.qcow2,format=qcow2,id=hd0 \
  -device virtio-blk-device,drive=hd0 \
  -boot order=d
各項目の解説 (分かる範囲での解説です)
  -m 4096 メモリ4GB
  -cpu cortex-a72 cpuの種類
  -smp 4 4コア使う
  -monitor stdio qemuの出力を標準出力にいれる
  -device virtio-gpu-pci pci接続のgpuを設定
  -device nec-usb-xhci,id=xhci usbの設定
  -device usb-kbd キーボード
  -device usb-tablet マウス
  -display cocoa 画面出力にcocoa
  -machine virt わからん
  -bios /opt/homebrew/share/qemu/edk2-aarch64-code.fd biosの設定
  -cdrom ../ISO_images/AlmaLinux-9.5-aarch64-dvd.iso インストールisoの設定
  -netdev user,id=net0,hostfwd=tcp::10022-:22 ホストからsshできるようにポートを設定
  -device virtio-net-device,netdev=net0 ネットワークの設定
  -drive if=none,file=almalinux9.qcow2,format=qcow2,id=hd0 hddの設定
  -device virtio-blk-device,drive=hd0 
  -boot order=d  起動をiso優先にする

実行します

./launch-install.sh

これで、almalinxをインストールするかどうか聞かれます。
「install almalinx」を選択します。
スクリーンショット 2025-05-13 22.29.12.png

この後、output display is not activeと表示されますが、数分待つとインストール画面が現れます。
スクリーンショット 2025-05-13 22.29.35.png
インストール画面
スクリーンショット 2025-05-13 22.31.20.png
※縮尺がおかしかったらメニューのviewからfitを選ぶ

installが完了するとrebootボタンを押す指示があるので、そのまま押します。なお、インストールには結構時間がかかります。私の場合は1時間ぐらい。
自動的に再起動されて、almalinuxが立ち上がります。
※再度almalinuxのインストール画面になってしまったら、launch.shを実行したあとのターミナルに

(qemu) quit

といれて強制終了できます。

通常の起動

インストールした後はインストールディスクを外して起動します。
launch.shから該当箇所を削除します。

インストールディスクを外したlaunch.sh
qemu-system-aarch64 \
  -m 4096 \
  -cpu cortex-a72 \
  -smp 4 \
  -monitor stdio \
  -device virtio-gpu-pci \
  -device nec-usb-xhci,id=xhci \
  -device usb-kbd \
  -device usb-tablet \
  -display cocoa \
  -machine virt \
  -bios /opt/homebrew/share/qemu/edk2-aarch64-code.fd \
  -netdev user,id=net0,hostfwd=tcp::10022-:22 \
  -device virtio-net-device,netdev=net0 \
  -drive if=none,file=almalinux9.qcow2,format=qcow2,id=hd0 \
  -device virtio-blk-device,drive=hd0 \

ターミナルから

./launch.sh

としてしばらく待つと起動できます。

ヘッドレスで起動

画面に何も出力させずに起動させる場合は、画面出力の設定をlaunch.shから削除します。
以下の設定では、ssh -p 10023 ユーザー名@localhostで接続できます。
launch.shの例

qemu-system-aarch64 \
  -m 4096 \
  -cpu cortex-a72 \
  -smp 4 \
  -machine virt \
  -bios /opt/homebrew/share/qemu/edk2-aarch64-code.fd \
  -netdev user,id=net0,hostfwd=tcp::10023-:22 \
  -device virtio-net-device,netdev=net0 \
  -drive if=none,file=almalinux9.qcow2,format=qcow2,id=hd0 \
  -device virtio-blk-device,drive=hd0 \
  -nographic
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?