Capítulo 10. O Processo de Inicialização

Índice
Carregando Informações Para a Inicialização
Gerenciadores de Inicialização do Linux
O Processo init
Mensagens de Inicialização do Sistema
Finalizando o Processo
Configurando o Processo de Inicialização

Ao apertar o botão Power do computador muitas mensagens aparecem na tela, e para o usuário não devem ter muito significado. O objetivo deste capítulo é fornecer mais detalhes sobre o processo de inicialização, e mostrar que as informações exibidas na tela naquele momento têm muita importância.

Carregando Informações Para a Inicialização

Logo após ligar a máquina, é feita uma série de verificações feita pela BIOS[1], principalmente uma verificação geral do hardware da máquina. Após isto, é carregado um pequeno programa que está localizado no primeiro setor do disco rígido (ou primeiro setor do disquete, se for o caso) chamado de Registro Mestre de Inicialização ou MBR. Ele pode ter uma destas duas funções:

A segunda opção é mais interessante e abrangente, e portanto a mais utilizada. Assim, a BIOS utiliza o MBR para carregar um gerenciador de inicialização, podendo inicializar o Linux ou outros sistemas operacionais de qualquer partição ou dispositivo.

Gerenciadores de Inicialização do Linux

Logo após a primeira parte da inicialização, um gerenciador de inicialização é carregado. Sua principal função é gerenciar as várias partições do disco rígido, permitindo que o usuário possa escolher entre as opções disponíveis. O gerenciador de inicialização é geralmente utilizado quando existe mais de um sistema operacional na máquina.

As próximas seções irão discutir os dois principais gerenciadores de inicialização do Linux: o LILO[2] e o Grub[3], descrevendo suas principais características e opções.

LILO

O LILO é um gerenciador de inicialização utilizado por muitas distribuições é um dos gerenciadores mais versáteis. Algumas das características do LILO são:

  • É possível inicializar o LILO de vários dispositivos diferentes (incluindo disquete);

  • Pode ser instalado no MBR ou no setor de inicialização de uma partição;

  • Ele não possui arquivos ocultos nem uma partição especial. Além disso, seus arquivos de configuração podem ser instalados em qualquer partição (mesmo as partições que não são Linux).

  • Ele pode inicializar várias configurações de kernel e até mesmo vários kernels diferentes.

O LILO permite que você escolha entre as várias partições fornecendo uma linha de comando:

LILO boot:

Basta colocar o nome do sistema operacional que você deseja configurar. Os nomes das partições foram preenchidos durante a instalação; se você não souber, basta teclar TAB para verificar as partições existentes. Após selecionar a partição basta pressionar ENTER. Poderá ser iniciado um sistema operacional diferente, uma configuração diferente ou poderão ser passados os parâmetros para a inicialização do kernel Linux, dependendo de sua escolha.

Se desejar mais detalhes sobre a configuração do LILO, dirija-se para a seção Configurando o LILO.

Grub

O Grub é um gerenciador de inicialização amigável, que fornece um menu gráfico para a escolha de partições, e é altamente configurável. Entre suas características pode-se citar:

  • Ele permite carregar uma variedade muito grande de sistemas operacionais livres, bem como alguns sistemas proprietários que não são suportados e que precisam de um gerenciador de inicialização específico.

  • O Grub é muito flexível. Ele gerencia vários tipos de sistemas de arquivo e de kernels, e assim é possível carregar um sistema operacional do modo que se deseja, sem gravar a posição física do kernel no disco.

  • Sua interface gráfica é amigável e configurável, sendo possível modificar a imagem de fundo, a cor das letras, a ordem das opções no menu, entre outras configurações. Ele pode ser configurado também para apresentar um ambiente em modo texto.

Se o Grub foi configurado durante a instalação como o gerenciador de inicialização padrão, após a verificação de hardware da BIOS aparecerá uma tela gráfica com uma lista de sistemas operacionais, bastando escolher qual deseja.

Lembre-se de que nem todas as distribuições Linux trabalham com o Grub. Veja no site do Projeto GNU mais informações sobre o Grub. Para configurá-lo, veja a seção Configurando o Grub.

O Processo init

