这是我最初回答的更新版本,应该适用于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)使用的两个分区。
c)两个标有“ nixos”和“ home”的空ext4分区,以及一个标有“ swap”的Linux Swap分区。
我使用了以下工具:
这是我的分区表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
电缆以太网Internet连接。
一个USB驱动器,格式为FAT,带有MBR,并标记为NIXOS_ISO
,带有(拖放和删除)NixOS 15.09 64位ISO映像内容的副本(Live CD或Minimal)。
安装
从USB驱动器引导,方法是Alt/Option在重新引导时按住键并选择USB EFI Boot。以“ root”身份登录(无需密码)。确保Internet连接正常。安装需要互联网连接。
执行
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关键。引导菜单显示了两个外观相同的“ EFI引导”项目。事实证明,其中一个是Mac OS,另一个是NixOS。(奇怪-在Mac OS分区之前以Mac OS分区命名。)好。
我出于好奇而安装并检查了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及其内容以外的所有内容均由NixOS安装创建。
再次将Mac OS设为默认
(这是我对14.04的经验。)
要再次使Mac OS成为默认操作系统,并Option在以Mac OS分区命名的-key引导菜单中设置相应的项目,只需在Mac OS下进入“ 系统偏好设置...”>“启动磁盘”,然后选择具有Mac OS的分区即可。奇怪的是,它需要两次输入管理员密码,并且该分区仍未显示为选中状态,但可以正常工作。
其他说明
要始终看到gummiboot菜单,只需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,这可能是一个常见问题。
链接到替代安装说明