LoginSignup
2
3

More than 1 year has passed since last update.

Mac Pro 2012にarch linuxをインストール

Last updated at Posted at 2022-06-13

はじめに

Mac Pro 2012にarch linuxをインストールする手順です。

公式のarch wikiのインストールガイドMac向けガイドを読めば大体わかりますが、実際に私がやった時に所々詰まるポイントがあったのでメモ代わりに残します。

概要は
①arch linuxのインストール(今回はシングルブート)をする
有線でインターネット接続する
③Mac Pro内蔵のワイヤレスカードのドライバをインストールし、無線でインターネット接続する
④ssh接続できるように設定する
です。

正直、最後の「ssh接続できるように設定」はおまけです。

Mac Pro 2012の詳細な物理構成はこちらを参照してください。

arch linuxのインストール

ほぼ公式のインストール手順通りなので詳細は割愛します。
詰まったらこちらの記事を参照にするとよいかもしれません。

pacstrapで入れるライブラリとブートローダーについては、追加で補足します。

root@archiso ~ # loadkeys jp106
root@archiso ~ # ls /sys/firmware/efi/efivars                # Mac ProはUEFIなので表示される
root@archiso ~ # ip link                                     # 最初は有線接続する
root@archiso ~ # ping archlinux.jp                           # 有線接続で正常性確認
root@archiso ~ # timedatectl set-ntp true
root@archiso ~ # fdisk -l
root@archiso ~ # gdisk /dev/sda                              # sda1にEFIシステムパーティション、sda2にext4ファイルシステムを作成
root@archiso ~ # mkfs.fat -F32 /dev/sda1
root@archiso ~ # mkfs.ext4 /dev/sda2
root@archiso ~ # mount /dev/sda2 /mnt
root@archiso ~ # mkdir /mnt/boot
root@archiso ~ # mount /dev/sda1 /mnt/boot
root@archiso ~ # pacstrap /mnt base linux linux-firmware base-devel vi emacs git openssh iwd zsh intel-ucode   # (補足1) pacstrapについて
root@archiso ~ # genfstab -U /mnt >> /mnt/etc/fstab
root@archiso ~ # arch-chroot /mnt
[root@archiso /]# ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
[root@archiso /]# hwclock --systohc
[root@archiso /]# vi /etc/locale.gen                          # en_US.UTF-8 UTF-8とja_JP.UTF-8 UTF-8をアンコメント
[root@archiso /]# locale-gen
[root@archiso /]# echo "LANG=en_US.UTF-8" > /etc/locale.conf
[root@archiso /]# echo "KEYMAP=jp106" > /etc/vconsole.conf    # 日本語キーボードを使用
[root@archiso /]# echo "macpro" > /etc/hostname               # ホスト名はお好きに
[root@archiso /]# passwd                                      # 好きなrootパスワードを設定
[root@archiso /]# bootctl --path=/boot install                # (補足2) ブートローダーについて
[root@archiso /]# vi /boot/loader/loader.conf                 
[root@archiso /]# ls /boot/vmlinuz-linux | sed s~/boot~~ > /boot/loader/entries/arch.conf
[root@archiso /]# ls /boot/initramfs-linux.img | sed s~/boot~~ >> /boot/loader/entries/arch.conf
[root@archiso /]# blkid -o export UUID /dev/sda2 | grep ^UUID >> /boot/loader/entries/arch.conf
[root@archiso /]# vi /boot/loader/entries/arch.conf           # 上記コマンドである程度埋めた状態で残りを編集すると楽
[root@archiso /]# bootctl list
[root@archiso /]# exit
root@archiso ~ # reboot

(補足1) pacstrapについて

root@archiso ~ # pacstrap /mnt base linux linux-firmware base-devel vi emacs git openssh iwd zsh intel-ucode

