NixOSはパッケージマネージャNixを使ったLinuxOS。Nixの特徴は以下。
- 古いバージョンと新しいバージョンを共存できる
- アップデートのとき上書きしないので安全
- 一般ユーザでもインストールできる
ここでは、ここからダウンロードしたnixos-0.1pre12862-i686-linux.isoを使った。
2番目のインストーラから起動すると、ログインプロンプトになるのでrootでログインする。パスワードはそのままリターンする。これは完全なインストーラではないので自分でパーティションなどの作成をしないとならない。ここではハードディスクは最初から空で全部を利用することを想定している。
まずfdiskを使って、2つのパーティションを作る。1つはメインのパーティションでもうひとつはスワップ。
# fdisk /dev/sda
ここで2つ作る。
#
メインのパーティションをext3でフォーマットする。ラベル名をnixosにする。
# mke2fs -j -L nixos /dev/sda1
スワップを作る。
# mkswap -L swap /dev/sda2
メインのパーティションを/mntにマウントする。
# mount LABEL=nixos /mnt
デフォルトの設定ファイルを作成する。
# mkdir -p /mnt/etc/nixos
# nixos-hardware-scan > /mnt/etc/nixos/configuration.nix
デフォルトのままだとインストールに失敗するので、編集する。
# nano /mnt/etc/nixos/configuration.nix
以下が編集した結果。太字は追加したり直した部分。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
{ boot = { initrd = { extraKernelModules = [ "ata_piix" "uhci_hcd" "mptspi" "ehci_hcd" ]; }; kernelModules = [ ]; <strong>grubDevice = "/dev/sda";</strong> }; <strong>fileSystems = [ { mountPoint = "/"; label = "nixos"; } ];</strong> <strong>swapDevices = [ { label = "swap"; } ];</strong> nix = { maxJobs = 1; }; networking = { enableIntel3945ABGFirmware = <strong>true</strong>; # Warning: setting this option to `true' requires acceptance of the # firmware license, see http://ipw2200.sourceforge.net/firmware.php?fid=7. enableIntel2200BGFirmware = <strong>true</strong>; }; services = { xserver = { videoDriver = "vesa"; }; <strong>sshd = { enable = true; };</strong> }; } |
以下のコマンドでインストールを開始する。
# nixos-install
正常に終了したらリブートする。
# reboot
ハードディスクからブートすると以下のようなgrub画面になる。
起動後うまく動かない場合は、再びCDから起動し、configuration.nixを編集してから、nixos-installすればいいようだ。