ELILO
É realmente difícil para mim decidir qual parte disso copiar + colar, porque tudo é muito bom, então peço que você leia.
Rod Smith
Criou e mantém ambos gdisk
e rEFInd
.
Mas antes de fazer, gostaria de comentar um pouco sobre isso. O link ELILO acima é para uma das muitas páginas sobre inicialização UEFI que você encontrará no rodsbooks.com, escrito por Rod Smith. Ele é um escritor técnico talentoso, e se você já pesquisou o tópico de inicialização da UEFI e acabou não lendo algo dele, provavelmente foi porque você pulou os principais resultados.
Inicialização Linux UEFI
Basicamente, o kernel do Linux pode ser executado diretamente pelo firmware.
No link acima, ele menciona o stub loader EFI do kernel do Linux - é isso que você deve usar, na minha opinião, pois permite que o kernel do linux seja chamado diretamente pelo próprio firmware. Independentemente do que você está fazendo, algo está sendo executado pelo firmware - e parece que algo está acontecendo grub
. Se o firmware puder carregar diretamente o kernel do sistema operacional, de que serve um gerenciador de inicialização? O firmware UEFI monta uma partição GPT formatada em FAT sinalizada esp pela tabela de partições e executa um caminho onde ele salvou como uma variável de inicialização UEFI em um módulo de memória flash onboard. Então, uma coisa que você pode fazer é colocar o kernel do linux nessa partição FAT e armazenar seu caminho nessa variável de inicialização. De repente, o kernel é próprio carregador de inicialização.
Carregadores de inicialização
Nos sistemas UEFI, os gerenciadores de inicialização são redundantes - incluído o ELILO.
O problema que os gerenciadores de inicialização foram projetados para resolver é que os sistemas BIOS apenas lêem no primeiro setor da partição sinalizada de inicialização e a executam. É um pouco difícil fazer algo significativo com um kernel de 512 bytes, então a coisa mais comum a fazer era escrever um pequeno utilitário que pudesse montar um sistema de arquivos onde você mantinha o kernel real e o carregava em cadeia.
De fato, os 512 bytes muitas vezes não eram suficientes, mesmo para os gerenciadores de inicialização. grub
, por exemplo, na verdade, carrega-se em cadeia antes de carregar seu kernel em cadeia, porque ocupa seu segundo estágio no espaço vazio entre o setor de inicialização e o primeiro setor do seu sistema de arquivos. É uma espécie de truque sujo - mas funcionou.
Gerenciadores de inicialização
Porém, para facilitar a configuração, alguns intermediários podem ser úteis.
O que o rEFInd de Rod Smith faz é lançar como um aplicativo EFI - este é um conceito relativamente novo. É um programa que é executado a partir do disco - e que retorna ao - firmware. O que o rEFInd faz é permitir que você gerencie os menus de inicialização e, em seguida, retorne sua seleção de inicialização ao firmware para executar. Ele vem com drivers do sistema de arquivos UEFI - então, por exemplo, você pode usar o carregador EFI-stub do kernel em uma partição não-FAT (como a atual /boot
). É simples de gerenciar - se é necessário - e adiciona a simplicidade de um kernel de sistema executável à conveniência de um gerenciador de inicialização configurável.
Indirecionamento atômico
O kernel não precisa de links simbólicos - pode mount --bind
.
Se houver algum caminho no seu /
local em que você deve proibir a ligação simbólica, é /boot
. Um link simbólico órfão não/boot
é o tipo de problema que você deve ter para solucionar problemas. Ainda assim, é uma prática bastante comum configurar indiretos elaborados em várias distribuições - mesmo que seja uma ideia horrível - para lidar com atualizações in loco do kernel e / ou várias configurações do kernel./boot
Esse é um problema para sistemas EFI não configurados para carregar drivers do sistema de arquivos (como os fornecidos com o pacote rEFInd) porque o FAT é um sistema de arquivos bastante estúpido em geral e não os entende.
Eu não uso pessoalmente os drivers do sistema de arquivos UEFI fornecidos com o rEFInd, embora a maioria das distribuições inclua um pacote rEFInd que possa ser instalado via gerenciador de pacotes e esquecido de usar sua própria /boot
configuração horrível e com links simbólicos e os drivers do sistema de arquivos UEFI do rEFInd.
My Config
Certa vez, escrevi um conjunto de instruções e publiquei aqui , mas parece:
% grep esp /etc/fstab &&
> ls /esp/EFI
LABEL=ESP /esp vfat defaults 0 1
/esp/EFI/arch_root /boot none bind,defaults 0 0
arch_root/ arch_sqsh/ arch_xbmc/ BOOT/ ipxe/
Então, eu apenas coloquei essas duas linhas no meu /etc/fstab
apontador para uma pasta que pretendo conter as novas instalações do linux /boot
e estou quase terminando de me preocupar com tudo isso. Eu também tenho que fazer:
cat /boot/refind_linux.conf
"Arch" "root=LABEL=data rootflags=subvol=arch_root,rw,ssd,compress-force=lzo,space_cache,relatime"
Além de instalar o refind-efi
pacote via pacman
para o primeiro, é tudo o que é necessário para instalar quantas instalações / configurações separadas eu desejar. Observe que a maioria dessa string acima consiste em opções de montagem específicas do btrfs especificadas como parâmetros do kernel. Um mais típico /boot/refind_linux.conf
provavelmente se pareceria com:
"Menu Entry" "root=/dev/sda2"
E isso é tudo o que é preciso.
rodsbooks.com
Se você ainda deseja o ELILO, pode encontrar as instruções de instalação no link acima. Se você deseja refR, encontrará links para ele no primeiro parágrafo. Basicamente, se você deseja fazer qualquer configuração de inicialização UEFI, leia rodsbooks.com primeiro.