Gentoo Logo

Aviso : Este documento não é válido e não é mais mantido.


[ << ] [ < ] [ Início ] [ > ] [ >> ]


10. Configurando o gerenciador de inicialização

Conteúdo:

10.a. Fazendo sua escolha

Introdução

Agora que o seu kernel está configurado e compilado e os arquivos de configuração necessários para o sistema estão preenchidos corretamente, está na hora de instalar um programa que irá chamar o seu kernel quando você iniciar o sistema. Tal programa é chamado de gerenciador de inicialização. Para x86, o Gentoo Linux fornece o GRUB e o LILO. Porém, antes de instalarmos um destes gerenciadores de inicialização, informaremos a você como configurar o framebuffer (caso você o queira, claro). Com o framebuffer você pode rodar a linha de comando do Linux com funções gráficas limitadas (como a bela imagem de bootsplash que o Gentoo oferece).

Opcional: framebuffer

Se você configurou o kernel com suporte a framebuffer (ou se você usou a configuração padrão do genkernel), você pode ativá-lo adicionando uma expressão de vga e/ou video ao arquivo de configuração de seu gerenciador de inicialização.

Primeiro você deve saber que tipo de dispositivo de framebuffer você está usando. Se você usa uma árvore de kernel com os patches do Gentoo (como gentoo-sources), você terá a possibilidade de selecionar vesafb-tng como o driver de tipo VESA (que é padrão para essas fontes de kernel). Se este for o caso, você está usando vesafb-tng e não precisa configurar uma expressão de vga. Caso contrário você está usando o driver vesafb e precisa configurar a expressão vga.

A expressão vga controla a resolução e profundidade de cor de sua tela de framebuffer para vesafb. Como dito em /usr/src/linux/Documentation/fb/vesafb.txt (que é instalado quando você instala um pacote de fonte de kernel), você precisa passar o número de VESA correspondente à resolução requisitada e profundidade de cor.

A seguinte tabela lista as resoluções disponíveis e profundidades de cor e dá os valores que você precisa passar à expressão vga.

640x480 800x600 1024x768 1280x1024
256 0x301 0x303 0x305 0x307
32k 0x310 0x313 0x316 0x319
64k 0x311 0x314 0x317 0x31A
16M 0x312 0x315 0x318 0x31B

A expressão video controla as opções de display do framebuffer. Ela precisa receber o driver de framebuffer (vesafb para kernéis 2.6, ou vesa para kernéis 2.4) seguido de expressões de controle que você quiser ativar. Todas variáveis são listadas em /usr/src/linux/Documentation/fb/vesafb.txt, mas iremos informá-lo sobre as três opções mais usadas:

Controle Descrição
ywrap Presumir que a placa gráfica pode fazer wrap em sua memória (isto é, continuar no começo quando alcançar o final)
mtrr Configurar registradores de MTRR
mode (só para vesafb-tng)
Configurar a resolução, profundidade de cor e taxa de retorno. Por exemplo, 1024x768-32@85 para uma resolução de 1024x768, profundidade de cor de 32 bits e uma taxa de retorno de 85 Hz.

O resultado das duas expressões pode ser algo como vga=0x318 video=vesafb:mtrr,ywrap ou video=vesafb:mtrr,ywrap,1024x768-32@85. Lembre-se (ou anote) seu ajuste; você precisará dele em breve.

Agora continue com a instalação do GRUB ou do LILO.

10.b. Padrão: usando o GRUB

Entendendo a terminologia do GRUB

A parte mais crítica na compreensão do GRUB é sentir-se confortável com como o GRUB se refere aos discos rígidos e partições. Sua partição Linux /dev/hda1 será provavelmente chamada de (hd0,0) no GRUB. Note os parênteses no hd0,0 - eles são requeridos.

Discos rígidos contam a partir de 0 (zero) ao invés de "a" e as partições iniciam em 0 (zero) ao invés de 1 (um). Esteja atento para isto com os dispositivos hd, somente os discos rígidos são contados, não dispositivos atapi-ide tais como leitores e gravadores de cdrom. O mesmo acontece com dispositivos SCSI. (Normalmente eles recebem números maiores que os dispositivos ide exceto quando a BIOS está configurada para iniciar a partir do SCSI.) Quando você pede à BIOS que inicie de um disco rígido diferente (por exemplo seu escravo primário), aquele disco rígido é visto como hd0.

