A variável params define parâmetros que serão passados para o kernel durante o boot. Parâmetros típicos como init=/bin/bash ou root=/dev/sda3 e outros podem ser definidos. Esse é um exemplo (sofisticado) elaborado por Andreas Matuschek e publicado na lista de mensagens funtoo-dev.
"Funtoo
Linux On Ice" {
params root=/dev/sda2
params += rootfstype=jfs
params += usbcore.autosuspend=1
params += acpi_sleep=s3_bios,s3_mode
params += hpet=force
params += video=radeonfb:ywrap,mtrr:1,1024x768-32@60
params += quiet
params += splash=silent,kdgraphics,theme:natural_gentoo
params += CONSOLE=/dev/tty1
kernel vmlinuz[-v]
initrd ramfs
}
Parâmetros especiais
O sinal += é especificado no começo da declaração seguinte a declaração inicial, significando que essa declaração é adicionada a anterior. Isso permite que esses valores sejam declarados em múltiplas linhas tornando o código legível.
O valor root=auto é avaliado, o framework olhará os valores em /etc/fstab para determinar a raiz do sistema de arquivos. Então, o valor substituído e passado será algo como root=/dev/sda3.
O valor rootfstype=auto é similar ao anterior. Entretanto, ele determina o tipo de sistema de arquivos (formatação) utilizado para a raiz. O valor substituído será algo como rootfstype=ext4, de acordo com /etc/fstab.
O valor real_root=auto é um parâmetro especial utilizado quando genkernel initrds espera uma valor real_root. Algo como real_root=/dev/sda3 pode ser encontrado substituindo o valor auto.
Distribuições Linux em partições separadas
O comando
boot-update suporta a criação de entradas de boot para distribuições Linux instaladas em partições separadas. Em tempo, para boot-update encontrar esses kernels e initrds localizados em outras partições você deve criar um ponto de montagem para essa partição. Após criar esse ponto de montagem, você deve especificar o caminho absoluto para esse kernel utilizando a variável scan.
"Debian Sid" {
scan /mnt/debian/boot
kernel vmlinuz[-v]
initrd initrd.img
params root=/dev/sdb1
}
Observe que você deve configurar os valores parms root=/dev/
para seu valor real e correto de modo a sobrescrever root=auto. Valores automáticos ainda não são suportados para outras distribuições. A desvantagem desse método é que sempre que precisar atualizar seu boot-update será necessário montar esse ponto de montagem.
Carregando sistemas alternativos
Existem outros sistemas operacionais além do GNU/Linux! E é até possível carregá-los (se alguém precisar disto :) ). Uma entrada para outros sistemas operacionais precisa de um tipo definido. Atualmente, boot-update reconhece os seguintes valores (case-insensitive): linux (o padrão), dos, msdos, Windows (+= 2000, XP, Vista, 7, 8, Win (+= 2000, XP, 7, 8), Vista, Haiku (+= OS). Esses sistemas são carregados por chain loading. Por consistência é utilizada uma entrada do tipo root=device.
A Seção Boot
Essa seção (boot :: generate) define o boot loader que boot-update deve utilizar para gerar uma configuração. Isso deve ser uma única string definida para grub, grub-legacy ou lilo. O padrão é grub.
O valor em boot :: timeout define o tempo de espera em segundos ante de dar partida no sistema padrão. O padrão é 5 segundos.
O valor em boot :: default é utilizado de dois modos para definir o sistema padrão. O primeiro modo é para especificar o nome do kernel que será bootado por padrão. Essa configuração NÃO deve conter nenhum caminho ou rota, apenas o nome do arquivo da imagem deve ser definido. Esse é o mecanismo padrão para configurar o valor de bzImage.
Alternativamente, você pode especificar o nome literal da entrada que deseja bootar. Isso é comum se deseja um sistema não GNU/Linux. Algo como:
"My Windows 7" {
type win7
params root=/dev/sda6
}
# ...teria a entrada como :
boot {
generate grub
default My Windows 7
}
Esse é o mecanismo se você deseja bootar o mais recente kernel por padrão. Para fazer isso, defina o nome boot como uma entrada no lugar o kernel.
boot {
default "Funtoo Linux"
}
Se múltiplas entradas "Funtoo Linux" são criadas, a mais recente (avaliada pelo valor de mtime) será bootada por padrão.
O valor em boot :: bootdev define que dispositivo ou partição o bootloader está instalado. Isso é atualmente utilizado por LILO, e equivale a configura o valor de boot = em /etc/lilo.conf. Outros bootloaders irão ignorar essa entrada.
O valor em boot :: terminal define o modo do terminal em serial ou vídeo, que é o padrão. Esse valor afeta o bootloader bem como as saídas do kernel.
A seção SERIAL
Define a porta serial para uso do bootloader e do kernel. Os possíveis valores são: unit ( um número de tty, o padrão é 0), speed (em bps, o padrão é 115200), word (define o tamanho da palavra, padrão é 8), parity ( define a paridade em sim ou não, o padrão é não (no), stop (define o bit de parada em zero ou um, o padrão é 1).
As seções DEFAULT e BOOT
O valor em default :: type define o tipo de entrada para o Linux. Entradas do tipo DOS e Windows são suportadas. O chainload apropriado será carregado de acordo com a versão do sistema Windows desejado.
"My Windows 7" {
type win7
params root=/dev/sda6
}
O valor em default :: scan define um ou mais diretórios para varrer procurando pelo kernel e pelo initrd. O padrão é /boot.
O valor default :: kernel define o nome da imagem ou combinações de nomes, para procurar por kernels para gerar entradas no menu. O caminho definido em scan é procurado. Englobamento é suportado, mas somente um por nome de arquivo. O valor especial [-v] é utilizado para combinar um nome básico de kernel (como bzImage) mais todos os kernels de uma versão opcional. Englobamentos arbitrários como bzImage[-2.6.*] podem ser utilizados.
O valor em default :: initrd define a imagem initrd/iniramfs que será carregada no menu de entrada. Se múltiplas imagens são definidas TODAS serão carregadas na entrada do menu. Englobamentos são suportados, inclusive os arbitrários. O valor especial [-v] é suportado.
O valor em default :: params define uma série de parâmetros passados para o kernel em tempo de boot. O operador += é utilizado para estender esses valores por várias linhas que são concatenadas e passadas ao menu.
A seção DISPLAY
O valor em display :: gfxmode define o modo de vídeo utilizado pelo bootloader. Esse valor é herdado e pode ser utilizado como padrão em um boot gráfico (uvesafb, vesa-fb-tng). Essa opção é suportada por GRUB. O valor padrão é texto para o boot do tipo MBR, ou "640x480" para um boot do tipo UEFI.
O valor em display :: background define a imagem gráfica exibida em tempo de boot. O arquivo deve residir em /boot. São aceitos os padrões jpg, png e tga. Esse valor somente é suportado por GRUB. O padrão é nenhum.
O valor em display :: font define uma fonte de caracteres utilizadas para exibir as letras do bootloader. O único valor disponível é unifont.pf2 instalado, por padrão, quando GRUB é instalado em Funtoo. Se esse arquivo não for localizado em /boot/grub ele deve ser copiado de /usr/share/grub/fonts, se houver. Somente GRUB pode utilizar essa opção e somente se o valor de gfxmode for definido.
A seção COLOR
Somente GRUB pode suportar cores.
O valor em color :: normal define as cores em fg/bg. Os valores padrão são cyan/blue. Dica: Quando uma imagem é definida em background o valor padrão da cor bg é black.
O valor em color :: highlight define as cores brilhantes para o menu no formato fg/bg. Os valores padrão são blue/cyan.
Leia também: boot-update(8), genkernel(8)
Esse manual é documentação livre.