\section{lilo.conf}
\index{lilo.conf}
\subsubsection{NOME }
lilo.conf - arquivo de configuração do lilo  \subsubsection{DESCRIÇÃO }


Este arquivo, 
por padrão  \textit{/etc/lilo.conf}, é lido pelo carregador de inicialização lilo 
(veja \textsf{lilo(8)}). 

Ele pode se parecer como: 

\begin{verbatim}
boot = /dev/hda   
delay = 40 
compact 
vga = normal 
root = /dev/hda1 
read-only 

image = /zImage-1.5.99 
    label = try 

image = /zImage-1.0.9 
    label = 1.0.9 

image = /tamu/vmlinuz 
 	label = tamu 
 	root = /dev/hdb2 
 	vga = ask 

other = /dev/hda3 
 	label = dos 
 	table = /dev/hda 
\end{verbatim}


Este arquivo de configuração especifica 
que o lilo usa o Registro Mestre de Inicialização - MBR em /dev/hda. (para 
uma discussão sobre as várias formas de usar o lilo, e a interação com 
outros sistemas operacionais veja user.tex na documentação do lilo). 

Ao 
inicializar, o carregador irá aguardar por quatro segundos (40 décimos 
de segundos) para que shift seja pressionado. Caso isso não ocorra, o primeiro 
kernel mencionado (/zImage-1.5.99, o qual provavelmente foi instalado há 
pouco) será iniciado. Caso shift seja pressionado, o carregador perguntará 
qual imagem deverá ser usada. Para verificar as alternativas, basta pressionar 
[TAB] (ou [?], caso se tenha um teclado padrão US), e será apresentada 
uma lista das imagens disponíveis. Tem-se então a alternativa de carregar 
um kernel novo, ou um antigo e confiável, ou um de outro sistema de arquivos 
(caso algo tenha ocorrido com o sistema de arquivos raiz usual). Podem haver 
até 16 imagens mencionadas em lilo.conf. 

Como se pode ver acima, um arquivo 
de configuração começa com um número de opções globais (as primeiras 6 
linhas no exemplo), seguidas das descrições das opções das várias imagens. 
Uma opção em uma descrição de uma imagem irá se sobrepor à uma definição 
global. 

  \subsubsection{OPÇÕES GLOBAIS }
