Introdução - GRUB
GRUB vem de Grand Unified Boot Loader que em português significa grande carregador unificado de boot. O GRUB vem substituindo o LILO em diversas distribuições devido à várias vantagens em relação a este. Ele é capaz de carregar uma grande quantidade de sistemas operacionais como GNU/Linux, GNU/Hurd, DOS, Windows(9x, ME, NT, 2000, XP), IBM OS/2, FreeBSD, NetBSD, OpenBSD, SCO UnixWare e QNX. Outra grande vantagem é o suporte a vários sistemas de arquivos ext2, ext3, ReiserFS, FAT16, FAT32, NTFS, FFS, JFS, XFS, minix e etc. Por ser capaz de carregar imagens de boot e múltiplos módulos o GRUB é o único boot loader capaz de carregar o conjunto de servidores do GNU/Hurd. Esse gerenciador de boot permite também buscar uma imagem de kernel através da rede, por cabos seriais, suporta também hd’s IDE, SCSI, detecta toda a memória RAM disponível no sistema, tem interface gráfica com menu, interface de linha de comando e suporta acesso por terminais remotos.
O GRUB é um programa muito grande para caber no MBR (512 bytes), ele é dividido em duas ou três imagens, stage1, stage1.5 e stage2.
O stage1 fica no MBR a sua única função é carregar o stage1.5 ou uma parte do stage2 pois o stage1 não entende nenhum sistema de arquivos. O stage 1.5 é muito pequeno e fica nos primeiros bytes do disco logo após o MBR (esse espaço geralmente não é utilizado), esse é um estágio opcional e tem como função carregar o stage2. Por fim, o stage2, caso tenha sido carregado pelo stage1 carrega o restante de si e faz o resto dos procedimentos, mostra ou não o menu com os sistemas operacionais disponíveis, carrega na memória o núcleo do sistema operacional escolhido e passa o controle para este (ou passa o controle para outro carregador como no caso do Windows).
Dadas as devidas apresentações (Você X Grub), vamos ao que interessa, como o objetivo desta série é aperfeiçoar o boot (inicialização) do sistema, iremos ver as possibilidades de obter um ganho no processo entre o Grub e o carregamento do sistema operacional (Linux).
Assim que um kernel é selecionado no Grub, é iniciada uma varredura a procura de um disco, o profile, nada mais é que um mapeamento destas unidades de disco, basicamente diremos ao Grub aonde ele deve procurar estas unidades, poupando-lhe o tempo de efetuar uma varredura a procura deste disco.
Para isto, é necessário editar os parâmetros do kernel que iremos utilizar no próprio Grub, então é necessário reiniciar o sistema, e quando estiver sob o kernel desejado no Grub, pressione a tecla e para editar. Selecione a segunda linha, algo parecido com:
kernel /vmlinuz-2.6.26-1-686 root=/dev/sda2 ro
(Lembre-se, este valor pode mudar dependendo da sua versão do kernel e da partição onde encontra-se o seu sistema)
Nesta linha, iniciada por kernel, adicione o parâmetro profile ao fim. Exemplo:
kernel /vmlinuz-2.6.26-1-686 root=/dev/sda2 ro profile
Depois pressione: b para bootar (iniciar) o sistema.
Pronto! Agora Temos um Profile no Grub. Simples!
No próximo artigo da série “A procura do Boot Perfeito“, iremos conhecer o bootchart, um aplicativo que cria um relatório gráfico detalhado sobre os processos de inicialização do sistema, este que é de extrema utilidade para que possamos distinguir os processos que estão mais lentos no inicio do sistema operacional.
0sem comentários ainda