Siguiente: , Anterior: , Subir: Configuración del sistema   [Índice general][Índice]


10.13 Configuración del gestor de arranque

El sistema operativo permite varios cargadores de arranque. El cargador de arranque se configura mediante el uso de la declaración bootloader-configuration. Todos los campos de esta estructura son independientes del cargador de arranque excepto uno, bootloader, que indica el cargador de arranque a configurar e instalar.

Algunos de los cargadores de arranque no inspeccionan todos los campos de bootloader-configuration. Por ejemplo, el cargador de arranque extlinux no permite temas y por lo tanto ignora el campo theme.

Tipo de datos: bootloader-configuration

El tipo de una declaración de configuración del cargador de arranque.

bootloader

The bootloader to use, as a bootloader object. For now grub-bootloader, grub-efi-bootloader, grub-efi-netboot-bootloader, extlinux-bootloader and u-boot-bootloader are supported.

Los cargadores de arranque se describen en los módulos (gnu bootloader …). En particular, (gnu bootloader u-boot) contiene definiciones de cargadores de arranque para un amplio rango de sistemas ARM y AArch64, mediante el uso del cargador de arranque U-Boot.

grub-efi-bootloader permite el arranque en sistemas modernos que usan la interfaz extendida de firmware unificada (UEFI). Es el que debería ser usado si la imagen de instalación contiene un directorio /sys/firmware/efi cuando la arranca en su sistema.

grub-bootloader permite el arranque en máquinas basadas en Intel en modo “antiguo” BIOS.

grub-efi-netboot-bootloader allows you to boot your system over network through TFTP. In combination with an NFS root file system this allows you to build a diskless Guix system.

La instalación de grub-efi-netboot-bootloader genera el contenido del directorio raíz de TFTP en target (véase target), para que sea proporcionado por un servidor TFTP. Puede que desee montar el directorio de su servidor TFTP sobre target para mover los archivos necesarios al servidor TFTP de manera automática.

Si tiene pensado usar también un sistema de archivos raíz NFS (en realidad si monta el almacén desde un directorio compartido con NFS) el servidor TFTP también debe proporcionar el archivo /boot/grub/grub.cfg y otros archivos desde el almacén (como las imágenes de fondo de GRUB, el núcleo (véase kernel) y el disco en RAM para el arranque (véase initrd)). GRUB accederá a todos estos archivos del almacén a través de TFTP con su ruta del almacén habitual, como por ejemplo tftp://tftp-server/gnu/store/…-initrd/initrd.cpio.gz.

Dos enlaces simbólicos se crean para hacer esto posible. El primer enlace simbólico es target/efi/Guix/boot/grub/grub.cfg, el cual apunta a ../../../boot/grub/grub.cfg, donde target puede ser /boot. En este caso el enlace no abandona el directorio raíz proporcionado a través de TFTP, pero en otro caso sí lo hace. El segundo enlace es target/gnu/store y apunta ../gnu/store. Este enlace abandona el directorío raíz proporcionado a través de TFTP.

Todo esto asume que tiene un servidor NFS que exporta el sistema de archivos raíz de su sistema Guix, y de manera adicional un servidor TFTP que exporta su directorio target—habitualmente /boot—desde la misma raíz del sistema de archivos que su sistema Guix. Si se dan estos factores, los enlaces funcionarán.

En otros casos debe programar su propio instalador del cargador de arranque, el cual se encargue de hacer que los archivos necesarios sean accesibles a través de TFTP, por ejemplo copiando dichos archivos al directorio raíz de TFTP en target.

It is important to note that symlinks pointing outside the TFTP root directory may need to be allowed in the configuration of your TFTP server. Further the store link exposes the whole store through TFTP. Both points need to be considered carefully for security aspects.

Además de lo expresado anteriormente—grub-efi-netboot-bootloader, los servidores TFTP y NFS—también necesitará un servidor DHCP configurado correctamente para hacer posible el arranque a través de la red. Para esto únicamente podemos recomendarle por el momento que busque información sobre PXE (Preboot eXecution Environment).

target

Una cadena que indica donde se instalará el cargador de arranque.

La interpretación depende del cargador de arranque en cuestión. Cuando se usa grub-bootloader, por ejemplo, debe ser un nombre de dispositivo que entienda la orden de instalación (installer) del cargador de arranque, como /dev/sda o (hd0) (véase Invoking grub-install en GNU GRUB Manual). Con grub-efi-bootloader, debe apuntar al punto de montaje del sistema de archivos EFI, habitualmente /boot/efi. Con grub-efi-netboot-bootloader, target debe indicar el punto de montaje correspondiente al directorio raíz de TFTP de su servidor TFTP.

menu-entries (predeterminadas: ())

Una lista posiblemente vacía de objetos menu-entry (véase a continuación), que indican entradas que deben aparecer en el menú del cargador de arranque, además de la entrada del sistema actual y la entrada que apunta a generaciones previas del sistema.

default-entry (predeterminada: 0)

El índice de la entrada del menú de arranque por omisión. El índice 0 es para la entrada del sistema actual.

timeout (predeterminado: 5)

El número de segundos que se esperará entrada por el teclado antes de arrancar. El valor 0 indica que se debe arrancar de forma inmediata, y -1 que se debe esperar indefinidamente.

