ELILO
Es realmente difícil para mí decidir qué parte de eso copiar + pegar porque todo es realmente bueno, así que solo les pediré que lo lean.
Rod Smith
Creado y mantiene ambos gdisk
y rEFInd
.
Pero antes de hacerlo, me gustaría comentar un poco al respecto. El enlace de ELILO anterior es una de las muchas páginas sobre arranque UEFI que encontrará en rodsbooks.com escrito por Rod Smith. Es un escritor técnico consumado, y si alguna vez buscó en Google el tema del arranque de UEFI y terminó sin leer algo suyo, probablemente fue porque se saltó los primeros resultados.
Arranque UEFI Linux
Básicamente, el núcleo de Linux puede ser ejecutado directamente por el firmware.
En el enlace anterior, menciona el cargador de código auxiliar EFI del kernel de Linux : en mi opinión, esto es lo que debería usar, ya que permite que el firmware llame directamente al kernel de Linux. Independientemente de lo que esté haciendo, el firmware está ejecutando algo , y parece que algo lo está haciendo grub
. Si el firmware puede cargar directamente su kernel os, ¿de qué sirve un gestor de arranque? El firmware UEFI monta una partición GPT con formato FAT marcada especialmente por la tabla de particiones y ejecuta una ruta allí que ha guardado como una variable de arranque UEFI en un módulo de memoria flash integrado. Entonces, una cosa que puede hacer es colocar el kernel de Linux en esa partición FAT y almacenar su ruta en esa variable de arranque. De repente, el núcleo es propio. cargador de arranque
Cargadores de arranque
En los sistemas UEFI, los gestores de arranque son redundantes, incluido ELILO.
El problema que los cargadores de arranque fueron diseñados para resolver fue que los sistemas BIOS solo leen en el primer sector de la partición marcada de arranque y la ejecutan. Es un poco difícil hacer algo significativo con un núcleo de 512 bytes, por lo que lo más común es escribir una pequeña utilidad que pueda montar un sistema de archivos donde guarde el núcleo real y cargarlo en cadena.
De hecho, los 512 bytes a menudo no eran suficientes incluso para los gestores de arranque. grub
, por ejemplo, en realidad se carga en cadena antes de cargar en cadena su kernel, ya que encaja en su segunda etapa en el espacio vacío entre el sector de arranque y el primer sector de su sistema de archivos. Es una especie de truco sucio, pero funcionó.
Administradores de arranque
Sin embargo, en aras de una configuración fácil, algunos intermediarios pueden ser útiles.
Lo que hace rEFInd de Rod Smith es lanzarlo como una aplicación EFI : este es un concepto relativamente nuevo. Es un programa que se ejecuta desde el disco por, y que vuelve a, el firmware. Lo que hace rEFInd es permitirle administrar los menús de arranque y luego devolver su selección de arranque al firmware para ejecutar. Viene con controladores de sistema de archivos UEFI , por lo que, por ejemplo, puede usar el cargador EFI-stub del núcleo en una partición que no sea FAT (como su actual /boot
). Es muy simple de administrar, si es que tal cosa es necesaria, y agrega la simplicidad de un núcleo del sistema ejecutable a la conveniencia de un administrador de arranque configurable.
Indirección Atómica
El núcleo no necesita enlaces simbólicos, puede mount --bind
.
Si hay algún camino en su lugar /
donde no debe permitir la simbología, es /boot
. Un enlace simbólico huérfano no/boot
es el tipo de problema que debería tener que solucionar. Aún así, es una práctica lo suficientemente común como para configurar indirectas elaboradas por varias distribuciones, incluso si es una idea horrible, para manejar actualizaciones de kernel in situ y / o configuraciones de kernel múltiples./boot
Este es un problema para los sistemas EFI no configurados para cargar controladores de sistema de archivos (como los que se proporcionan con el paquete rEFInd) porque FAT es un sistema de archivos bastante estúpido en general, y no los comprende.
No utilizo personalmente los controladores del sistema de archivos UEFI provistos con rEFInd, aunque la mayoría de las distribuciones incluyen un paquete rEFInd que se puede instalar a través del administrador de paquetes y olvidar solo usar su propia /boot
configuración de enlaces simbólicos y los controladores del sistema de archivos UEFI empaquetados de rEFInd.
Mi config
Una vez escribí un conjunto de instrucciones y lo publiqué aquí , pero parece que:
% grep esp /etc/fstab &&
> ls /esp/EFI
LABEL=ESP /esp vfat defaults 0 1
/esp/EFI/arch_root /boot none bind,defaults 0 0
arch_root/ arch_sqsh/ arch_xbmc/ BOOT/ ipxe/
Así que solo puse esas dos líneas en mi /etc/fstab
señalador a una carpeta que pretendo contener las nuevas instalaciones de Linux /boot
y casi termino de preocuparme por todo. También tengo que hacer:
cat /boot/refind_linux.conf
"Arch" "root=LABEL=data rootflags=subvol=arch_root,rw,ssd,compress-force=lzo,space_cache,relatime"
Además de instalar el refind-efi
paquete a través pacman
del primero, eso es todo lo que se requiere para configurar tantas instalaciones / configuraciones separadas como desee. Tenga en cuenta que la mayoría de esa cadena de arriba consta de opciones de montaje específicas de btrfs especificadas como parámetros del núcleo. Un más típico /boot/refind_linux.conf
probablemente se vería así:
"Menu Entry" "root=/dev/sda2"
Y eso es todo lo que se necesita.
rodsbooks.com
Si aún desea ELILO, puede encontrar las instrucciones de instalación en el enlace de arriba. Si quieres rEFInd encontrarás enlaces a él en el primer párrafo allí. Básicamente, si desea realizar cualquier configuración de arranque UEFI, lea primero rodsbooks.com .