Há diversas opções possíveis. As apresentadas a 
seguir são literalmente as mesmas listadas em user.tex (ligeiramente abreviadas). 
\begin{dispitems}
\item [\textbf{backup=}\textit{arquivo}  ] Copiar o setor de inicialização original para \textit{arquivo} 
(o qual pode também ser um dispositivo, por exemplo \textit{/dev/null}) ao invés 
de \textit{/boot/boot.NNNN}. 
\item [\textbf{boot=}\textit{dispositivo}  ] Define o nome do dispositivo (por 
exemplo uma partição de disco rígido) que contenha um setor de inicialização. 
Caso a palavra chave seja omitida, o setor de inicialização é lido do 
(e provavelmente gravado em) dispositivo montado como raiz. 
\item [\textbf{compact}  ] Tenta 
combinar requisições de leitura de setores adjacentes em uma única solicitação 
de leitura. Isso reduz drasticamente o tempo de carga e mantém o mapa menor. 
Usar esta opção é bastante recomendável especialmente quando se inicializa 
a partir de um disquete.  
\item [\textbf{default=}\textit{nome}  ] Usa a imagem especificada como 
a imagem de inicialização padrão. Caso `default' seja omitido, a imagem listada 
em primeiro lugar no arquivo de configuração é usada. 
\item [\textbf{delay=}\textit{tsecs}  ] Especifica 
o número de décimos de segundo que o carregador deve esperar antes de 
carregar a primeira imagem. Isso é útil em sistemas que inicializam imediatamente 
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 `delay' seja omitido ou configurado 
como zero. 
\item [\textbf{disk=}\textit{dispositivo}  ] Define parâmetros não padronizados para o 
disco especificado. Veja a seção "Geometria de Disco " em user.tex para 
detalhes. 
\item [\textbf{disktab=}\textit{disktab-arq}  ] Especifica o nome da tabela de parâmetros 
de disco. O instalador do mapa procura por  \textit{/etc/disktab} caso `disktab' seja 
omitido. O uso deste parâmetro é desencorajado. 
\item [\textbf{fix-table}  ] Permite ao lilo 
ajustar os endereços nas tabelas de partições. Cada partição contém um 
endereço constituído por setor/cabeça/cilindro e um linear do primeiro 
e do último setor da partição. Caso a partição não esteja alinhada com as 
trilhas e se certos sistemas operacionais estão usando o mesmo disco (PC/MS-DOS 
ou OS/2), eles podem ter alterado o endereço. O lilo pode guardar seu setor 
de inicialização somente em partições onde ambos endereços correspondam. 
O lilo ajustará os endereços caso esta opção esteja configurada. 
\end{dispitems}


 ATENÇÃO: 
isso não garante que outros sistemas operacionais tentem mudar os endereços 
posteriormente. É possível ainda que esta opção cause efeitos colaterais 
imprevisíveis. A forma correta de ajustar este problema é reparticionar 
o disco com um programa que faça o alinhamento. Ainda em alguns discos 
(grandes discos EIDE com conversão de endereços habilitada), sob certas 
circunstâncias, pode ser inevitável ter certos conflitos na tabela de 
partições. \begin{dispitems}
\item [\textbf{force-backup=}\textit{arquivo}  ] Assim como em `backup', regrava uma cópia 
antiga de arquivo caso exista. 
\item [\textbf{ignore-table}  ] Diz ao lilo para ignorar tabelas 
com partições corrompidas.  
\item [\textbf{install=}\textit{setor-inic}  ] Instala o arquivo especificado 
no novo setor de inicialização.  Caso `install' seja omitida, \textit{/boot/boot.b} 
é usado como padrão.  
\item [\textbf{linear}  ] Gera endereços lineares ao invés 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. Note que os discos 
de inicialização podem não ser portáveis caso a opção `linear' seja usada, 
porque os serviços do BIOS que determinam a geometria do disco não funcionam 
adequadamente em disquetes. Ao usar `linear' com discos grandes, \textit{/sbin/lilo} 
pode gerar referências a área inacessíveis do disco, uma vez que os endereços 
setor/cabeça/cilindro não são conhecidas antes da inicialização do sistema. 

\item [\textbf{lock}  ] Habilita a gravação das linhas de comandos de inicialização como 
padrão das próximas inicializações do sistema. Desta forma, o lilo guarda 
as opções até que sejam manualmente sobrepostas. 
\item [\textbf{map=}\textit{arquivo-mapa}  ] Especifica 
a localização do arquivo mapa. Caso `map' seja omitido, o arquivo \textit{/boot/map} 
será usado.  
\item [\textbf{message=}\textit{arquivo}  ] 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. Na mensagem o caracter FF([Ctrl L]) limpa a tela. O tamanho 
do arquivo de mensagem está limitado a 65535 bytes. O arquivo map tem que 
ser reconstruído se o arquivo de mensagem for alterado ou movimentado 
para outra localização. 
\item [\textbf{nowarn}  ] Desabilita avisos sobre possíveis perigos 
futuros. 
\item [\textbf{optional}  ] Um parâmetro `optional' (veja abaixo) pode ser aplicado 
para cada uma das imagens. 
\item [\textbf{password=}\textit{senha}  ] Uma opção `password=...' (veja abaixo) 
pode ser aplicado para cada uma das imagens. 
\item [\textbf{prompt}  ] Força a apresentação 
da mensagem de acesso ao sistema, e fica aguardando que alguma tecla seja 
pressionada. Reinicializações desatendidas são impossíveis caso `prompt' 
esteja configurado e `timeout' não. 
\item [\textbf{restricted}  ] Uma opção `restricted' (veja 
abaixo) pode ser aplicado para cada uma das imagens. 
\item [\textbf{serial=}\textit{parâmetros} 
 ] habilita o controle a partir de uma linha serial. A porta serial especificada 
é inicializada e o carregador de inicialização aceita entradas a partir 
daí e do teclado. Enviando um caracter de quebra em uma linha serial corresponde 
a pressionar a tecla shift na console, para se obter a atenção do carregador. 
Todas as imagens de inicialização devem ser protegidas por senha caso 
a linha serial seja menos segura que a console, por exemplo se a linha 
está conectada a um modem. Os parâmetros tem a seguinte sintaxe:  

    $<$porta$>$[,$<$bps$>$[$<$paridade$>$[$<$bits$>$]]] 


  

$<$porta$>$:  o número da porta serial. 0 corresponde a COM1 ou /dev/ttyS0, 
etc. Todas as quatro portas podem ser usadas (caso presentes).  

$<$bps$>$: taxa 
de transferência, em  baud, da porta serial. As seguintes velocidades são 
suportadas: 110, 150, 300, 600, 1200, 2400, 4800 e 9600 bps.  Padrão é 
2400 bps.  

$<$paridade$>$:  paridade usada na linha serial. O carregador ignora 
as paridades de entrada e ignora pelo oitavo bit. Os seguintes (maiúscula 
ou minúscula) caracteres são usados para descrever a paridade: n para 
nenhuma, ``e'' para par e ``o'' para paridade ímpar.  

$<$bits$>$:  o número de bits de 
um caracter. Somente 7 e 8 bits são suportados. O padrão é 8 bits para paridade 
nenhuma, 7 se a paridade é par ou ímpar.   

Caso serial esteja configurado, 
o valor de `delay' é automaticamente elevada para 20.  

