Toto je aktualizovaná verze mé původní odpovědi, měla by fungovat pro NixOS 15.09. Obsahuje drobné úpravy oproti původní verzi, kterou jsem použil k instalaci NixOS 14.04 s pomocí nix-dev seznam adresátů.
Počáteční nastavení
-
MacBook 5,1 (2008) s Mac OS 10.9 a pevným diskem rozděleným takto:
a) 200 MB systémový oddíl EFI označený jako "EFI".
b) Dva oddíly používané systémem Mac OS (10.9).
c) Dva prázdné oddíly ext4 označené „nixos“ a „home“ a oddíl Linux Swap označený jako „swap“.
Použil jsem následující nástroje:
-
GPT fdisk (z Mac OS),
-
mkfs.ext4
(z NixOS na spouštěcí jednotce USB), -
mkswap
.
Zde je moje tabulka oddílů vytištěná
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
-
-
Kabelové ethernetové připojení k internetu.
-
Jednotka USB naformátovaná jako FAT s MBR a označená
NIXOS_ISO
, s kopií (přetažením) obsahu 64bitového obrazu ISO NixOS 15.09 (Live CD nebo Minimal).-
Štítek jednotky USB musí být
NIXOS_ISO
(zkoušel jsem sFLASH
jednou to nefungovalo). -
Zdá se, že obrazy ISO NixOS 15.09 nelze připojit pod Mac OS. Pokud obraz nelze připojit, stačí rozbalit jeho obsah. Mohl bych extrahovat obsah obrazu ISO pomocí archivátoru souborů Keka.
-
Instalace
-
Zaveďte systém z jednotky USB podržením Alt/Option při restartování a výběrem USB EFI Boot . Přihlaste se jako "root" (bez hesla). Ujistěte se, že připojení k internetu funguje. Pro instalaci je nutné připojení k internetu.
-
Provést
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
-
Přidat
nixpkgs.config.allowUnfree = true;
ve vygenerovaném souboru /mnt/etc/nixos/configuration.nix soubor.
-
Provést
nixos-install
-
Restartovat:
reboot
Bootování
(Toto byla moje zkušenost s 14.04. )
Po restartu počítač nabootoval do NixOS. I restartoval jsem se znovu, tentokrát s Alt/Option Zaváděcí nabídka ukázala dvě identicky vypadající položky „EFI Boot“. Ukázalo se, že jedna z nich je Mac OS a druhá NixOS. (Zvláštní – předtím, než byla ta s Mac OS pojmenována podle oddílu Mac OS. )Dobře.
Připojil jsem a prohlédl jsem si obsah systémového oddílu EFI ze zvědavosti:
§ 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
Vše kromě /EFI/APPLE a jeho obsah byl vytvořen instalací NixOS.
Opětovné nastavení Mac OS jako výchozího
(Toto byla moje zkušenost s 14.04. )
Chcete-li znovu nastavit Mac OS jako výchozí a provést odpovídající položku v Option -key boot menu pojmenované podle oddílu Mac OS, stačilo přejít do System Preferences...> Startup Disk pod Mac OS a vyberte oddíl s Mac OS. Kupodivu to vyžadovalo dvakrát zadat heslo správce a oddíl se stále nezobrazoval jako vybraný, ale jinak to fungovalo.
Další pokyny
-
Chcete-li vždy vidět gummiboot stačí nastavit
boot.loader.gummiboot.timeout
v configuration.nix . -
Pro správnou konfiguraci mé nVidia grafické kartě, nakonec jsem použil open-source nouveau řidič:services.xserver.videoDrivers = [ "nouveau" ];
Nemám na to žádné stížnosti. Pokud použiji proprietární"nvidia"
místo toho textové konzole nefungují.Aktualizace pro NixOS 16.09 . Všiml jsem si, že na mém počítači s NixOS 16.09 je volba
services.xserver.videoDrivers
není potřeba v configuration.nix aby vše fungovalo dobře a že ve skutečnosti znatelně snižuje grafický výkon podle několika testů, které jsem provedl s glmark2 benchmark OpenGL. Také jsem si všiml, že výběr"nvidia"
přeruší grafický režim, ale opustí textové konzole, na rozdíl od toho, co jsem pozoroval u Nix OS 14.04. Tohle všechno mi přijde trochu divné, ale tohle je to, co jsem si všiml, takže jsem tuto možnost odstranil ze svého configuration.nix . -
Chcete-li načíst soubor applesmc modulu (například pro snímač náhlého pohybu) mi bylo navrženo přidat následující do configuration.nix :
boot.kernelModules = [ "applesmc" ];
Poznámky a postřehy
Jediný „problém“ s NixOS na mém MacBooku, který jsem zatím pozoroval, je ten, že se s NixOS můj notebook obvykle zahřívá o 5-10 °C než pod Mac OS 10.9. To může být obvyklý problém pro Linux na Macu.
Odkazy na alternativní pokyny k instalaci
- Instalujte Linux na MacBook Air, 17. 6. 2015 (Instalace NixOS na MacBook Air v konfiguraci s duálním spouštěním s Mac OS).
Několik dalších tipů:
Pokud chcete zprovoznit podsvícení a zabránit tomu, aby se notebook při zavřeném víku samovolně obnovil, můžete v configuration.nix
použít něco jako následující :
# 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
'';
V závislosti na verzi vašeho MacBooku možná budete muset vyladit výše uvedené příkazy, takže je prosím slepě nekopírujte a nevkládejte.