GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo configurar NixOS de arranque dual con Mac OS X en una MacBook (U)EFI?

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 usé para instalar NixOS 14.04 con la ayuda de nix-dev lista de correo.

Configuración inicial

  1. 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 etiquetadas como "nixos" y "home", y una partición de intercambio de Linux etiquetada como "swap".

    Usé las siguientes herramientas:

    • disco GPT (desde bajo Mac OS),

    • mkfs.ext4 (desde 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
    
  2. Conexión a Internet por cable Ethernet.

  3. Una unidad USB formateada como FAT con MBR y etiquetada como NIXOS_ISO , con una copia (arrastrar y soltar) del contenido de la imagen ISO de 64 bits de NixOS 15.09 (Live CD o Minimal).

    • La etiqueta de la unidad USB debe ser NIXOS_ISO (lo intenté con 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, basta con extraer su contenido. Podría extraer el contenido de la imagen ISO con el archivador de archivos Keka.

Instalación

  1. Arranque desde la unidad USB manteniendo presionada la Alt/Opción al reiniciar y seleccionando la tecla 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.

  2. 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
    
  3. Añadir

    nixpkgs.config.allowUnfree = true;
    

    en el /mnt/etc/nixos/configuration.nix generado archivo.

  4. Ejecutar

    nixos-install
    
  5. Reiniciar:

    reboot
    

Arrancando

(Esta fue mi experiencia con 14.04. )

Después de reiniciar, la computadora arrancó en NixOS. Reinicié de nuevo, manteniendo presionada esta vez Alt/Option clave. El menú de inicio mostraba dos elementos "EFI Boot" de aspecto idéntico. Resultó que uno de ellos es Mac OS y el otro es NixOS. (Extraño, antes de que el que tenía Mac OS fuera nombrado después de la partición de Mac OS. )Vale.

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 allí menos /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 hacer que Mac OS vuelva a ser predeterminado y hacer el elemento correspondiente en la Opción -menú de inicio clave que lleva el nombre de la partición de Mac OS, bastaba con ir a Preferencias del sistema...> Disco de inicio en Mac OS y seleccione la partición con Mac OS. Extrañamente, requería ingresar la contraseña de administrador dos veces, y la partición aún no se mostraba como seleccionada, pero por lo demás funcionó.

Otras instrucciones

  • Para ver siempre gummiboot menú, basta con configurar boot.loader.gummiboot.timeout en configuración.nix .

  • Para configurar correctamente mi nVidia tarjeta gráfica, terminé usando la nouveau de código abierto conductor:

    services.xserver.videoDrivers = [ "nouveau" ];
    

    No tengo quejas al respecto. Si uso el propietario "nvidia" en cambio, 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 necesario en configuration.nix que todo funcione bien, y que de hecho degrada notablemente el rendimiento gráfico según unas pruebas que hice con glmark2 Punto de referencia de OpenGL. También observé que seleccionar "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 applesmc módulo (para el sensor de movimiento repentino, por ejemplo) se me sugirió agregar lo siguiente a configuration.nix :

    boot.kernelModules = [ "applesmc" ];
    

Comentarios 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 más que con Mac OS 10.9. Este podría ser un problema habitual de Linux en una Mac.

Enlaces a instrucciones de instalación alternativas

  • Instalar Linux en una MacBook Air, 17/06/2015 (Instalación de NixOS en una MacBook Air en una configuración de arranque dual con Mac OS).

Algunos consejos adicionales:

Si desea que su luz de fondo funcione y evitar que su computadora portátil se reanude espontáneamente mientras la tapa está cerrada, puede usar algo como lo siguiente en su 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
  '';

Dependiendo de la versión de su MacBook, es posible que deba modificar los comandos anteriores, así que no copie y pegue a ciegas.


Linux
  1. Cómo arrancar dualmente Manjaro y Windows 10

  2. ¿Configurar arranque dual, Windows 7 y Ubuntu 12.04 con o sin Efi?

  3. ¿Hardware Uefi y arranque dual con Windows?

  4. ¿Cómo acceder a la configuración de BIOS con Efi?

  5. Cómo configurar IMAP con SSL

Cómo instalar Ubuntu 18.04 Dual Boot con Windows 10

Cómo instalar Ubuntu 18.04 junto con Windows 10 u 8 en arranque dual

cómo configurar centos 8 para que arranque con la versión antigua del kernel

Cómo instalar Linux en Macintosh y arranque dual con macOS

Cómo configurar Nginx con SSL

Cómo configurar PHP-FPM con NGINX