Exemplo: serial=0,2400n8 
inicializa COM1 com os parâmetros padrões. 
\item [\textbf{timeout=}\textit{tsecs}  ] Configura 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. Similarmente, a entrada da senha é abortada se o usuário levar 
muito tempo. O padrão de espera é infinito. 
\item [\textbf{verbose=}\textit{nível}  ] Ativa a geração 
de relatórios de progresso. Números maiores fornecem mais mensagens de 
saída. caso -v  seja adicionalmente especificada na linha de comando do 
lilo, o nível é incrementado de acordo. O nível máximo é igual a 5. 
\end{dispitems}


Adicionalmente, 
os parâmetros de configuração  \textbf{append}, \textbf{ramdisk}, \textbf{read-only}, \textbf{read-write}, \textbf{root} 
e \textbf{vga} podem ser configurados na seção de opções globais. Estas são usadas 
como padrões, caso não sejam especificadas na seção de configuração das 
respectivas imagens do kernel. 

  \subsubsection{SEÇÃO POR IMAGEM }
Uma seção por imagem 
começa ou com uma linha  

    \textbf{image= }\textit{caminho } 

  

(para indicar o arquivo 
ou dispositivo contendo a imagem de inicialização do kernel do Linux), 
ou a linha  

    \textbf{other= }\textit{caminho } 

  

para indicar um sistema arbitrário a 
ser iniciado. 

Caso uma linha \textbf{image } especifique a inicialização a partir 
de um dispositivo, então há que se indicar a faixa de setores a serem 
mapeados usando-se \begin{dispitems}
\item [\textbf{range=}\textit{início-fim}  ] 
\end{dispitems}


No último caso (carregando outro sistema) 
há três opções: \begin{dispitems}
\item [\textbf{loader=}\textit{chain-loader}  ] Especifica o carregador a ser usado. 
Por padrão, \textit{/boot/chain.b} é usado. O carregador deve ser especificado caso 
a inicialização de um dispositivo seja outro que não o primeiro disco 
ou disquete. 
\item [\textbf{table=}\textit{dispositivo}  ] Isso especifica o dispositivo que contém 
a tabela de partição. O carregador de inicialização não passará informações 
da partição para o sistema operacional caso esta variável seja omitida. 
(alguns sistemas operacionais tem outras formas de determinar de qual 
partição eles foram carregados. Por exemplo MS-DOS usualmente armazena a 
geometria do disco de inicialização ou partição no seu setor de inicialização). 
Note que /sbin/lilo deve ser reexecutado se a tabela de partições mapeadas 
for modificada. 
\item [\textbf{unsafe}  ] Não acessar o setor de inicialização em tempo de 
criação do mapa. Isso desabilita algumas checagens, incluindo a checagem 
da tabela de partição. Caso o setor de inicialização esteja em um disquete 
de formato fixo, usando UNSAFE evita a necessidade de por-se um disco no 
drive ao executar o mapa instalador. `unsafe' e `table' são mutuamente incompatíveis. 

\end{dispitems}




 Em ambos os casos as seguintes opções são aplicadas: \begin{dispitems}