O init é o primeiro processo iniciado no Linux, logo após a carga do kernel do sistema. Quando é disparado, o init continua a carga do sistema, geralmente executando vários scripts que irão verificar e montar sistemas de arquivos, configurar teclado e iniciar servidores, entre outras tarefas.

O init utilizado no Linux permite que existam diversos níveis de execução no sistema. Um nível de execução é uma configuração de software do sistema que define quais processos devem ser inicializados e quais não devem, e também de que modo são inicializados. O administrador do sistema é quem define qual será o nível de execução em que o sistema será executado, sendo que isto pode ser configurando através do menu Configuração -> Miscelânea -> Runlevel padrão do Linuxconf. Observe a Figura 10-1, que mostra esta tela.

Figura 10-1. Níveis de Execução de um Sistema

Não existe uma regra que diga o que deve ser inicializado em cada nível de execução, mas em geral, utiliza-se o padrão descrito na Tabela 10-1:

Tabela 10-1. Níveis de Execução

Níveis de Execução

Ação

0

desligar o sistema

1

modo monousuário, também chamado de modo single

2

modo multiusuário, texto

3

modo multiusuário, texto, com serviços

4

não utilizado

5

modo gráfico (X11)

6

reinicializar o sistema

O nível de execução mais utilizado é o 3, por permitir que multiusuários acessem o sistema e tenham acesso à rede. Quando desejar que a tela de acesso inicial esteja em modo gráfico, basta configurar o nível de execução em 5. O nível número 1 faz com que o sistema entre no modo single, onde são inicializados o shell padrão e os serviços que foram configurados para inicializar neste nível. Se você executar o comando /sbin/chkconfig - -list, a lista com todos níveis de execução e todos os serviços será fornecida, mostrando em quais níveis de execução cada serviço é inicializado. O modo single é importante para manutenção do sistema, pois pode verificar serviços e programas sem prejudicar o funcionamento do sistema, já que a maioria dos serviços e programas estarão parados.

Lembre-se também que os serviços devem ser configurados separadamente no Linuxconf. Se você configurar seu sistema para inicializar no nível de execução 3, os serviços que você deseja que sejam inicializados automaticamente (quando o computador estiver sendo ligado) devem ser configurados para o nível de execução 3, pois assim o init será o encarregado de fazer a busca por estes serviços e inicializá-los.

Para modificar o nível de execução, basta escolher outro nível e reinicializar o sistema.

Para mais informações sobre como configurar o arquivo /etc/inittab, quais são as ações para os processos disponíveis, exemplos de arquivos, como o init é executado e finalizado, entre outras dicas, leia as páginas de manual (man inittab e man init) ou consulte a seção Configurando o Arquivo /etc/inittab.

Mensagens de Inicialização do Sistema

Logo após a escolha da partição através do gerenciador de inicialização, uma série de mensagens irão aparecer na tela, indicando o carregamento do kernel. O init é o processo que está gerenciando esta verificação e carregamento.

As mensagens de inicialização do kernel podem ser vistas através do Linuxconf no menu Estado -> Registros -> Mensagens de Inicialização do kernel. Em seguida, são mostradas na tela do computador toda aquela parte em que o sistema está carregando, atualizando informações da máquina e da rede. Este é o processo init propriamente dito. Podemos ver as seguintes informações:

Após a execução destas e de outras tarefas, o sistema estará pronto para receber usuários. Para informações mais detalhadas sobre o sistema e o hardware da máquina, verifique o menu Estado->Estado do sistema->Sistema do Linuxconf. Lá podem ser encontradas informações sobre o uso do disco e da memória, módulos do kernel, uso de dispositivos PCI e informações mais detalhadas do processador, disco e memória, entre outras.

Finalizando o Processo

Terminado o carregamento do kernel, o sistema estará verificado e configurado para receber usuários. Um dos conceitos importantes que será apresentado na próxima seção é o conceito de terminal, que trabalha com acessos discados (via modem), ou acesso através do login.

Terminais e Similares

