202.3 Gerenciadores de Boot alternativos
Vamos conhecer outros tipos de Bootloaders que temos disponível para Linux. O Grub é o principal Bootloader hoje em dia, mas existem outros e alguns deles possuem finalidades bem específicas.
SYSLinux
É um Bootloader Linux criado para trabalhar com FileSystem do tipo FAT (MSDOS), muito usado em pen drivers de recuperação.
EXTLinux
Usado em sistemas de arquivos nativos do Linux como: ext*, brtfs, xfs etc. Obtém informações em /boot/extlinux
e sua configuração fica no arquivo extlinux.cnf
.
ISOLinux
É um Bootloader para CDROM (ISO 9660), usado em LiveCD ou LiveDVD. Fica armazenado no diretório /boot/isolinux
e seu arquivo de configuração fica no arquivo isolinux.cfg
, já o arquivo do Bootloader é denominado isolinux.bin
.
PXELinux - Pre-Execution Environment
É um Bootloader usado para fazer o boot de sistemas via Rede. Para que isso funcione, a placa de rede deve fornecer suporte a esse tipo de Bootloader, a configuração no cliente é feita via BIOS ou UEFI. O carregador de boot é enviado via rede ao cliente (pxelinux.0
).
Para usar o PXELinux algumas aplicações precisam funcionar em conjunto, essas aplicações são (obrigatóriamente): DHCP e TFTP.
O cliente vai inicializar via Rede e então obter um endereço IP (via DHCP), no meio das informações oferecidas pelo DHCP teremos também quem será o servidor TFTP para que o cliente possa baixar o bootloader (pxelinux.0
).
O PXELinux trabalha com 2 arquivos principais e normalmente esses arquivos ficam em /tftpboot/
(mas isso pode e provavelmente vai mudar), os arquivos são:
pxelinux.0
É o Bootloader usado.
pxelinux.cfg
Dependendo do tipo de configuração é um diretório que vai abrigar arquivo(s) de configuração do pxelinux.
Veja o link para ver como instalar/configurar um servidor PXELinux.
UEFI Secure Boot
Com o UEFI Secure Boot só é possível iniciar Kernels que são assinados digitalmente. O Linux carrega o Bootloader shim.efi
ou shimx64.efi
(para x64) para lidar com os certificados e e chaves, e então encaminha o fluxo para o grubx64.efi
(padrão).
O uso do Kernel assinado é útil para se evitar que um invasor instale um Kernel modificado onde irá efetuar tarefas indesejadas no sistemas e até no hardware.
SystemD-Boot
É o Bootloader do SystemD, criado para trabalhar com UEFI, o comando utilizado para gerenciamento é o bootctl
.
U-Boot (The Universal Boot Loader)
Usado em Linux embarcados/Integrado (Embedded), é suportado por muitas arquiteturas.