São especificadas por um nome alfanumérico, seguido por um espaço em branco e um parêntesis de abertura ( { ). A seção termina com um parêntesis de fechamento. Existem seções especiais (built-in) que são esperadas pelo framework. Atualmente essas seções são: boot, color, default, grub, grub-legacy, lilo e serial.
Em adição às seções especiais, outras seções podem ser criadas pelo usuário. Qualquer seção não-built-in são reconhecidas por seus nomes como entradas que representam uma definição de boot. Por exemplo, "Funtoo
Linux" e "Funtoo Linux genkernel" definem entradas de boot. Devido a /etc/boot.conf suportar wildcard, uma única definição de entrada de boot pode gerar múltiplas entradas no bootloader.
Seção Default
Em adição, essa é uma seção especial chamada default. Ela é utilizada para definir configurações padrão para as entradas de boot. O comando boot-update possui diversas entradas padrão (built-in) que podem ser sobrescritas pelos valores nessa seção. Por exemplo, se você deixar boot/timeout sem uma definição, então o valor padrão será 5 segundos. Para obter os valores padrão utilize:
# boot-update - - showdefaults
# These are the default settings that can be overridden by the /etc/boot.conf file.
section boot {
path /boot
generate grub
timeout 5
default bzImage
terminal video
}
section color {
normal cyan/blue
highlight blue/cyan
}
section default {
type linux
scan /boot
kernel bzImage[-v] kernel[-v] vmlinuz[-v] vmlinux[-v]
params root=auto rootfstype=auto
kernel bzImage[-v] kernel[-v] vmlinuz[-v] vmlinux[-v]
params root=auto rootfstype=auto
xenkernel /boot/xen.gz
gfxmode text
}
section serial {
unit 0
speed 115200
word 8
parity no
stop 1
}
section grub {
dir grub
file grub.cfg
grub-probe /sbin/grub-probe
grub-mkdevicemap /sbin/grub-mkdevicemap
font_src /usr/share/grub/fonts
}
font_src /usr/share/grub/fonts
}
section grub-legacy {
dir grub-legacy
file grub.conf
}
section lilo {
file /etc/lilo.conf
bin /sbin/lilo
gparams install=menu prompt
}
Entradas de Boot Linux
São quatro parâmetros críticos utilizados em uma entrada de boot e na seção default. Os valores: type, kernel, initrd e params. O valor padrão para type é "linux" e informa ao boot-update que são esperados valores para uma entrada do tipo Linux. Se o sistema é de outro tipo (Windows 7, por exemplo) outros valores são utilizados.
Wildcards do kernel Linux
A variável kernel define um ou mais kernel, utilizando o nome exato ou com wildcards. Novamente, observe que é possível para uma entrada boot em /etc/boot.conf gerar múltiplas entradas para um bootloader.
Por exemplo, a entrada seguinte chamada "Funtoo Linux - bzImage" e "Funtoo Linux - bzImage-new" são geradas a partir de:
"Funtoo Linux" {
kernel bzImage bzImage-new
}
O wildcard [-v], somente pode aparecer uma vez por nome de arquivo, pode ser utilizado no fim da palavra (bzImage[-v]) para combinar com um nome básico, ou uma combinação de nomes básicos, mais um hífen e um texto adicional.
"Funtoo Linux" {
kernel bzImage[-v]
}
Em adição, podemos utilizar englobamento com colchetes, para trabalhar de modo similar ao exemplo anterior.
"Funtoo Linux" {
kernel bzImage[-2.6*]
}
Combina com bzImage-2.6.14 e bzImage-2.6.24. Lembramos que o uso de wildcards é opcional. Sempre que puder (e quiser) descreva completamente o nome do seu kernel.
Initrd/initramfs
A variável initrd define um ou mais imagens de initrd ou initramfs, do seguinte modo:
"Funtoo Linux" {
kernel bzImage-RHEL5
initrd initramfs.igz
}
O uso de wildcards é semelhante ao exemplo anterior.
"Funtoo Linux" {
kernel bzImage[-2.6*]
initrd initramfs[-v]
}
Baseado no exemplo acima, uma entrada para bzImage-2.6.24 que possua um initramfs-2.6.24 será gerada, se ela existir. A vantagem da sintaxe anterior é que a entrada para initramfs somente será gerada se existir.
Múltiplos initrds
Uma vez que Linux permite múltiplas imagens initramfs sejam carregadas em tempo de boot, você pode especificar mais de uma em initrd, e elas serão carregadas em sucessão em tempo de boot. Por exemplo:
"Funtoo Linux" {
kernel bzImage
initrd initramfs-1.igz initramfs-2.igz
}
Note que o operador += pode ser utilizado para estender o initramfs padrão ou para múltiplas imagens initramfs.
"Funtoo Linux" {
kernel bzImage
initrd initramfs-1.igz
initrd += initramfs-2.igz
}