これは私の最初の回答の更新版であり、NixOS 15.09 で動作するはずです。 nix-dev の助けを借りて NixOS 14.04 をインストールするために使用した初期バージョンと比較して、マイナーな変更が含まれています。 メーリング リスト
初期設定
<オール>Mac OS 10.9 を搭載した MacBook 5,1 (2008) と次のようにパーティション分割されたハード ドライブ:
a) 「EFI」というラベルの付いた 200MB EFI システム パーティション。
b) Mac OS (10.9) で使用される 2 つのパーティション。
c) 「nixos」と「home」というラベルの付いた 2 つの空の ext4 パーティションと、「swap」というラベルの付いた Linux Swap パーティション。
以下のツールを使用しました:
-
GPT fdisk (Mac OS から)、
-
mkfs.ext4
(起動可能な USB ドライブの NixOS の下から)、 -
mkswap
.
gdisk
によって出力されたパーティション テーブルを次に示します。 :
Number Start (sector) End (sector) Size Code Name
1 40 409639 200.0 MiB EF00 EFI System Partition
2 409640 104603575 49.7 GiB AF00 Untitled
3 104865720 261418767 74.7 GiB AF00 Untitled
4 261680912 287071535 12.1 GiB 8302 home
5 287071536 307888927 9.9 GiB 8300 nixos
7 307888928 312581774 2.2 GiB 8200 swap
ケーブル イーサネット インターネット接続。
MBR を使用して FAT としてフォーマットされ、NIXOS_ISO
というラベルが付いた USB ドライブ 、NixOS 15.09 64 ビット ISO イメージ (ライブ CD または最小限) のコンテンツのコピー (ドラッグ アンド ドロップ) を含む。
-
USB ドライブのラベル必須
NIXOS_ISO
であること (私はFLASH
で試しました 一度、うまくいきませんでした)。 -
NixOS 15.09 ISO イメージは Mac OS ではマウントできないようです。イメージをマウントできない場合は、その内容を抽出するだけで十分です。 Keka file archiver で ISO イメージの内容を抽出できました。
インストール
<オール>Alt/Option を押したままにして、USB ドライブから起動します。 再起動時にキーを押し、USB EFI Boot を選択して . 「root」として (パスワードなしで) ログインします。インターネット接続が機能していることを確認します。インストールにはインターネット接続が必要です。
実行
swapon /dev/disk/by-label/swap
mount /dev/disk/by-label/nixos /mnt
mkdir /mnt/boot
mkdir /mnt/home
mount /dev/disk/by-label/EFI /mnt/boot
mount /dev/disk/by-label/home /mnt/home
nixos-generate-config --root /mnt
追加
nixpkgs.config.allowUnfree = true;
生成された /mnt/etc/nixos/configuration.nix で ファイル。
実行
nixos-install
再起動:
reboot
起動中
(これは 14.04 での私の経験です。 )
再起動後、コンピュータは NixOS で起動しました。今度は Alt/Option を押しながら再起動しました。 ブート メニューには、2 つの同じように見える「EFI ブート」項目が表示されました。そのうちの 1 つは Mac OS で、もう 1 つは NixOS であることが判明しました。 )わかりました。
興味本位で EFI システム パーティションの内容をマウントして調べてみました:
§ tree /Volumes/EFI/
.
├── EFI
│ ├── APPLE
│ │ ├── EXTENSIONS
│ │ │ └── Firmware.scap
│ │ └── FIRMWARE
│ │ └── MB51_007D_03B_LOCKED.scap
│ ├── Boot
│ │ └── BOOTX64.EFI
│ ├── gummiboot
│ │ └── gummibootx64.efi
│ └── nixos
│ ├── 5683z247xmsrh4lyr2hgpxwlb9gg5wyl-linux-3.12.20-bzImage.efi
│ └── mmjxbf6vwp5mwb384yfd6c8vkhd19gx8-initrd-initrd.efi
└── loader
├── entries
│ └── nixos-generation-1.conf
└── loader.conf
/EFI/APPLE 以外のすべてがあります そのコンテンツは NixOSinstallation によって作成されています。
Mac OS をデフォルトに戻す
(これは 14.04 での私の経験です。 )
Mac OS を再びデフォルトに設定し、オプション で対応する項目を作成するには -Mac OS パーティションにちなんで名付けられたキー ブート メニュー。システム環境設定...> 起動ディスク に移動するだけで十分でした。 Mac OS の下で、Mac OS のパーティションを選択します。不思議なことに、管理者パスワードを 2 回入力する必要があり、パーティションはまだ選択済みとして表示されませんでしたが、それ以外は機能していました.
その他の指示
-
グミブーツを常に表示するには
boot.loader.gummiboot.timeout
を設定するだけで十分です configuration.nix で . -
nVidia を適切に構成するには グラフィック カード、オープンソースの nouveau を使用することになりました ドライバー:services.xserver.videoDrivers = [ "nouveau" ];
それについて不満はありません。独自の"nvidia"
を使用する場合 代わりに、テキスト コンソールは機能しません。NixOS 16.09 の更新 . NixOS 16.09 を搭載した私のマシンでは、オプション
services.xserver.videoDrivers
が configuration.nix では必要ありません glmark2 で行ったいくつかのテストによると、実際にはグラフィック パフォーマンスが著しく低下します。 OpenGL ベンチマーク。"nvidia"
を選択することも観察しました Nix OS 14.04で観察したこととは対照的に、グラフィカルモードを中断しますが、テキストコンソールを残します。これは私には少し奇妙に見えますが、これは私が観察したことなので、configuration.nix からこのオプションを削除しました . -
applesmc をロードするには モジュール (たとえば、突然のモーション センサー用) に、次を configuration.nix に追加するよう提案されました。 :
boot.kernelModules = [ "applesmc" ];
備考と所見
これまでに確認した MacBook での NixOS の唯一の「問題」は、NixOS を実行すると、ラップトップが通常 Mac OS 10.9 よりも 5 ~ 10 °C 熱くなることです。これは、Mac 上の Linux ではよくある問題かもしれません。
別のインストール手順へのリンク
- 2015 年 6 月 17 日、MacBook Air に Linux をインストールする (Mac OS とのデュアルブート構成で MacBook Air に NixOS をインストールする)
その他のヒント:
バックライトを機能させ、蓋が閉じている間にラップトップが自然に再開しないようにしたい場合は、configuration.nix
で次のようなものを使用できます。 :
# Enable the backlight control on rMBP
# Disable USB-based wakeup
# see: https://wiki.archlinux.org/index.php/MacBookPro11,x
powerManagement.powerUpCommands = ''
if [[ "$(cat /sys/class/dmi/id/product_name)" == "MacBookPro11,3" ]]; then
${pkgs.pciutils}/bin/setpci -v -H1 -s 00:01.00 BRIDGE_CONTROL=0
if cat /proc/acpi/wakeup | grep XHC1 | grep -q enabled; then
echo XHC1 > /proc/acpi/wakeup
fi
fi
'';
お使いの MacBook のバージョンによっては、上記のコマンドを微調整する必要がある場合があるため、やみくもにコピー アンド ペーストしないでください。