Mチップ搭載Macで仮想化ソフトは動作しない
MacがIntel CPUからARMアーキテクチャーのMチップに移行した為、VirtualBoxなどの仮想化ソフトウェア上でx86アーキテクチャーのCentOSを動作させる事が出来なくなってしまいました。
UTMでCPUエミュレーションを行う
UTMは仮想化モードだけでなく、ホスト上で別CPUの動作を再現するCPUエミュレーションモードとしても動作します。
このモードを使うとARMアーキテクチャーのMチップ上でIntel x86アーキテクチャーのOSを走らせる事が可能です。
UTMをインストールする
![](https://cedarvalley.info/wp-content/uploads/2022/07/utm-site.png)
UTM公式サイトからダウンロードします。
https://mac.getutm.app/
App Store版とgit版が有りますが、gitからダウンロードします。
![](https://cedarvalley.info/wp-content/uploads/2022/07/UTMdmg.png)
![](https://cedarvalley.info/wp-content/uploads/2022/07/UTMinstaller.png)
dmgファイルをダブルクリックするとウィンドウが開くので、UTMをApplicationsにドラッグします。
仮想マシン作成
![](https://cedarvalley.info/wp-content/uploads/2022/07/createVM.png)
UTMを起動すると開くウィンドウです。
Create a New Virtual Machineを選択します。
![](https://cedarvalley.info/wp-content/uploads/2022/07/emulate.png)
Emulateをクリックします。
![](https://cedarvalley.info/wp-content/uploads/2022/07/operartingsystem.png)
Operating SystemからLinuxをクリックします。
![](https://cedarvalley.info/wp-content/uploads/2022/07/bootimage.png)
Boot ISO image選択画面が表示されます。
CentOS StreamのISOダウンロード
![](https://cedarvalley.info/wp-content/uploads/2022/07/centosstream.png)
CentOS公式サイトからCentOS stream 9 x86_64 ISOをダウンロードします。
https://www.centos.org/centos-stream/
![](https://cedarvalley.info/wp-content/uploads/2022/07/streamISO.png)
ISO選択 以降
![](https://cedarvalley.info/wp-content/uploads/2022/07/iso-select.png)
ISOを選択してContinueをクリックします。
![](https://cedarvalley.info/wp-content/uploads/2022/07/Hardware.png)
Hardware:
Architecture: x86_64
System: デフォルトのまま変える必要はありません。
Memory/CPU: 任意に変更します。
Continueをクリックします。
![](https://cedarvalley.info/wp-content/uploads/2022/07/storage.png)
ストレージサイズを決めます。デフォルトは64GBです。
![](https://cedarvalley.info/wp-content/uploads/2022/07/shared-directry.png)
Shared Directory: こちらは特に設定しません。
![](https://cedarvalley.info/wp-content/uploads/2022/07/summary.png)
VMの名称は任意に設定してsaveします。
![](https://cedarvalley.info/wp-content/uploads/2022/07/UTM-vm.png)
VMが作成されました。
インストール エラーで止まる
![](https://cedarvalley.info/wp-content/uploads/2022/07/require-x86-64-v2.png)
VMのスタートボタンをクリックしてインストールを開始します。
エラーで停止します。
Fatal glibc error: cpu does not support x86-64-v2
Red Hat Enterprise Linux 9.0のリリースノートにアーキテクチャの記載が有ります。
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/9/html/9.0_release_notes/architectures
・AMD and Intel 64-bit architectures (x86-64-v2)
・The 64-bit ARM architecture (ARMv8.0-A)
・IBM Power Systems, Little Endian (POWER9)
・64-bit IBM Z (z14)
x86-64-v2をサポートしていない?
UTMの公式サイトに情報は少なく、v2をサポートしているのかは分かりません。
discord.comのUTMコミュニティを使う様にと有ります。
聞いてみました。
![](https://cedarvalley.info/wp-content/uploads/2022/07/discard1.png)
ARM64版で動いた!!
CentOS 7/8 ARM64はM1では動かないとの情報が以前に有りました。
同じARMアーキテクチャーでもApple Siliconは異なるからとの理由でした。
それでCentOS Stream 9もARM64は動かないと諦めていたところ、Qiitaにこんな記事が!!
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUUzJTgwJTgwTTElRTMlODMlODElRTMlODMlODMlRTMlODMlOTclRTMlODElQTdSSEVMOSVFMyU4MiU5MiVFNSU4QiU5NSVFMyU4MSU4QiVFMyU4MSU5OSZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9MjFjNmIwMDJjZWU3Yzc4NTE0YzQ1YWE1NzY0ODU5ZTU&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB0b29tb3JpJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz01MWVjZGJiNjYzYWI0YTMyM2E1ZDMxNjkxYWFkZjZhZA&blend-x=142&blend-y=486&blend-mode=normal&s=62f3e6a521adeba33462e018ac395f4c)
RHEL 9が動くならCentOS Stream 9も動くはずと早速トライ。
ARM64 ISOにてvirtualizeモードでVMを作る
![](https://cedarvalley.info/wp-content/uploads/2022/07/ARM64vm.png)
モードをvirtualizeでVMを作成します。
![](https://cedarvalley.info/wp-content/uploads/2022/07/install.png)
インストール開始
![](https://cedarvalley.info/wp-content/uploads/2022/07/lang.png)
おお!! インストール画面出た。
![](https://cedarvalley.info/wp-content/uploads/2022/07/install2.png)
![](https://cedarvalley.info/wp-content/uploads/2022/07/install3.png)
![](https://cedarvalley.info/wp-content/uploads/2022/07/installdone.png)
![](https://cedarvalley.info/wp-content/uploads/2022/07/welcome.png)
![](https://cedarvalley.info/wp-content/uploads/2022/07/terminal.png)
![](https://cedarvalley.info/wp-content/uploads/2022/07/network.png)
![](https://cedarvalley.info/wp-content/uploads/2022/07/ping.png)
![](https://cedarvalley.info/wp-content/uploads/2022/07/ssh.png)
M1 MacからSSH出来る事も確認しました。
![](https://cedarvalley.info/wp-content/uploads/2022/07/discord4.png)
チャットで答えて下さった方によると、同じRHELクローンでもUTM上での動作には差が有りそうです。
CentOS 7/8ならx86_64のEmulateモードで動く
CentOS 7/8ならx86_64のEmulateモードで動きます。
先のQiitaの記事によるとRHEL 7/8 ARMはM1では動かないそうです。
9でx86_64, ARM共にアーキテクチャーに変更が有った様です。
今回EmulateモードではなくVirtualizeモードでARM64が動作したという事は、ARM64 CentOS Stream 9がネイティブでApple Siliconをサポートしている事を意味します。
今回そもそもCentOS Stream 9をインストールしようとした理由は、ZABBIX 6.0 LTSを試したかったからですがARMになるとパッケージが無いんです。
RHEL 9用のバイナリはx86_64用しか有りません。
新しくCentOS Stream 8 x86_64をインストールしますか。。。動くかどうか。
【追記】CentOS Stream 8 x86_64 UTMにインストール出来ました。