keyboard-layout (predeterminada: #f)

Si es #f, el menú del cargador de arranque (si existe) usa la distribución de teclado predeterminada, habitualmente inglés estadounidense (“qwerty”).

En otro caso, debe ser un objeto keyboard-layout (véase Distribución de teclado).

Nota: Esta opción se ignora actualmente por todos los cargadores de arranque menos grub y grub-efi.

theme (predeterminado: #f)

El objeto del tema del cargador de arranque que describe el tema usado. Si no se proporciona ningún tema, algunos cargadores de arranque pueden usar un tema por omisión, lo cual es cierto en GRUB.

terminal-outputs (predeterminadas: '(gfxterm))

Los terminales de salida que se usarán para el menú de arranque, como una lista de símbolos. GRUB acepta los valores: console, serial, serial_{0-3}, gfxterm, vga_text, mda_text, morse y pkmodem. Este campo corresponde con la variable GRUB_TERMINAL_OUTPUT (véase Simple configuration en GNU GRUB manual).

terminal-inputs (predeterminadas: '())

Los terminales de entrada que se usarán para el menú de arranque, como una lista de símbolos. Para GRUB, el valor predeterminado es el terminal nativo de la plataforma determinado en tiempo de ejecución. GRUB acepta los valores: console, serial, serial{0-3}, at_keyboard y usb_keyboard. Este campo corresponde a la variable GRUB GRUB_TERMINAL_INPUT (véase Simple configuration en GNU GRUB manual).

serial-unit (predeterminada: #f)

La unidad serie usada por el cargador de arranque, como un entero del 0 al 3. Para GRUB, se selecciona en tiempo de ejecución; actualmente GRUB selecciona 0 lo que corresponde a COM1 (véase Serial terminal en GNU GRUB manual).

serial-speed (predeterminada: #f)

La velocidad de la interfaz serie, como un entero. Para GRUB, el valor predeterminado se selecciona en tiempo de ejecución, actualmente GRUB selecciona 9600 bps (véase Serial terminal en GNU GRUB manual).

Si desease listar entradas adicionales para el menú de arranque a través del campo menu-entries mostrado previamente, deberá crearlas con la forma menu-entry. Por ejemplo, imagine que desea ser capaz de arrancar otra distribución (¡difícil de imaginar!), puede definir una entrada de menú de esta forma:

(menu-entry
  (label "La otra distribución")
  (linux "/boot/old/vmlinux-2.6.32")
  (linux-arguments '("root=/dev/sda2"))
  (initrd "/boot/old/initrd"))

Los detalles se encuentran a continuación.

Tipo de datos: menu-entry

El tipo de una entrada en el menú del cargador de arranque.

label

La etiqueta a mostrar en el menú—por ejemplo, "GNU".

linux (predeterminado: #f)

La imagen del núcleo Linux a arrancar, por ejemplo:

(file-append linux-libre "/bzImage")

Con GRUB, también es posible especificar un dispositivo explícitamente mediante el uso de la convención de nombres de dispositivo de GRUB (véase Naming convention en GNU GRUB manual), por ejemplo:

"(hd0,msdos1)/boot/vmlinuz"

Si se especifica el dispositivo explícitamente como en el ejemplo anterior, el campo device se ignora completamente.

linux-arguments (predeterminados: ())

La lista de parámetros extra de línea de órdenes para el núcleo Linux—por ejemplo, ("console=ttyS0").

initrd (predeterminado: #f)

Una expresión-G o una cadena que contiene el nombre de archivo del disco inicial en RAM usado (véase Expresiones-G).

device (predeterminado: #f)

El dispositivo donde se encuentran el núcleo y el initrd—es decir, para GRUB, raíz de esta entrada de menú (véase root en GNU GRUB manual).

Puede ser una etiqueta de sistema de archivos (una cadena), un UUID de sistema de archivos (un vector de bytes, véase Sistemas de archivos), o #f, en cuyo caso el cargador de arranque buscará el dispositivo que contenga el archivo especificado por el campo linux (véase search en GNU GRUB manual). No debe ser un nombre de dispositivo del SO como /dev/sda1.

multiboot-kernel (predeterminado: #f)

El núcleo a arrancar en modo Multiboot (véase multiboot en GNU GRUB manual). Cuando se proporciona este campo, se genera una entrada Multiboot en el menú. Por ejemplo:

(file-append mach "/boot/gnumach")
multiboot-arguments (predeterminados: ())

Lista de parámetros adicionales que se proporcionan al núcleo Multiboot en la línea de órdenes.

multiboot-modules (predeterminados: ())

Lista de ordenes para cargar módulos de Multiboot. Por ejemplo:

(list (list (file-append hurd "/hurd/ext2fs.static") "ext2fs"
             )
      (list (file-append libc "/lib/ld.so.1") "exec"
             ))

De momento únicamente GRUB permite el uso de temas. Los temas de GRUB se crean mediante el uso de grub-theme, todavía no documentado completamente.

Tipo de datos: grub-theme

Tipo de datos que representa la configuración de un tema de GRUB.

gfxmode (predeterminado: '("auto"))

El modo gráfico gfxmode de GRUB configurado (una lista de cadenas con resoluciones de pantalla, véase gfxmode en GNU GRUB manual).

Procedimiento Scheme: grub-theme

Devuelve el tema predeterminado de GRUB que usa el sistema operativo si no se especifica el campo theme en el registro bootloader-configuration.

Viene con una bonita imagen de fondo que muestra los logos de GNU y Guix.

Por ejemplo, para usar una resolución distinta de la predeterminada, puede usar algo como esto:

(bootloader
 (bootloader-configuration
 ;; …
 (theme (grub-theme
         (inherit (grub-theme))
         (gfxmode '("1024x786x32" "auto"))))))

Siguiente: , Anterior: , Subir: Configuración del sistema   [Índice general][Índice]