Presumindo que você tem um disco rígido em /dev/hda, um tocador de cdrom em /dev/hdb, um gravador em /dev/hdc, um segundo disco rígido em /dev/hdd e nenhum disco rígido SCSI, /dev/hdd7 é traduzido como (hd1,6). Pode parecer complicado e realmente é, mas como veremos, o GRUB oferece um mecanismo de completação com o tab que ajuda muito aqueles que têm muitos discos rígidos e partições e que ficam um pouco perdidos com o esquema de numeração do GRUB.

Tendo entendido a situação, está na hora de instalar o GRUB.

Instalando o GRUB

Para instalar o GRUB, vamos primeiro fazer emerge dele.

Listagem de código 2.1: Instalando o GRUB

# emerge grub

Embora agora o GRUB esteja instalado, nós ainda precisamos escrever um arquivo de configuração para ele e instalar o GRUB no registro mestre de inicialização (MBR) para que ele carregue automaticamente seu novo kernel. Crie /boot/grub/grub.conf com o nano (ou, se for o caso, outro editor):

Listagem de código 2.2: Criando o /boot/grub/grub.conf

# nano -w /boot/grub/grub.conf

Agora nós vamos escrever o grub.conf. Abaixo você encontrará dois grub.conf possíveis para o exemplo de particionamento que usamos neste guia. Nós somente fizemos comentários extensivos para o primeiro grub.conf. Certifique-se de usar o arquivo de imagem do seu kernel e, se for apropriado, o arquivo de imagem da sua initrd.

  • O primeiro grub.conf é para pessoas que não usaram o genkernel para construir seu kernel
  • O segundo grub.conf é para pessoas que usaram o genkernel para construir seu kernel

Nota: Se seu sistema de arquivos raiz (root) for JFS, você deve adicionar " ro" à linha kernel, já que o JFS precisa rodar seu registro antes de permitir a montagem de leitura-escrita.

Listagem de código 2.3: grub.conf para quem não usou genkernel

# Que item para carregar como padrão; 0 é o primeiro, 1 é o segundo, etc...
default 0
# Quantos segundos para esperar antes do ítem padrão ser carregado.
timeout 30
# Uma bela imagem de splash para deixar as coisas mais interessantes :)
# Comente a linha se você não tem uma placa gráfica instalada
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title=Gentoo Linux 2.6.12-r10
# Partição onde a imagem de kernel (ou sistema operacional) está localizada
root (hd0,0)
kernel /boot/kernel-2.6.12-gentoo-r10 root=/dev/hda3

# As próximas quatro linhas só são para quem tem Windows instalado paralelamente.
# Neste caso, o Windows está em /dev/hda6.
title=Windows XP
rootnoverify (hd0,5)
makeactive
chainloader +1

Listagem de código 2.4: grub.conf para usuários do genkernel

default 0
timeout 30
splashimage=(hd0,0)/boot/grub/splash.xpm.gz

title=Gentoo Linux 2.6.12-r10
root (hd0,0)
kernel /boot/kernel-genkernel-x86-2.6.12-gentoo-r10 root=/dev/ram0 init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev
initrd /boot/initramfs-genkernel-x86-2.6.12-gentoo-r10

# Só se você tiver Windows em paralelo
title=Windows XP
rootnoverify (hd0,5)
makeactive
chainloader +1

Nota: O udev mencionado no final da linha do kernel é necessário para contornar um bug em algumas versões do genkernel se você usar udev para começar (que é o comportamento padrão).

Se você usou um esquema de particionamento diferente e/ou imagem de kernel, ajuste de acordo. No entanto, certifique-se de que qualquer coisa depois de um dispositivo do GRUB (como (hd0,0)) é relativo ao ponto de montagem, não a raiz. Em outras palavras, (hd0,0)/grub/splash.xpm.gz é na realidade /boot/grub/splash.xpm.gz, uma vez que (hd0,0) é /boot.

