Esta es una versión actualizada de mi respuesta inicial, debería funcionar para NixOS 15.09. Contiene modificaciones menores en comparación con la versión inicial que utilicé para instalar NixOS 14.04 con alguna ayuda de la lista de correo nix-dev .
Configuración inicial
MacBook 5,1 (2008) con Mac OS 10.9 y disco duro particionado de la siguiente manera:
a) Partición del sistema EFI de 200 MB con la etiqueta "EFI".
b) Dos particiones utilizadas por Mac OS (10.9).
c) Dos particiones ext4 vacías con la etiqueta "nixos" y "home", y una partición de intercambio de Linux con la etiqueta "swap".
Usé las siguientes herramientas:
GPT fdisk (desde debajo de Mac OS),
mkfs.ext4
(desde debajo de NixOS en una unidad USB de arranque),
mkswap
.
Aquí está mi tabla de particiones impresa por 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
Conexión a internet por cable Ethernet.
Una unidad USB formateada como FAT con MBR y etiquetada NIXOS_ISO
, con una copia (arrastrada y soltada) del contenido de la imagen ISO NixOS 15.09 de 64 bits (Live CD o Minimal).
La etiqueta de la unidad USB debe ser NIXOS_ISO
(lo intenté FLASH
una vez, no funcionó).
Parece que las imágenes ISO de NixOS 15.09 no se pueden montar en Mac OS. Si la imagen no se puede montar, es suficiente extraer su contenido. Podría extraer el contenido de la imagen ISO con el archivador de archivos Keka .
Instalación
Arranque desde la unidad USB manteniendo presionada la Alt/Optiontecla al reiniciar y seleccionando USB EFI Boot . Inicie sesión como "root" (sin contraseña). Asegúrese de que la conexión a Internet esté funcionando. La conexión a Internet es necesaria para la instalación.
Ejecutar
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
Añadir
nixpkgs.config.allowUnfree = true;
en el archivo /mnt/etc/nixos/configuration.nix generado .
Ejecutar
nixos-install
Reiniciar:
reboot
Arranque
( Esta fue mi experiencia con 14.04. )
Después de reiniciar, la computadora se inició en NixOS. Reinicié de nuevo, sosteniendo esta vez la Alt/Optionllave. El menú de arranque mostraba dos elementos de "arranque EFI" idénticos. Resultó que uno de ellos es Mac OS, y el otro es NixOS. (Extraño: antes de que el que tenía Mac OS lleva el nombre de la partición de Mac OS). Ok.
Monté e inspeccioné el contenido de la partición del sistema EFI por curiosidad:
§ 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
Todo lo que hay excepto / EFI / APPLE y su contenido ha sido creado por la instalación de NixOS.
Hacer que Mac OS vuelva a ser predeterminado
( Esta fue mi experiencia con 14.04. )
Para que Mac OS vuelva a ser predeterminado y para que el elemento correspondiente en el Optionmenú de arranque de la tecla con el nombre de la partición de Mac OS, sea suficiente para ir a Preferencias del sistema ...> Disco de inicio en Mac OS y seleccionar la partición con Mac OS. Curiosamente, requirió ingresar la contraseña de administrador dos veces, y la partición aún no se mostraba como seleccionada, pero de lo contrario funcionó.
Otras instrucciones
Para ver siempre el menú gummiboot , es suficiente configurarlo boot.loader.gummiboot.timeout
en configuration.nix .
Para configurar correctamente mi tarjeta gráfica nVidia , terminé usando el controlador nouveau de código abierto :
services.xserver.videoDrivers = [ "nouveau" ];
No tengo quejas al respecto. Si uso el propietario "nvidia"
, las consolas de texto no funcionan.
Actualización para NixOS 16.09 . Observé que en mi máquina con NixOS 16.09, la opción services.xserver.videoDrivers
no es necesaria en configuration.nix para que todo funcione bien, y que de hecho degrada notablemente el rendimiento gráfico de acuerdo con algunas pruebas que hice con el benchmark glmark2 OpenGL. También observé que la selección "nvidia"
interrumpe el modo gráfico pero deja las consolas de texto, al contrario de lo que observé con Nix OS 14.04. Todo esto me parece un poco extraño, pero esto es lo que observé, así que eliminé esta opción de mi configuration.nix .
Para cargar el módulo applesmc (para el sensor de movimiento repentino, por ejemplo), me sugirieron agregar lo siguiente a configuration.nix :
boot.kernelModules = [ "applesmc" ];
Observaciones y observaciones
El único "problema" con NixOS en mi MacBook que he observado hasta ahora es que al ejecutar NixOS, mi computadora portátil generalmente se calienta entre 5 y 10 ° C en comparación con Mac OS 10.9. Este podría ser un problema habitual para Linux en una Mac .
Enlaces a instrucciones de instalación alternativas