mirror of
https://github.com/moons-14/dotfiles.git
synced 2026-10-06 00:58:12 +09:00
fix
This commit is contained in:
+69
-12
@@ -1,26 +1,83 @@
|
|||||||
# カスタムISOビルド
|
# カスタムインストーラー ISO
|
||||||
|
|
||||||
|
`hosts/installer` から、NixOS 26.05 ベースの `x86_64-linux` 用インストーラー
|
||||||
|
ISO を作成する。installer ホストは Home Manager を使用せず、`base` プロファイルと
|
||||||
|
ホスト固有のインストール支援設定だけを含む。
|
||||||
|
|
||||||
## ビルド
|
## ビルド
|
||||||
|
|
||||||
|
flake 対応の Nix が利用できる環境で、リポジトリのルートから実行する。
|
||||||
|
`x86_64-linux` 以外のマシンで実行する場合は、対応する Linux リモートビルダーが
|
||||||
|
必要になる。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
nix build .#nixosConfigurations.installer.config.system.build.isoImage
|
nix build .#nixosConfigurations.installer.config.system.build.isoImage
|
||||||
```
|
```
|
||||||
|
|
||||||
## ISO書き込み
|
生成された ISO は次の場所にある。
|
||||||
|
|
||||||
|
```text
|
||||||
|
result/iso/nixos-minimal-*-x86_64-linux.iso
|
||||||
|
```
|
||||||
|
|
||||||
|
ファイル名に含まれる NixOS のバージョンとリビジョンは、`flake.lock` の更新に応じて
|
||||||
|
変わる。生成物を確認するには次を実行する。
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# USBデバイスの確認
|
ls -lh result/iso/*.iso
|
||||||
lsblk
|
sha256sum result/iso/*.iso
|
||||||
|
```
|
||||||
|
|
||||||
# 書き込み(/dev/sdXは実際のデバイスに置き換える)
|
## USB メモリへの書き込み
|
||||||
sudo dd if=./result/nixos-minimal-*.iso of=/dev/sdX bs=4M status=progress
|
|
||||||
|
書き込み先はパーティション(例: `/dev/sdX1`)ではなく、USB デバイス全体
|
||||||
|
(例: `/dev/sdX`)を指定する。この操作は指定したデバイスの内容を上書きするため、
|
||||||
|
サイズ、モデル、マウント先を確認する。
|
||||||
|
|
||||||
|
```bash
|
||||||
|
lsblk -p -o NAME,SIZE,TYPE,MODEL,MOUNTPOINTS
|
||||||
|
```
|
||||||
|
|
||||||
|
USB のマウント済みパーティションをアンマウントしてから、`/dev/sdX` と
|
||||||
|
`/dev/sdX1` を確認した実際のデバイス名に置き換えて書き込む。パーティションが
|
||||||
|
複数ある場合は、それぞれをアンマウントする。
|
||||||
|
|
||||||
|
```bash
|
||||||
|
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
|
sync
|
||||||
```
|
```
|
||||||
|
|
||||||
## ISOの特徴
|
書き込み完了後、USB を安全に取り外して対象マシンから起動する。
|
||||||
|
|
||||||
- SSH鍵認証でrootログイン可能
|
## 起動後の接続
|
||||||
- 有線LANはDHCPで自動設定
|
|
||||||
- WiFiは`nmcli`で手動設定可能
|
有線 LAN は DHCP で自動設定される。Wi-Fi を使用する場合は、インストーラーの
|
||||||
- disko/sops/ageなどのツールを内蔵
|
コンソールで NetworkManager を使って接続する。
|
||||||
- ブート時にIPアドレスとヘルプを表示
|
|
||||||
|
```bash
|
||||||
|
nmcli device wifi list
|
||||||
|
nmcli device wifi connect <SSID> --ask
|
||||||
|
```
|
||||||
|
|
||||||
|
起動時にコンソールへ IPv4 アドレスと簡易ヘルプが表示される。表示されたアドレスへ
|
||||||
|
登録済みの SSH 鍵で接続する。
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ssh root@<ip-address>
|
||||||
|
```
|
||||||
|
|
||||||
|
root のパスワードログインとキーボード対話認証は無効で、
|
||||||
|
`hosts/installer/nixos.nix` に登録された公開鍵だけが利用できる。
|
||||||
|
以降の作業は [NixOS インストール手順](install.md) を参照する。
|
||||||
|
|
||||||
|
## ISO に含まれる主な設定とツール
|
||||||
|
|
||||||
|
- Nix flakes と `nix-command`
|
||||||
|
- NetworkManager、OpenSSH、起動時の IP アドレス表示
|
||||||
|
- `disko`、`parted`、`cryptsetup`、`btrfs-progs`、`efibootmgr`
|
||||||
|
- `sops`、`age`、`ssh-to-age`
|
||||||
|
- `age-plugin-yubikey`、`yubikey-manager`、`pcsc-tools` と `pcscd`
|
||||||
|
- `sbctl`、`tpm2-tools`
|
||||||
|
- `git`、`rsync`、`vim`、`wget`、`curl`、`jq`、`pciutils`、`util-linux`
|
||||||
|
|||||||
@@ -35,7 +35,7 @@
|
|||||||
"niks3.numtide.com-1:DTx8wZduET09hRmMtKdQDxNNthLQETkc/yaX7M4qK0g="
|
"niks3.numtide.com-1:DTx8wZduET09hRmMtKdQDxNNthLQETkc/yaX7M4qK0g="
|
||||||
"codex-desktop-linux.cachix.org-1:nX/xy6AdK9hQE24A8ALGjkCKj2ObFmcnemiL5Cid4nk="
|
"codex-desktop-linux.cachix.org-1:nX/xy6AdK9hQE24A8ALGjkCKj2ObFmcnemiL5Cid4nk="
|
||||||
"cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E="
|
"cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E="
|
||||||
"nix-builder-1:nix-builder-1:aG/Y2Lac517isxGO+ZYdVgglj/SI54PkkWoZTQI9aOI="
|
"nix-builder-1:aG/Y2Lac517isxGO+ZYdVgglj/SI54PkkWoZTQI9aOI="
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user