Além disso, se você escolheu usar um esquema de particionamento diferente e não colocou /boot em uma partição separada, o prefixo /boot usado nas amostras de código acima é realmente necessário. Se você seguiu nosso plano de particionamento sugerido, o prefixo /boot não é necessário, mas um link simbólico boot faz funcionar. Em resumo, os exemplos acima devem funcionar tanto com uma partição de /boot separada ou não.

Se você precisa passar opções adicionais para o kernel, simplesmente adicione-as ao final da linha de comando do kernel. Já estamos passando uma opção (root=/dev/hda3 ou real_root=/dev/hda3), mas você pode passar outras também, como as expressões video e/ou vga para framebuffer que nós discutimos anteriormente.

Se você estiver usando um kernel 2.6.7 e colocou jumpers em seu disco rígido porque a BIOS não consegue lidar com discos rígidos grandes, você precisará anexar a opção hdx=stroke.

Usuários do genkernel devem saber que seus kernéis usam as mesmas opções de inicialização que as usadas no CD de instalação. Por exemplo, se você tiver dispositivos SCSI, você deve adicionar doscsi como uma opção de kernel.

Agora salve o arquivo grub.conf e saia. Nós ainda precisamos instalar o GRUB no registro mestre de inicialização (MBR), todavia, para que o GRUB seja executado automaticamente quando você ligar seu sistema.

Os desenvolvedores do GRUB recomendam o uso do grub-install. Porém, se por algum motivo o grub-install não funcionar corretamente, você ainda tem a opção de instalar o GRUB manualmente.

Continue com Padrão: Configurando o GRUB usando o grub-install ou Alternativa: Configurando o GRUB manualmente.

Padrão: Configurando o GRUB usando o grub-install

Para instalar o GRUB você irá precisar rodar o comando grub-install. No entanto, o grub-install não irá funcionar sem ajustes porque estamos dentro de um ambiente de chroot. Precisamos criar o /etc/mtab, que lista todos sistemas de arquivos montados. Felizmente, existe um jeito fácil de fazê-lo - simplesmente copiar /proc/mounts para /etc/mtab, excluindo a linha rootfs se você não criou uma partição de inicialização (boot) separada. O seguinte comando irá funcionar em ambos casos:

Listagem de código 2.5: Criando o /etc/mtab

# grep -v rootfs /proc/mounts > /etc/mtab

Agora podemos instalar o GRUB usando o grub-install:

Listagem de código 2.6: Rodando o grub-install

# grub-install /dev/hda

Se você tem mais perguntas sobre o GRUB, por favor consulte o GRUB FAQ ou o Manual do GRUB.

Continue com Reiniciando o sistema.

Alternativa: Configurando o GRUB manualmente

Para iniciar a configuração do GRUB, digite grub. Você verá o prompt de comando do grub, grub>. Agora, você tem que digitar os comandos corretos para instalar os arquivos de inicialização do GRUB em seu disco rígido.

Listagem de código 2.7: Iniciando o shell do GRUB

# grub

Nota: Se o seu sistema não tem dispositivos de disquete, adicione a opção --no-floppy ao comando acima para prevenir que o GRUB procure os dispositivos de disquete (não-existentes).

Na configuração de exemplo, nós queremos instalar o GRUB de maneira que ele leia sua informação da partição de inicialização (boot) /dev/hda1 e instale o arquivo de inicialização do GRUB no registro mestre de inicialização (MBR) do disco rígido de forma que a primeira coisa que vejamos quando ligamos o computador é o prompt do GRUB. Lógico, se você não seguiu as configurações de exemplo durante a instalação, mude os comandos de acordo.

O mecanismo de completação de tab do GRUB pode ser usado de dentro do GRUB. Por exemplo, se você digitar "root (" seguido de um TAB, você verá uma lista de dispositivos (como hd0). Se você digitar "root (hd0," seguido de um TAB, você receberá uma lista de partições disponíveis para escolher (como hd0,0).

Usando a completação de tab, configurar o GRUB não é tão difícil. Vamos configurar o GRUB agora? :-)

Listagem de código 2.8: Instalando o GRUB no MBR