Após a inicialização, você pode acessar o sistema a partir de linhas seriais[4], ou através do console, quando não se está executando o X. Isto só é possível porque um processo especial, chamado getty está disponibilizando acesso através daquele terminal. O getty fica esperando pelo nome do usuário, que é repassado para o programa de acesso login, o qual irá processar a validação da senha do usuário. Caso o conjunto usuário/senha seja válido, o login inicia o shell do usuário. Quando o usuário sair do sistema, este shell será finalizado, e o init irá iniciar uma nova instância do getty de maneira que outro usuário (ou o mesmo) possa acessar o sistema.

Na verdade, não existe apenas o getty para executar esta tarefa. Existem vários outros, cada qual com sua peculiaridade. Entre os vários getty existentes, podemos destacar o mingetty, o agetty e o mgetty.

O getty irá mostrar o conteúdo do arquivo /etc/issue, quando executado. Você pode personalizar este arquivo para mostrar informações da sua máquina.

Quando o getty chamar o login, passando como argumento o nome do usuário, o login irá se encarregar de solicitar a senha deste usuário e verificar se a mesma está correta. Caso afirmativo, será apresentado o conteúdo do arquivo /etc/motd[5] e em seguida o sistema verificará se existem novas mensagens de correio eletrônico.

Se existir o arquivo /etc/nologin, ninguém exceto o superusuário poderá acessar o sistema. Quando um usuário tentar efetuar login, o conteúdo deste arquivo será exibido no terminal. Isto pode ser útil em caso de manutenção do sistema, embora geralmente se utilize o modo monousuário para este tipo de operação.

Todas as falhas de login, assim como os acessos realizados pelo superusuário são registrados em um arquivo de log do sistema, através do syslog. Os usuários conectados estão listados no arquivo /var/run/utmp, que pode ser acessado através dos comandos w e who. O arquivo /var/log/wtmp mantém o registro dos acessos bem-sucedidos ao sistema, e pode ser acessado com o comando last.

Configurando o Processo de Inicialização

É possível modificar o processo de inicialização de acordo com que se deseja, configurando o gerenciador de inicialização e atualizando o processo init, entre outras atividades. Nesta seção serão mostradas algumas configurações, tanto utilizando o aplicativo Linuxconf (o que torna a configuração mais direta) quanto utilizando os arquivos de configuração diretamente.

Configurando o Arquivo /etc/inittab

É possível configurar o init através do arquivo /etc/inittab. O arquivo segue o seguinte formato:

identificação:níveis_execução:ação:processo

As linhas começadas com um "#" são ignoradas. Veja o Exemplo 10-1 que mostra um trecho deste arquivo. Note que os comentários do próprio arquivo estão depois de um sinal de "#" e as explicações estão após dois sinais de "#":

Exemplo 10-1. Arquivo /etc/inittab

## Indica o nível de execução padrão do sistema
id:3:initdefault:

# System initialization.
## Indica o diretório de scripts a ser executado,
## dependendo do nível de execução configurado.
si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5
l6:6:wait:/etc/rc.d/rc 6

# Trap CTRL-ALT-DELETE
## A seqüência de teclas indica o comando descrito,
## ou seja, reinicializa o sistema.
ca::ctrlaltdel:/sbin/shutdown -t3 -r now

## Se por algum motivo a energia cair, o sistema
## agenda o desligamento do sistema para 2 minutos
## a partir do momento da queda de energia.    
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting
  Down"

## Se a força for restaurada antes de ser executado
## o comando anterior, este será cancelado. 
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown
  Cancelled"

# Run gettys in standard runlevels
## Executa terminais em níveis de execução padrão,
## utilizados para conexões para console.
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
#7:2345:respawn:/sbin/mingetty tty7
#8:2345:respawn:/sbin/mingetty tty8
#9:2345:respawn:/sbin/mingetty tty9
#10:2345:respawn:/sbin/mingetty tty10
#11:2345:respawn:/sbin/mingetty tty11
#12:2345:respawn:/sbin/mingetty tty12
      

É possível alterar o nível de execução a qualquer momento, modificando o número do nível de execução diretamente no arquivo (segunda linha do exemplo), ou através do comando telinit. O comando aceita como argumento o nível de execução para o qual se deseja mudar. Por exemplo, telinit 2 irá levar o sistema ao nível de execução 2; telinit 1 levará o sistema ao modo monousuário; telinit q fará com que o init releia seu arquivo de configuração (/etc/inittab).

