とりあえず、試行錯誤した末に出来たのでメモ。
今回の作業の概要
[Archlinux on Mac mini late 2012 with rootfs encryption]
と言う環境で、
ssh 経由で roorfs encryption の unlock が出来る
というのを作った。
下準備
とりあえず今回は Wi-Fi から繋げたかったので、
- Archlinux on Mac mini late 2012 with rootfs encryption
から Wi-Fi 接続出来る様に、下記のパッケージを導入した:
wpa_supplicant
-pacman
からb43-firmware
-yaourt
から
まあ後は Arclinux で Wi-Fi 使う要領で作業すれば良い。 あと、基本的に Mac mini に Archlinux を入れるには、
- USB 接続の Keyboard
- Ehternet 接続できるネットワーク
辺りがないと、ドライバとかの加減で pacstrap
出来ねぇとかなるので、その辺りは用意しておいた方が良い。
ちなみに僕は、押し入れなどで眠っていた、
を使いました。
rootfs encryption の remote unlock over Wi-Fi
これがまあ面倒だったんだけど、基本的には、
Remote unlocking of the root (or other) partition
をアレンジして、下記の様になった:
パッケージの追加
mkinitcpio-nfs-utils
(pacman)mkinitcpio-dropbear
(yaourt)mkinitcpio-utils
(yaourt)ssh 鍵の追加
今回だと
/etc/dropbear/root_key
に ssh 公開鍵を登録するmkinitcpio
用にwifi
フックの追加/etc/mkinitcpio.conf
の編集とinitramfs
の rebuidMODULES
に Mac mini late 2012 用の Wi-Fi ドライバを追加(環境固有)
b43
,bcma
FILES
に 上記ドライバが動作するためのファームウェアを追加 (環境固有)/lib/firmware/b43/ht0bsinitvals29.fw
/lib/firmware/b43/ht0initvals29.fw
/lib/firmware/b43/ucode29_mimo.fw
BINARIES
にwpa_passphrase
とwpa_supplicant
を追加 (共通)HOOKS
を 編集encrypt
をwifi net dropbear encryptssh
にあとは
mkinitcpio -p linux
で initramfs を rebuildBootloader の kernel parameter の編集 これは各ネットワーク環境に合せて
ip=
を追加する僕の場合だと:
ip=::192.168.2.1:255.255.255.0::wlan0:dhcp
- ちなみに、これに指定するパラメーターは nfsroot (kernel.org) を参照
以上
それで、ここまでで設定とかミスってなければ、
を起動した際に ssh が立ち上がって、リモート経由で rootfs unlock 出来る様になる……はず。なんかミスってたら、各自設定とか見直してください。ちなみに僕は wifi
フックを作るときに SSID
の書き方をミスっていて、これで数時間ぐらいは詰ってました。
あと、今回のこれは initramfs
とかを弄るため、 なにかミスってて起動しなくなる と言うコトが良く起きます。そのため、USB Stick 等で Archiso を起動できる Recovery 環境が無いとつらいかもです。はい。
という事で今回のメモは以上。まあ転んでも泣かないヒト向けのメモでした。