Modify the system bootloader:

Em capítulos anteriores, quando abordamos as diferentes etapas que um sistema passa quando inicializa, referimos o papel base do GRUB2, contudo, não divagamos muito sobre este sistema, sendo que nesta secção iremos melhor perceber o que é um BootLoader e como se gere o manuseamento do GRUB .

O GRUB2 (GRand Unified Bootloader), tal como o nome pode sugerir é a segunda geração do bootloader GRUB. Este sucessor foi criado devido ás anteriores limitações impostas pelo antigo sistema, sendo que este, não era capaz de funcionar com o sistema de partições GPT e tinha limitações com discos que o tamanho excede-se os 2.4 Terabytes. Com o surgimento do GRUB2 emergiram novas funcionalidades, nomeadamente: suporte para GPT e MBR; capacidade de efetuar boot em diferentes file-systems(xfs, ext4, ntfs, hfs+, raid, entre outros); portabilidade entre diferentes arquiteturas(BIOS, EFI, Coreboot, etc); entre demais funcionalidades.

Antes de começarmos a analisar os diferentes ficheiros e utilitários usados para gerir o GRUB2 no RHEL7, temos realmente de perceber qual é o papel de um Bootloader, portanto, podemos visualizar um bootloader como o primeiro sistema de software que é inicializado pelo BIOS ou UEFI. Este sistema é responsável por carregar o kernel com os parâmetros necessários e o “initial ramdisk” ou initrd, responsável por carregar um sistema de ficheiros root temporário na memória RAM a nível do hardware.

Num sistema RHEL7, os ficheiros responsáveis pela configuração do GRUB2 , estão espalhados por diferentes ficheiros e sítios, sendo que abaixo ficam definidas as suas localizações e os seus propósitos:

  • /boot/grub2/grub.cfg – Este ficheiro contem nele a configuração final do GRUB2, sendo que este ficheiro não é para ser editado manualmente.

  • /etc/grub2.cfg – Este ficheiro é apenas um link simbólico, para o anterior ficheiro (/boot/grub2/grub.cfg).

  • /etc/default/grub – Este ficheiro contem a lista das diferentes variáveis do GRUB2, sendo que os valores destas variáveis podem ser alterados livremente.

  • /etc/sysconfig/grub - Este ficheiro é apenas um link simbólico, para o anterior ficheiro (/etc/default/grub).

  • /etc/grub.d/ - Nesta diretoria existem todos os diferentes ficheiros que são internamente usados pelo GRUB2.

Fora os diferentes ficheiros/diretórios referidos acima existem utilitários que devem ser usados para se poder gerir eficazmente o GRUB2, nomeadamente o grub2, sendo que este comando pode ser acompanhado com diferentes opções por exemplo -editenv, ou -mkconfig, entre outras, para manusear os diferentes aspetos do GRUB2.

Por exemplo vamos imaginar que pretendemos mudar alguma variável existente no ficheiro /etc/default/grub, para assim o fazermos, devemos primeiro editar o ficheiro e de seguida notificar o grub das alterações de forma a ele criar um novo ficheiro de configuração, para isso usamos o seguinte comando:

# grub2-mkconfig -o /boot/grub2/grub.cfg

Para verificarmos uma lista de todos os kernels que serão apresentados para escolha ao utilizador quando a máquina inicializa, podemos usar o grep para melhor identificarmos estes campos no ficheiro de configuração:

# grep ^menuentry /boot/grub2/grub.cfg

Caso queiramos apenas os detalhes referentes ao kernel que esteja ativo naquele momento no sistema podemos usar o comando:

# grub2-editenv list

Ou caso queiramos alterar o kernel default que é usado aquando a inicialização da máquina para outro usamos:

# grub2-set-default [Opção]

Sendo que a [Opção], neste contexto é o número que identifica o kernel que pretendemos definir como default( 0, para o primeiro, 1 para o segundo, etc).

Tal como em outros capítulos, nesta documentação iremos apenas abordar os básicos associados ao RHCSA em relação aos tópicos, sendo que no caso do GRUB2 o que essencialmente será solicitado durante o RHCSA será maioritariamente o que já foi referido anteriormente (alterar algumas variáveis, alterar kernel default, etc), contudo o GRUB2 é por si só um vasto tópico que poderia ser igualmente descrito numa outra documentação individual. Caso seja do interesse do leitor informar-se mais sobre algumas manipulações possíveis de efetuar no GRUB2, aconselha-se a leitura do seguinte artigo, como algo introdutório e caso seja pretendido uma visão mais profunda pode-se sempre consultar o seu manual.

Last updated

Was this helpful?