Dica: Para verificar o nível de execução de um sistema basta executar o comando runlevel.

Configurando o LILO

O LILO é um gerenciador de inicializações que oferece muitas formas de adaptação às necessidades do usuário. As opções mais importantes são descritas nesta seção, sendo que a sua configuração pode ser feita através do Linuxconf ou pelo arquivo /etc/lilo.conf.

O LILO é composto por diversos componentes, entre os quais:

  • O início do código do LILO, que reside no primeiro setor.

  • O coração do LILO, que reside no arquivo /boot/boot.b.

  • Um arquivo de mapas, residente no arquivo /boot/map e utilizado pelo LILO para localizar os kernels e outros dados.

Se desejar, você poderá configurar o LILO após o processo de inicialização, através do Linuxconf. Isto pode ser feito pelo menu Configuração -> Inicialização -> Lilo. Veja a Figura 10-2, que mostra esta tela.

Figura 10-2. Configurando o LILO

O menu principal de configurações é o Padrões LILO (Linux boot loader). Aqui são feitas as configurações principais do LILO, através da aba Opções básicas que contém os seguintes campos:

LILO é usado para inicialização deste sistema: opção que deve ser habilitada para definir o LILO como gerenciador de inicialização.

Instalar setor de inicialização em: define o nome do dispositivo (por exemplo, uma partição de disco rígido) que contém um setor de inicialização. Caso este parâmetro seja omitido, o setor de inicialização é lido do dispositivo montado como raiz.

Modo de inicialização da BIOS: tenta unir as requisições a setores adjacentes em uma única requisição de leitura. Isso diminui o tempo da carga. É bastante recomendada quando o LILO está instalado em um disquete.

Codificação da tabela de inicialização: gera endereços lineares em vez de endereços no formato setor/cabeça/cilindro. Endereços lineares são convertidos em tempo de execução e não dependem da geometria do disco.

Atraso da inicialização em segundos: especifica o número de segundos que o carregador deve esperar antes de carregar a primeira imagem. Isso é útil em sistemas que inicializam imediatamente a partir de um disco rígido, após a habilitação do teclado. O carregador não tem que esperar pelo período de tempo caso esse atraso seja omitido ou configurado como zero.

Apresentar o prompt LILO boot: Indica se o prompt do LILO deve aparecer durante a inicialização. Força a apresentação da mensagem de acesso ao sistema, e fica aguardando que alguma tecla seja pressionada.

Tempo limite do prompt em segundos: configura o tempo de espera (em segundos) para entrada de teclado. Caso nenhuma tecla, no tempo especificado, seja pressionada, a primeira imagem é automaticamente carregada. Similarmente, a entrada da senha é abortada se o usuário levar muito tempo.

Arquivo de mensagem (opc.): especifica um arquivo contendo uma mensagem a ser apresentada antes da linha de inicialização. Nenhuma mensagem é apresentada enquanto o programa estiver esperando pela tecla Shift, após ser apresentada a mensagem LILO.

As outras opções são utilizadas para a configuração de um kernel compilado ou para a configuração de outros sistemas operacionais. Elas não são obrigatórias, e você deve ter muita experiência para configurá-las.

Após mostrar as opções do Linuxconf, cada um de seus significados serão mostrados através do arquivo de configuração do LILO, que está localizado em /etc/lilo.conf. Para alterá-lo pode ser usado o editor de sua preferência. Antes da edição, é sugerida a criação de uma cópia de segurança do arquivo.

Nota: Note que se você não está utilizando o Linuxconf para configurar o LILO e sim editando diretamente o arquivo de configuração, suas alterações somente terão efeito após a execução do comando /sbin/lilo.

O arquivo lilo.conf começa por uma seção denominada global, seguida por uma ou mais seções de sistema as quais configuram as opções de inicialização dos diversos sistemas operacionais que podem ser inicializados pelo LILO. Uma nova seção é iniciada pelos parâmetros image=caminho ou other=caminho, indicando o caminho das imagens dos diversos sistemas da máquina.