grub> root (hd0,0)          (Coloque onde sua partição /boot reside)
grub> setup (hd0)           (Instale o GRUB no MBR)
grub> quit                  (Saia do shell do GRUB)

Nota: Se você não quiser instalar o GRUB no registro mestre de inicialização (MBR) e sim numa partição, você tem de alterar o comando setup para que ele aponte para a partição correta. Por exemplo, se você quer o GRUB instalado em /dev/hda3, então o comando vira setup (hd0,2). Poucos usuários, no entanto, devem fazer isso.

Se você tem mais perguntas em relação ao GRUB, por favor consulte o GRUB FAQ ou o Manual do GRUB.

Nota: Quando você reinstalar um kernel, você não precisa mais copiar os arquivos. Simplesmente rode make install depois de compilar o kernel; isto irá copiar os arquivos necessários automaticamente e ajustar a configuração do GRUB.

Continue com Reiniciando o sistema.

10.c. Alternativa: Usando o LILO

Instalando o LILO

LILO, o LInuxLOader, é mais testado e o mais antigo dos gerenciadores de inicialização de Linux. No entanto, ele não tem algumas funções que o GRUB tem (que é a razão pela qual o GRUB está ganhando popularidade atualmente). O motivo pelo qual o LILO ainda é usado é que, em alguns sistemas, o GRUB não funciona e o LILO sim. Claro, também é usado porque algumas pessoas conhecem o LILO e querem continuar usando ele. De qualquer maneira, o Gentoo suporta ambos, e aparentemente você escolheu usar o LILO.

Instalar o LILO é moleza; apenas use emerge.

Listagem de código 3.1: Instalando o LILO

# emerge lilo

Configurando o LILO

Para configurar o LILO, você deve criar o arquivo /etc/lilo.conf. Inicie seu editor favorito (neste manual nós usamos o nano para consistência) e crie o arquivo.

Listagem de código 3.2: Criando o /etc/lilo.conf

# nano -w /etc/lilo.conf

Algumas seções atrás nós perguntamos a você para lembrar-se do nome da imagem do kernel que você criou. No próximo exemplo do arquivo lilo.conf nós usamos o exemplo de esquema de partições. Existem duas partes separadas:

  • Uma para aqueles que não usaram o genkernel para gerar o kernel
  • Uma para aqueles que usaram o genkernel para gerar o kernel

Tenha certeza de usar o nome de arquivo da sua imagem de kernel e, se apropriado, o nome de arquivo de sua imagem de initrd.

Nota: Se seu sistema de arquivos raiz (root) for JFS, você deve adicionar append="ro" uma linha depois de cada item de inicialização, já que o JFS precisa rodar seu registro antes de permitir a montagem de leitura-escrita.

Listagem de código 3.3: Exemplo de /etc/lilo.conf

boot=/dev/hda             # Instalar o LILO no MBR
prompt                    # Dar chance ao usuário de selecionar outra seção
timeout=50                # Esperar 5 (cinco) segundos antes de carregar a seção padrão
default=gentoo            # Quando o timeout acabar, carregar a seção "gentoo"

# Para quem não usou genkernel
image=/boot/kernel-2.6.12-gentoo-r10
  label=gentoo            # Nome que damos à seção
  read-only               # Começar com uma raiz só de leitura. Não mude!
  root=/dev/hda3          # Local do sistema de arquivos raiz (root)

# Para quem usou genkernel
image=/boot/kernel-genkernel-x86-2.6.12-gentoo-r10
  label=gentoo
  read-only
  root=/dev/ram0
  append="init=/linuxrc ramdisk=8192 real_root=/dev/hda3 udev"
  initrd=/boot/initramfs-genkernel-2.6.12-gentoo-r10

# As próximas duas linhas são só para quem tem Windows instalado em paralelo.
# Neste caso, o Windows está armazenado em /dev/hda6.
other=/dev/hda6
  label=windows

Nota: O udev mencionado no final da linha do kernel é necessário para contornar um bug em algumas versões do genkernel se você usar udev para começar (que é o comportamento padrão).

Nota: Se você usa um esquema de particionamento diferente e/ou imagem de kernel, ajuste de acordo.