\item [\textbf{label=}\textit{nome}  ] O carregador 
usa o nome do arquivo sem seu caminho, em cada imagem especificada, para 
identificá-lo. Um nome diferente pode ser usado para configurar a variável 
`label'. 
\item [\textbf{alias=}\textit{nome}  ] Um segundo nome para a mesma entrada pode ser usado, 
criando-se um nome alternativo. 
\item [\textbf{lock}  ] (Veja acima.) 
\item [\textbf{optional}  ] Omite a imagem, 
caso não esteja disponível em tempo de criação. Isso é útil para especificar 
os testes de kernel que nem sempre estão presentes. 
\item [\textbf{password=}\textit{senha}  ] Protege 
a imagem através de senha. 
\item [\textbf{restricted}  ] Uma senha é requerida somente para 
inicializar a imagem caso os parâmetros sejam especificados na linha de 
comando (por ex. single). 
\end{dispitems}




  \subsubsection{OPÇÕES DO NÚCLEO }
Caso a imagem carregada seja 
um kernel do Linux, então podem ser passados parâmetros na linha de comando 
para este kernel. \begin{dispitems}
\item [\textbf{append=}\textit{string}  ] Anexa as opções especificadas à linha 
de comando passadas para o kernel. Isto é tipicamente usado para especificar 
parâmetros de hardware que não podem ser detectados automaticamente ou 
cujos testes podem ser perigosos. Por exemplo:  

     append = "hd=64,32,202" 


  


\item [\textbf{literal=}\textit{string}  ] Como `append', porém remove todas as outras opções (por 
exemplo, configurando o dispositivo raiz). Uma vez que opções vitais podem 
ser removidas inadvertidamente com `literal', esta opção não deve ser configurada 
na seção de opções globais. 
\item [\textbf{ramdisk=}\textit{tamanho}  ] Especifica o tamanho do disco 
de RAM opcional. Um valor igual a zero indica que nenhum disco em memória 
deve ser usado. Caso esta variável seja omitida, um tamanho para  disco 
em memória configurado  na imagem de inicialização será usado. 
\item [\textbf{read-only} 
 ] Especifica que o sistema de arquivos raiz deve ser montado com permissões 
somente de leitura. Tipicamente o procedimento de início do sistema remonta 
o sistema raiz com permissões de leitura e gravação posteriormente (por 
exemplo após executar o comando fsck). 
\item [\textbf{read-write}  ] Especifica que o sistema 
de arquivos raiz deve ser montado com permissões de leitura e gravação. 

\item [\textbf{root=}\textit{dispositivo}  ] Isso especifica o dispositivo que deve ser montado como 
raiz. Caso o nome especial \textbf{current} seja usado, o dispositivo raiz é configurado 
para o dispositivo no qual o sistema de arquivos raiz está atualmente 
montado. Caso o raiz tenha sido alterado com -r o respectivo dispositivo 
é usado. Caso a variável `root' seja omitida, o dispositivo raiz configurado 
na imagem do kernel será utilizado. (Pode ser definido em tempo de compilação, 
através da variável ROOT\_DEV e pode ser posteriormente alterada com o 
programa \textsf{rdev(8)}.) 
\item [\textbf{vga=}\textit{modo}  ] Especifica que o modo VGA texto deve ser usado 
na inicialização do sistema. Os seguintes valores são reconhecidos (não 
há diferenças entre maiúsculas e minúsculas):   

\textbf{normal}: seleciona modo 
texto normal 80x25.   

\textbf{extended} (ou \textbf{ext}): seleciona modo texto 80x50.  

\textbf{ask}: 
para e pergunta ao usuário (em tempo de inicialização).  

$<$number$>$:  usa o 
modo texto correspondente. Uma lista dos modos disponíveis pode ser obtida 
iniciando-se o sistema com vga=ask  e pressionando [Enter].   

Caso esta 
variável seja omitida, a configuração VGA contida na imagem do kernel 
é usada. (Pode ser definido em tempo de compilação, através da variável 
SVGA\_MODE e posteriormente alterada com o programa \textsf{rdev(8)}). 
\end{dispitems}


 

  \subsubsection{VEJA TAMBÉM 
}
\textsf{lilo(8)}, \textsf{rdev(8)}.  

A distribuição do lilo é acompanhada por uma documentação 
extensiva da qual os dados acima foram retirados.  