A seguir, apresentaremos o Exemplo 10-2, que mostra um arquivo /etc/lilo.conf de uma máquina onde compartilham o DOS® ou Windows® na partição /dev/hda1 e o Linux na partição /dev/hda6.

Exemplo 10-2. Exemplo de Arquivo /etc/lilo.conf

boot=/dev/hda
delay = 40
compact
vga = normal
map=/boot/map
install=/boot/boot.b
prompt
timeout=50

# Linux
image=/boot/vmlinuz-2.4.20-26373cl
label=linux
root=/dev/hda6
read-only

# um outro sistema operacional
other=/dev/hda1
label=dos
table=/dev/hda

Há diversas opções possíveis; serão verificadas as que estão sendo mostradas no arquivo.

A primeira linha define o dispositivo que contém um setor de inicialização, geralmente um disco rígido. A opção delay=tsecs configura (em décimos de segundo) o tempo que o carregador deve esperar antes de carregar a primeira imagem. A terceira linha (compact) é opcional; utilizada para diminuir o tempo da carga e recomendada quando o LILO está instalado em um disquete.

O modo VGA texto pode ser configurado pela opção vga=modo. Alguns valores que poderão ser utilizados estão mostrados na tabela a seguir:


    | 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 opção map=arquivo-mapa especifica a localização do arquivo mapa. Caso map seja omitido, o arquivo /boot/map será o padrão. Para instalar o arquivo de imagens em um determinado setor, basta utilizar a opção install=setor. Caso a opção install seja omitida, /boot/boot.b será usada como padrão.

Para apresentar uma mensagem de acesso ao sistema, basta configurar a opção prompt, sendo que na opção timeout=tsecs é configurado o tempo de espera (em décimos de segundos) para entrada de teclado. Caso nenhuma tecla seja pressionada no tempo especificado, a primeira imagem é automaticamente carregada.

As duas últimas seções do arquivo representam respectivamente as partições Linux e Windows®. A imagem é configurada pela opção image e o nome da partição que surgirá para o usuário durante a inicialização é configurado na opção label=nome.

A opção root=dispositivo especifica o dispositivo que deve ser montado como raiz. Caso o nome especial current seja usado, o dispositivo raiz é configurado para o dispositivo no qual o sistema de arquivos raiz está atualmente montado.

A última opção (read-only) especifica que o sistema de arquivos raiz deve ser montado com permissões somente de leitura.

Dica: Para conhecer mais opções de configuração dirija-se à página de manual do arquivo de configuração do LILO (man lilo.conf).

Caso algum componente seja alterado ou o arquivo /etc/lilo.conf seja atualizado, o LILO deverá ser executado através do comando:

# /sbin/lilo

A seguir, o LILO gravará uma cópia do setor de inicialização de destino, criará um novo setor e um novo arquivo de mapa. O LILO mostrará todos os sistemas operacionais instalados. Finalizada a atualização, a máquina poderá ser reinicializada através do comando:

# /sbin/shutdown -r now

Configurando o Grub

A configuração do Grub pode ser feita pelo Linuxconf. Para isso, dirija-se ao menu Configuração -> Inicialização -> Grub. Suas funcionalidades são:

  • Opções Gerais: Tela de edição das propriedades gerais de Grub, tais como tempo de limite de apresentação do menu, número de cores e senha.

  • Entradas de Menu: Exibe as entradas que serão mostradas durante a inicialização. Para editar uma entrada basta clicar sobre o nome da mesma e para criar uma nova entrada basta clicar em Adicionar. Veja a Figura 10-3, que mostra esta configuração.

    Figura 10-3. Configurando as Entradas do Grub

    Deve-se configurar de qual tipo de mídia a entrada de menu será inicializada (Tipo de mídia da raiz), sendo que uma lista de dispositivos é fornecida; deve-se configurar em qual mídia ela está localizada (Número HD/FD da raiz, ou seja, qual o caminho para o dispositivo), a partição em que a imagem está localizada (Número da partição raiz) e se for o caso, preencher o caminho para configurar uma partição FreeBSD.

    As outras abas fornecem opções para o kernel e formas para encadear carregamento.

  • Entrada padrão: Escolhe qual será a entrada padrão quando o tempo de espera finalizar.

  • Entrada secundária: Se a entrada padrão não for executada esta opção habilitará uma segunda entrada.

  • Instalação: Opção que define a instalação do Grub. Deve-se preencher o nome do dispositivo (por exemplo, /dev/hda para um disco rígido) e o seu diretório de imagens.