Para passar quaisquer opções adicionais ao kernel, adicione um comando append à seção. Como exemplo, nós adicionamos o comando video para ativar o framebuffer:

Listagem de código 3.4: Usando o append para adicionar opções de kernel

image=/boot/kernel-2.6.12-gentoo-r10
  label=gentoo
  read-only
  root=/dev/hda3
  append="video=vesafb:mtrr,ywrap,1024x768-32@85"

Se você estiver usando um kernel 2.6.7 e colocou jumpers em seu disco rígido porque a BIOS não consegue lidar com discos rígidos grandes você precisará anexar a opção hdx=stroke.

Usuários do genkernel devem saber que seus kernéis usam as mesmas opções de inicialização que as usadas no CD de instalação. Por exemplo, se você tem dispositivos SCSI, você deve adicionar doscsi como uma opção de kernel.

Agora salve o arquivo e saia. Para terminar, você tem que rodar /sbin/lilo para que o LILO aplique o /etc/lilo.conf a seu sistema (isto é, instalar-se no disco). Tenha em mente que você também terá que rodar /sbin/lilo toda vez que você instalar um kernel novo ou fizer mudanças ao menu.

Listagem de código 3.5: Finalizando a instalação o LILO

# /sbin/lilo

Nota: Quando você reinstalar um kernel, você não precisa copiar os arquivos de novo. Só rode make install depois de compilar o kernel; ele irá copiar os arquivos necessários e ajustar a configuração do LILO automaticamente.

Você pode agora continuar com Reiniciando o sistema.

10.d. Reiniciando o sistema

Saia do ambiente de chroot e desmonte todas partições montadas. Então digite aquele comando mágico que você estava esperando: reboot.

Listagem de código 4.1: Desmontando todas partições e reiniciando

# exit
cdimage ~# cd
cdimage ~# umount /mnt/gentoo/boot /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo
cdimage ~# reboot

Claro, não se esqueça de tirar o CD carregável, ou o CD será carregado novamente ao invés de seu novo sistema Gentoo.

Uma vez iniciada sua instalação do Gentoo, termine com Completando sua instalação do Gentoo.


[ << ] [ < ] [ Início ] [ > ] [ >> ]


Imprimir

View all

Atualizado 2 de fevereiro de 2006

A versão original deste documento foi atualizada em 17 de agosto de 2014

Resumo: Existem vários gerenciadores de inicialização para a arquitetura x86. Cada um deles tem seu próprio jeito de configurar. Neste passo ensinamos o processo de configuração do gerenciador de inicialização para atender às suas necessidades.

Sven Vermeulen
Autor

Roy Marples
Autor

Daniel Robbins
Autor

Chris Houser
Autor

Jerry Alexandratos
Autor

Seemant Kulleen
Desenvolvedor do Gentoo x86

Tavis Ormandy
Desenvolvedor do Gentoo Alpha

Jason Huebel
Desenvolvedor do Gentoo AMD64

Guy Martin
Desenvolvedor do Gentoo HPPA

Pieter Van den Abeele
Desenvolvedor do Gentoo PPC

Joe Kallar
Desenvolvedor do Gentoo SPARC

John P. Davis
Editor

Pierre-Henri Jondot
Editor

Eric Stockbridge
Editor

Rajiv Manglani
Editor

Jungmin Seo
Editor

Stoyan Zhekov
Editor

Jared Hudson
Editor

Colin Morey
Editor

Jorge Paulo
Editor

Carl Anderson
Editor

Jon Portnoy
Editor

Zack Gilburd
Editor

Jack Morgan
Editor

Benny Chuang
Editor

Erwin
Editor

Joshua Kinard
Editor

Tobias Scherbaum
Editor

Xavier Neys
Editor

Grant Goodyear
Revisor

Gerald J. Normandin Jr.
Revisor

Donnie Berkholz
Revisor

Ken Nowack
Revisor

Lars Weiler
Colaborador

Enderson Maia
Tradutor Responsável

Marcelo Góes
Tradutor

Eduardo Magalhães
Tradutor

Marcelo Azambuja
Tradutor

Marcos Vinicius Buzo
Tradutor

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.