/dev/, para esse propósito. Historicamente, /dev/hda era o disco principal (master) na primeira controladora IDE, e /dev/hdb seu primeiro secundário (slave), /dev/hdc e /dev/hdd sendo, respectivamente, os discos principal (master) e secundário (slave) na segunda controladora IDE, e assim por diante para os seguintes. /dev/sda corresponde ao primeiro drive SCSI, /dev/sdb sendo o segundo, etc. A partir do Debian Squeeze, esse esquema de nomeação foi unificado pelo kernel Linux, e todos os discos rígidos (IDE/PATA, SATA, SCSI, USB, IEEE 1394) são agora representados por /dev/sd*.
/dev/sda1 é a primeira partição do primeiro disco, e /dev/sdb3 é a terceira partição do segundo disco.
/dev/sda5, seguida por /dev/sda6, etc.
udev cria, em adição ao /dev/sd*, ligações simbólicas com um nome fixo, o qual você poderia, então, usar se você deseja identificar um disco rígido de maneira não ambigua. Essas ligações simbólicas são armazenadas em /dev/disk/by-id. Em uma máquina com dois discos físicos, por exemplo, pode-se encontrar o seguinte:
mirexpress:/dev/disk/by-id#ls -ltotal 0 lrwxrwxrwx 1 root root 9 23 jul. 08:58 ata-STM3500418AS_9VM3L3KP -> ../../sda lrwxrwxrwx 1 root root 10 23 jul. 08:58 ata-STM3500418AS_9VM3L3KP-part1 -> ../../sda1 lrwxrwxrwx 1 root root 10 23 jul. 08:58 ata-STM3500418AS_9VM3L3KP-part2 -> ../../sda2 [...] lrwxrwxrwx 1 root root 9 23 jul. 08:58 ata-WDC_WD5001AALS-00L3B2_WD-WCAT00241697 -> ../../sdb lrwxrwxrwx 1 root root 10 23 jul. 08:58 ata-WDC_WD5001AALS-00L3B2_WD-WCAT00241697-part1 -> ../../sdb1 lrwxrwxrwx 1 root root 10 23 jul. 08:58 ata-WDC_WD5001AALS-00L3B2_WD-WCAT00241697-part2 -> ../../sdb2 [...] lrwxrwxrwx 1 root root 9 23 jul. 08:58 scsi-SATA_STM3500418AS_9VM3L3KP -> ../../sda lrwxrwxrwx 1 root root 10 23 jul. 08:58 scsi-SATA_STM3500418AS_9VM3L3KP-part1 -> ../../sda1 lrwxrwxrwx 1 root root 10 23 jul. 08:58 scsi-SATA_STM3500418AS_9VM3L3KP-part2 -> ../../sda2 [...] lrwxrwxrwx 1 root root 9 23 jul. 08:58 scsi-SATA_WDC_WD5001AALS-_WD-WCAT00241697 -> ../../sdb lrwxrwxrwx 1 root root 10 23 jul. 08:58 scsi-SATA_WDC_WD5001AALS-_WD-WCAT00241697-part1 -> ../../sdb1 lrwxrwxrwx 1 root root 10 23 jul. 08:58 scsi-SATA_WDC_WD5001AALS-_WD-WCAT00241697-part2 -> ../../sdb2 [...] lrwxrwxrwx 1 root root 9 23 jul. 16:48 usb-LaCie_iamaKey_3ed00e26ccc11a-0:0 -> ../../sdc lrwxrwxrwx 1 root root 10 23 jul. 16:48 usb-LaCie_iamaKey_3ed00e26ccc11a-0:0-part1 -> ../../sdc1 lrwxrwxrwx 1 root root 10 23 jul. 16:48 usb-LaCie_iamaKey_3ed00e26ccc11a-0:0-part2 -> ../../sdc2 [...] lrwxrwxrwx 1 root root 9 23 jul. 08:58 wwn-0x5000c50015c4842f -> ../../sda lrwxrwxrwx 1 root root 10 23 jul. 08:58 wwn-0x5000c50015c4842f-part1 -> ../../sda1 [...] mirexpress:/dev/disk/by-id#
lilo. Esquecendo de fazer, isso fará com que o sistema seja incapaz de inicializar, se o antigo kernel foi removido ou substituído, já que o novo não estará no mesmo local no disco.
/etc/lilo.conf; um arquivo simples para configurações padrão é ilustrado no exemplo abaixo.
Exemplo 8.3. LILO arquivo de configuração
# The disk on which LILO should be installed. # By indicating the disk and not a partition. # you order LILO to be installed on the MBR. boot=/dev/sda # the partition that contains Debian root=/dev/sda2 # the item to be loaded by default default=Linux # the most recent kernel image image=/vmlinuz label=Linux initrd=/initrd.img read-only # Old kernel (if the newly installed kernel doesn't boot) image=/vmlinuz.old label=LinuxOLD initrd=/initrd.img.old read-only optional # only for Linux/Windows dual boot other=/dev/sda1 label=Windows
grub-install /dev/sda.
/boot/grub/grub.cfg, mas esse arquivo (no Debian) é gerado a partir de outros. Tenha o cuidado de não modificá-lo a mão, já que modificações locais serão perdidas na próxima vez que o update-grub for executado (o que pode ocorrer durante a atualização de vários pacotes). A modificações mais comuns no arquivo /boot/grub/grub.cfg (adicionar parâmetros de linha de comando para o kernel ou alterar a duração que o menu é exibido, por exemplo) são feitas através de variáveis em /etc/default/grub. Para adicionar entradas no menu, você pode tanto criar um arquivo /boot/grub/custom.cfg quanto modificar o arquivo /etc/grub.d/50_custom. Para configurações mais complexas, você pode modificar outros arquivos em /etc/grub.d, ou adicionar outros arquivos; esses scripts devem retornar trechos de configurações, possivelmente fazendo uso de programas externos. Esses scripts são os que irão atualizar a lista de kernels a serem inicializados: 10_linux leva em consideração os kernels Linux instalados; 20_linux_xen leva em consideração sistemas virtuais Xen, e 30_os-prober lista outros sistemas operacionais (Windows, Mac OSX, Hurd).
ybin instala o yaboot e seu arquivo de configuração. Você vai precisar executar apenas este comando de novo se o /etc/yaboot.conf for modificado (ele é duplicado na partição bootstrap, e o yaboot sabe como encontrar a posição do núcleo (kernel) nos discos).
ybin, você deve primeiro ter um /etc/yaboot.conf válido. O seguinte é um exemplo de uma configuração minimalista.
Exemplo 8.4. Arquivo de configuração Yaboot
# partição bootstrap
boot=/dev/sda2
# o disco
device=hd:
# a partição Linux
partition=3
root=/dev/sda3
# inicializar após 3 segundos de inatividade
# (tempo de espera é em décimos de segundos)
timeout=30
install=/usr/lib/yaboot/yaboot
magicboot=/usr/lib/yaboot/ofboot
enablecdboot
# último kernel instalado
image=/vmlinux
label=linux
initrd=/initrd.img
read-only
# kernel antigo
image=/vmlinux.old
label=old
initrd=/initrd.img.old
read-only
# apenas para Linux/Mac OSX dual-boot
macosx=/dev/sda5
# bsd=/dev/sdaX e macos=/dev/sdaX
# também são possíveis