3.0 KiB
カスタムインストーラー ISO
hosts/installer から、NixOS 26.05 ベースの x86_64-linux 用インストーラー
ISO を作成する。installer ホストは Home Manager を使用せず、base プロファイルと
ホスト固有のインストール支援設定だけを含む。
ビルド
flake 対応の Nix が利用できる環境で、リポジトリのルートから実行する。
x86_64-linux 以外のマシンで実行する場合は、対応する Linux リモートビルダーが
必要になる。
nix build .#nixosConfigurations.installer.config.system.build.isoImage
生成された ISO は次の場所にある。
result/iso/nixos-minimal-*-x86_64-linux.iso
ファイル名に含まれる NixOS のバージョンとリビジョンは、flake.lock の更新に応じて
変わる。生成物を確認するには次を実行する。
ls -lh result/iso/*.iso
sha256sum result/iso/*.iso
USB メモリへの書き込み
書き込み先はパーティション(例: /dev/sdX1)ではなく、USB デバイス全体
(例: /dev/sdX)を指定する。この操作は指定したデバイスの内容を上書きするため、
サイズ、モデル、マウント先を確認する。
lsblk -p -o NAME,SIZE,TYPE,MODEL,MOUNTPOINTS
USB のマウント済みパーティションをアンマウントしてから、/dev/sdX と
/dev/sdX1 を確認した実際のデバイス名に置き換えて書き込む。パーティションが
複数ある場合は、それぞれをアンマウントする。
sudo umount /dev/sdX1
sudo dd if=result/iso/nixos-minimal-*-x86_64-linux.iso \
of=/dev/sdX bs=4M conv=fsync status=progress
sync
書き込み完了後、USB を安全に取り外して対象マシンから起動する。
起動後の接続
有線 LAN は DHCP で自動設定される。Wi-Fi を使用する場合は、インストーラーの コンソールで NetworkManager を使って接続する。
nmcli device wifi list
nmcli device wifi connect <SSID> --ask
起動時にコンソールへ IPv4 アドレスと簡易ヘルプが表示される。表示されたアドレスへ 登録済みの SSH 鍵で接続する。
ssh root@<ip-address>
root のパスワードログインとキーボード対話認証は無効で、
hosts/installer/nixos.nix に登録された公開鍵だけが利用できる。
以降の作業は、構成に応じて次の手順を参照する:
ISO に含まれる主な設定とツール
- Nix flakes と
nix-command - NetworkManager、OpenSSH、起動時の IP アドレス表示
disko、parted、cryptsetup、btrfs-progs、efibootmgrsops、age、ssh-to-ageage-plugin-yubikey、yubikey-manager、pcsc-toolsとpcscdsbctl、tpm2-toolsgit、rsync、vim、wget、curl、jq、pciutils、util-linux