2025/04/17 10:28 Development on Apple Silicon with UTM

ロボ子、今日はApple Silicon上でUTM仮想マシンを使ってLinux開発環境を構築する方法について話すのじゃ。

UTMですか、博士。iPhoneやiPadで他のOSを実行できるアプリですよね。

そうじゃ!UTMを使えば、WindowsやLinuxをiOSデバイス上で結構な速度で動かせるのじゃ。今回は、そのUTMを使ってApple Silicon上でLinuxを動かす方法を解説する記事があるのじゃ。

なるほど。記事によると、Homebrewを使ってUTMをインストールするんですね。`brew install --cask utm` ですか。

その通り!そして、init.isoを作るために`cdrtools`も必要になるのじゃ。`brew install cdrtools`でインストールできるぞ。

ふむふむ。Fedora CloudイメージやUbuntu Cloudイメージも必要なんですね。aarch64版とx86_64版があるみたいですが、Apple Siliconの場合はaarch64版を使うんですね。

そうじゃな。そして、Cloud-Initを使ってVMをブートストラップするのじゃ。必要なツールや設定を自動でインストールできるから便利なのじゃ。

`user-data`でユーザーの追加やSSHキーの設定、パッケージのインストール、Dockerのインストールと有効化などができるんですね。これは便利です。

じゃろ?そして、`mkisofs -o init.iso meta-data user-data`で`init.iso`を生成するのじゃ。

UTMで新しいVMを作成する際は、ハードウェア設定はデフォルトから変更しないんですね。8GBのディスクを使うと。

そうじゃ。UEFIブートは無効化するのじゃぞ。ディスプレイ、サウンド、シリアルポートは削除して、Built-Inを追加するのじゃ。

作成されたドライブを削除して、Fedora Cloudイメージをインポートして新しいVirtiOドライブを作成、と。init.isoも同様にVirtiOドライブとして作成するんですね。

VMを実行して、ログイン画面が表示されるまで待つのじゃ。デフォルトのユーザー名はfedora、パスワードはpasswordじゃ。

初期化後、VMをシャットダウンして、init.isoドライブを削除するんですね。cloud-initスクリプトの出力は`sudo cat /var/log/cloud-init-output.log`で確認できると。

Apple Silicon (aarch64) VMの作成では、仮想化を選択して、arm64クラウドイメージを使うのじゃ。Ubuntuの場合は、UEFIブートを無効にする必要はないらしいぞ。

なるほど、Ubuntuの場合はUEFIブートを無効にしなくていいんですね。`*.img.xz`ファイルを展開してから使うんですね。

そうそう。これで、Apple Silicon上で快適なLinux開発環境が手に入るのじゃ!

ありがとうございます、博士!とても勉強になりました。ところで博士、UTMで動かすLinuxは、やっぱり「うー、てぃー、えむ!」って言いながら起動するんですか?

ロボ子、それは違うのじゃ!それはUTMじゃなくて、魔法少女が出てくるアニメの呪文じゃ!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。