popnja’s blog

日記風からハード中心に変わりました

M1 Mac miniにUbuntu Serverをインストールしてみる

なぜMacなのか

Macですが、個人的にはこの記事を書いている時点ではmacOSに興味を持っていません。また、自分の作業でmacOSじゃないと出来ない事がいまのところありません。
ただし、Apple Siliconには興味を持っています。そして、Asahi LinuxMacにネイティブなLinux環境を構築できることを知っています。なので、Macを入手しようと思いました。

なぜMac miniなのか

単純に「Macのラインナップの中で価格が安いから」です。あと、サーバ用に使用したいと考えていますのでノート型である必要はありませんでした。

なぜM1なのか

M2もしくはM2 Proの方がコストパフォーマンスが高いと思います。でも、M1の性能はLinuxそれもサーバ用途で使うならストレスを感じないのではないかと思いました。安いですし。

メモリの容量はどうする

8GBにするか16GBにするかは悩みました。kvmやらLXCを使うなら16GBの方がよいと思います。でも、現時点で中古でも8GBモデルと16GBモデルの価格差は2万5千円ぐらいあります。どれだけ使えるのかわからないので、今回は8GBモデルを選びました。Linuxだとメモリ8GBでもサクサクでしょうし。

ディストリビューションをどうするか

M1 Mac miniを入手した時点では、「M1 CPUで動くLinuxディストリビューションはAsahi Linux(Arch Linuxベース)しかない」と思っていました。でも、個人的にArch Linuxには馴染みがないので使いづらいんですよね。で、調べたら以下のページにたどり着きました。

github.com

どうやら、Asahi Linuxの成果をもとに他のディストリビューションLinux環境を構築できるようなことをしている人たちが複数いるようです。今回は、この中の「Ubuntu」を利用させてもらうことにしました。

github.com

M1 mac miniUbuntu Serverをインストールしよう

https://github.com/tobhe/ubuntu-asahiの「README.md」の通りに作業すれば良いです。まあ、それだけだとこの記事はいらないのでスクリーンショットをはさみながら以下に解説します。なお、以下の作業を行うにはM1 Mac miniからインターネットにアクセスできる必要があります。

まず、macOSで「ターミナル」アプリを実行してください。以下は「ターミナル」アプリでの作業となります。

インターネットで公開されているApple Silicon用のUbuntuインストーラをダウンロードして実行するため、以下のコマンドを実行します。

curl -sL https://tobhe.de/ubuntu/install | bash


「sudoパスワードを入力してください」と促されます。ここで入力するパスワードはmacにログインするときに使用するパスワードを使ってください。


「Welcome to the Asahi Linux installer!」と表示されますが、これはAsahi Linuxインストーラを流用しているためと思われます。


今回はエキスパートモードを使用しないので「N」を入力します。


パーティションのリサイズを行うので「r」で。


パーティションのサイズ変更をするのですが、ちょっとわかりづらいです。ここでサイズを変更するのはmacOSがインストールされているパーティションになります。試しに「30GB」を指定したら「指定したサイズが小さい」と怒られました。どうやら、「Minimum total size」として表示されている容量以上を指定する必要があるようです。今回はmacOSを常用しないのですが、macOSのアップグレードを考慮して「90GB」を指定しました。


パーティションサイズの変更前に「続けていいか?」と確認されるので「y」を入力します。



リサイズが完了するとあらためて「どこにインストールするか」を聞かれます。画面の通り「free space」が確保できているので「f」を入力します。


「インストールするOS」の番号を入力するのですが、今回は「サーバ用途でかつLTS」としたいので「4: Ubuntu 22.04 Server」を指定するため「4」を入力します。


「インストール先の容量」を聞かれますが、空きスペース全てを使用したいので「max」とします。


この「OS name」が何に使われるのかこの時点ではわからなかったので、ここではデフォルトで指定されている「Ubuntu」のままにしました。


ここで聞かれるパスワードはmacOSで使っているものを入力してください。なお、このスクリーンショットに表示されている「kaias1jp」の部分ですが、ここには皆さんがmacOSで作成したアカウント名が入るはずです。



macOS上での作業が終了すると、画面の通り「enterキーを押したらシャットダウンするよ」と表示されます。enterキーを押すと電源が切れますが、インストール作業はまだ終わっていません。


電源ボタンを押したまま待っていると、macOSが起動するのではなくOSの選択画面が表示されます。この画面で「Ubuntu」と表示されているアイコンを選択して「開く」ボタンを押すと残りのインストール作業が実行されます。ここでの画面は撮影していませんが、パスワードには「macOSで使用しているパスワード」を、アカウント名には「macOSで使用しているアカウント名」を入力してください。問題がなければ、作業が完了後再起動するとUbuntu Serverが起動するはずです。

トラブルシューティング

Ubuntu Serverをインストール後に画面が表示されない

私がインストールした時点(2023/03/20)では、Ubuntu Serverの画面が出力されるのはHDMIのみでした。Thunderboltポート(USB Type-Cコネクタ)に接続したディスプレイには画面は表示されませんので、HDMIポートを使用してください。

Ubuntu Serverの起動が途中で止まる


こちらもThunderboltポートに何かを接続していたら起きました。私の場合はディスプレイを接続していましたが、電源として利用していただけでもだめかもしれません。同じ画面に遭遇したら、一度Thunderboltポートに接続しているケーブルをすべて外してみてください。

Ubuntu Serverが起動できたら

  • 初期ユーザ名は「ubuntu」となっていました。「ubuntu」のパスワードは「ubuntu」でした。「ubuntu」ユーザはsudoが使えました。
  • 有線LANおよび無線LANのハードは使用できますが、初期状態では「systemd-networkd」サービスは有効になっていません。あと、とりあえず有線LANをDHCPで使う場合はnetplanの設定ファイルを自分で作ってください。
network:
  version: 2
  ethernets:
    enp3s0:
      dhcp4: true
      optional: true
  • sshdはインストールされていませんので、他のマシンからsshで接続したい場合はネットワークがつながったらsshパッケージをインストールしてください。本当はopenssh-serverパッケージをインストールすべきかな?

最後に

とりあえず動いてしまえばarm64のLinuxとして使えます。あとは楽しんでください。