A configuração do Grub também pode ser feita diretamente no arquivo /boot/grub/menu.lst. Vejamos agora um exemplo deste arquivo:

default 0
timeout 30
foreground ffffff
background 000000
splashimage (hd0,0)/boot/grub/grub.xpm.gz

title Conectiva Linux
kernel (hd0,0)/vmlinuz root=/dev/hda1

Este arquivo contém os parâmetros mais utilizados para a configuração do Grub. Uma explicação breve do arquivo será feita a seguir.

A opção default estabelece qual opção deve ser automaticamente selecionada quando o usuário não faz nenhuma seleção no tempo especificado na diretiva timeout. Neste caso, o parâmetro zero (0) indica que a primeira opção é selecionada automaticamente. Juntamente com esta opção, o timeout define (em segundos) o tempo que o Grub espera antes de inicializar automaticamente a opção padrão.

A cor do texto é definida pela opção foreground. O parâmetro é um valor hexadecimal representando as cores vermelha, verde e azul[6]. Por exemplo, o valor ff0000 define a cor vermelha. Do mesmo modo, a opção background define a cor de fundo.

O caminho da imagem de fundo do Grub é colocado na opção splashimage. A imagem deve ter 14 cores e estar no formato XPM. É possível utilizar-se a imagem compactada com gzip. Se esta imagem não for informada, o Grub entrará em modo texto.

A opção title define um texto que aparecerá no menu do Grub para identificar o sistema operacional a ser inicializado, e a opção kernel informa qual o sistema operacional a ser inicializado. No caso do Conectiva Linux, esta opção define o kernel. Você pode passar opções para o kernel normalmente. No exemplo acima, informamos ao kernel que a partição onde se encontra o diretório raiz é o /dev/hda1.

Nota: Você pode perceber que o caminho informado do kernel inicia com um valor estranho: (hd0,0). Esta é a notação utilizada pelo Grub para representar discos e partições. O que ela quer dizer é que se trata do primeiro disco rígido (hd0) e da primeira partição (0).

Caso sua memória não seja detectada corretamente pelo Grub (durante a inicialização gráfica), basta acrescentar o parâmetro mem=xxxM ao final da linha referente ao kernel no arquivo /boot/grub/menu.lst e reiniciar o seu computador. Substitua xxxM pela quantidade de memória existente no seu computador (não esquecendo de descontar a memória compartilhada com a placa de vídeo, caso sua placa de vídeo seja onboard).

Como foi dito anteriormente, o Grub possui uma linha de comando que pode ser utilizada para configurá-lo e inicializar um sistema operacional não configurado no arquivo /boot/grub/menu.lst, ou seja, que não está listado no menu. Para acessá-lo, basta pressionar a tecla e no menu do Grub. Ao pressionar a tecla e, você será levado a uma tela de linha de comando, onde deve utilizar os mesmos comandos (opções) listados no arquivo menu.lst. Você pode usar o comando boot para inicializar um sistema operacional após definir, no mínimo, a opção kernel. Observe apenas que, após o comando title, quaisquer comandos serão interpretados como comandos de inicialização. Por exemplo, para inicializar um kernel via linha de comando, poderia ser feito o seguinte:

Grub> kernel (hd0,0)/boot/vmlinuz root=/dev/hda1
Grub> boot

Para que tenhamos outro exemplo, veja como mudar a imagem de fundo do Grub colocando a imagem fundo.xpm e como alterar a cor do texto do menu para verde:

Grub> splashimage (hd0,0)/boot/grub/fundo.xpm
Grub> foreground 00ff00

Notas

[1]

Basic Input/Output System ou Sistema Básico de Entrada/Saída.

[2]

LInux LOader.

[3]

GRand Unified Bootloader.

[4]

Terminais burros, acesso via linha discada (modem).

[5]

Message Of the Day - mensagem do dia.

[6]

Padrão RGB.