上記コマンドでインストールしているパッケージの説明です。

  • base, linux, linux-firmware → この3つは公式手順通り
  • vi, emacs → 好きなエディタを選んでください
    (あとでvisudoを使う時にエディタを使用、emacs使いはEDITOR変数をいじればOK
  • git → ワイヤレスカードのドライバを入れるのに使用
  • iwd → 無線接続するのに使用
  • openssh → sshサーバを立てるのに使用
  • zsh → あると便利、別に無くても可
  • intel-ucode → Mac Proに入っているCPUはXeonなのでintel CPUのマイクロコードを入れる、別に無くても動くけど入れることを推奨

(補足2) ブートローダーについて

公式にもある通り、Mac Pro 2012へ簡単にブートローダーを入れたいならsystemd-bootがおすすめです。1
設定ファイルの中身は以下。設定の意味は公式を見てください。

/boot/loader/loader.conf
default  arch.conf
timeout  4
console-mode max
editor   no

arch.confは全部手入力でも良いですが、上記のコマンドを参考にある程度埋めた状態から記入した方がミスが少ないです。コマンドはこちらの記事を参考にしました。

/boot/loader/entries/arch.conf
title   Arch Linux
linux   /vmlinuz-linux
initrd  /intel-ucode.img
initrd  /initramfs-linux.img
options root=UUID=xxxxxxxx-yyyy-zzzz-00000-111111111111 rw

ここの編集はミスりやすいので、最後にbootctl listで確認することをお勧めします。

有線でインターネット接続

上の手順の最後のリブート後にSSDからarch linuxが起動できているとします。

SSDから起動できない時は、何かしらの設定が間違っている可能性が高いので、上を見てやり直してください。

なおSSDから起動していても、上記の状態では何も設定していないので有線LANを繋いでもネットに繋がりません2

ネットワーク関連のデーモンの設定します。

[root@macpro ~]# systemctl enable systemd-networkd
[root@macpro ~]# systemctl enable systemd-resolved

有線接続の際のコンフィグを設定します。ファイル名はお好きなものにしてください。
とりあえずDHCPを使用し、LANケーブルをMac Proに挿せばネットに繋げるようにします。

[root@macpro ~]# emacs /etc/systemd/network/wired.network
/etc/systemd/network/wired.network
[Match]
Name=enp10s0

[Network]
DHCP=ipv4

Nameに与えるデバイスの名前ですが、Mac Proの場合はenp9s0enp10s0でした。
LANケーブルを挿したのがどっちのポートかはip linkで確認してください。
DHCPを使わずに固定IPにしたい、という方は公式を確認してください。

次にサービスを起動します。

[root@macpro ~]# systemctl start systemd-networkd
[root@macpro ~]# systemctl start systemd-resolved

ping接続できるようになればOK。

[root@macpro ~]# ping archlinux.jp

無線でインターネット接続

Mac Pro 2012で無線接続できるようにするためには、Mac pro内蔵のワイヤレスカードのドライバをインストールする必要があります。

lspci -vnn -d 14e4:と実行するとカードのチップIDがBCM4322とわかるので、それに対応するドライバをAURから入れます。3

Macのドライバの詳細な情報は公式をご覧ください。

AURからのインストールの際にはroot以外のユーザが必要になるため、まずはユーザを作成します。

[root@macpro ~]# useradd -m -G wheel minnsou
  • -mはホームディレクトリを作成するオプション
  • -G wheelwheelグループに新規ユーザを追加します
  • -s /bin/zshを追加すると、ログインシェルがzshになります。

今回はユーザ名をminnsouにし、wheelグループに所属するユーザが管理者になれるような構成にします。

作成したユーザに好きなパスワードを設定します。

[root@macpro ~]# passwd minnsou

作成したユーザにルート権限を与えます。
今回はwheelグループにルート権限を設定します。

[root@macpro ~]# visudo

%wheelの行をアンコメントし、以下のようにすればOK。

/etc/sudoers
## Uncomment to allow members of group wheel to execute any command
%wheel ALL=(ALL:ALL) ALL

新規ユーザのzshの設定をします。(Zshを使わない人は飛ばしてください)
grml-zsh-configを使うことで、USBインストーラーと同じセットアップになります。

[taishi@macpro ~]# chsh -s /bin/zsh
[taishi@macpro ~]# pacman -S grml-zsh-config

新規作成したユーザになって、ドライバをインストールしていきます。

[root@macpro ~]# su minnsou

ワイヤレスカードのドライバのインストールします。
makepkg -siはrootでは実行できないので注意です。

[minnsou@macpro ~]$ git clone https://aur.archlinux.org/b43-firmware.git
[minnsou@macpro ~]$ cd b43-firmware
[minnsou@macpro b43-firmware]$ makepkg -si

ドライバを当てるために再起動します。

[minnsou@macpro b43-firmware]$ reboot

再起動後にちゃんとドライバが当たっているか見てみます。

[root@macpro ~]# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp9s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 40:6c:8f:XX:XX:XX brd ff:ff:ff:ff:ff:ff
3: enp10s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether 40:6c:8f:XX:XX:XX brd ff:ff:ff:ff:ff:ff
5: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state DOWN mode DORMANT group default qlen 1000
    link/ether a8:96:8a:XX:XX:XX brd ff:ff:ff:ff:ff:ff

上記のようにwlan0が表示されればOK。

無線接続できるように、ネットワークの設定を追加します。
ファイル名は適当です。

[root@macpro ~]# emacs /etc/systemd/network/wireless.network
/etc/systemd/network/wireless.network
[Match]
Name=wlan0

[Network]
DHCP=ipv4

無線接続のためのデーモンの設定をしていきます。

[root@macpro ~]# systemctl enable iwd
[root@macpro ~]# systemctl start iwd

無線LANに接続します。
コマンドの詳細は公式を見てください。

[root@macpro ~]# iwctl
[iwd]# device list
[iwd]# station device scan
[iwd]# station device get-networks
[iwd]# station device connect 繋げたいSSID

deviceはデバイス名(例えばwlan0など)に置き換えてコマンド実行してください。
Mac ProからLANケーブルを抜いた状態で、pingに成功すればOK。

ping archlinux.jp

ssh接続できるように設定

最後、OpenSSHをインストールし、ssh接続できるようにしていきます。

[root@macpro ~]# pacman -S openssh # 最初にpacstrapで入れた場合は不要
[root@macpro ~]# systemctl enable sshd

コンフィグファイルを設定していきます。

emacs /etc/ssh/sshd_config

パスワードログイン可能に設定します。
下記部分のコメントを外します。

/etc/ssh/sshd_config
PasswordAuthentication yes

sshdを起動します。

systemctl start sshd

他のPCからssh接続してみて、ログインできればOKです。

ssh minnsou@IPアドレス

終わりに

ネット接続でかなり手こずったので誰かの役に立てば幸いです。

  1. ブートローダーをGRUBにしたい方は、とりあえずpacman -S grub efibootmgrで必要なものをインストールしてから、grub-install --target=x86_64-efi --efi-directory=/boot --removablegrub-mkconfig -o /boot/grub/grub.cfgと実行することでも可能です。こちらはGRUBとefibootmgrのインストールが必要になります。

  2. よく見ると公式ガイドに「新しくインストールされた環境でネットワーク設定を完了させてください。」とあるので、このタイミングでネットワークの設定すれば問題ありません。ただ、USBメモリなどから起動したライブ環境ではネットワーク環境の設定が既に入っていることもあり、うまく設定できたのか分かりづらいです。今回はライブ環境ではなくSSDから起動した状態で、ネットワークの設定を行いました。

  3. 例えばMacBook Air early 2014のチップIDはBCM4360なので、pacman -S linux-headers broadcom-wl-dkmsの一発でドライバーが入ります。別の機種の方はどのモジュールを使用するか、公式を見ながらチェックしてください。

2
3
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
2
3