Capítulo 3. Instalação

Índice
3.1. Documentação
3.2. A estrutura de uma distribuição NetBSD
3.3. Instalação
3.4. Exemplo de instalação

3.1. Documentação

A documentação do NetBSD está em sua maior parte no formato das páginas de manual (man) e compreende sobretudo documentação técnica de referência, muito válida e completa mas não particularmente adaptada a objetivos introdutórios. Isso sem dizer que é impossível ler uma página man antes de se ter instalado o sistema...

É, todavia, inegável uma certa carência de guias para usuários e dos assim chamados HOWTO e, portanto, é necessário desfrutar ao máximo dos existentes. Uma série de documentos encontra-se nas releases do NetBSD, em formato texto. Informações adicionais podem ser encontradas no site do NetBSD (www.netbsd.org e mirrors), em particular as Frequently Asked Questions (FAQ).

Documentação original: o site do NetBSD contém várias páginas de documentação e de HOWTO, tanto genéricos como específicos por plataforma. Trata-se de informações úteis e expostas de maneira simples (por exemplo, como ver uma partição Windows a partir do NetBSD ou como inicializar o NetBSD com o seletor de boot do Windows NT, etc.). No presente guia por ora não são duplicadas as informações já constantes do site do NetBSD.

Mais ou menos em todas as versões do NetBSD encontram-se os seguintes arquivos:

INSTALL

Notas para a instalação do NetBSD/i386. Para ler (e reler) com o máximo de atenção. Contém uma descrição do sistema, o elenco de dispositivos de hardware suportados e as instruções para a instalação.

README.first

Não é propriamente essencial para a instalação, mas convém lê-lo.

release.man

Descreve a estrutura da versão do NetBSD em formato man (pré-formatado: pode ser lido com um editor de textos comum).

No site do NetBSD podem ser encontrados vários guias online, muito úteis e muito sintéticos.

NetBSD FAQ

Contém algumas informações de caráter geral ( por exemplo, como recompilar o kernel) e indicadores para outras FAQ.

NetBSD/i386 FAQ

Temas específicos do NetBSD/i386.

Gerenciamento básico de redes em NetBSD

Guia para a configuração de redes e do uso do PPP.

3.2. A estrutura de uma distribuição NetBSD

A disposição dos arquivos em uma distribuição NetBSD é descrito no fim do arquivo INSTALL. A título de recordação, os arquivos binários para instalação encontram-se (para a plataforma i386) no subdiretório i386/binary/sets. Os códigos fonte correspondentes podem ser encontrados no diretório source/sets. No diretório source/patches estão localizados os patches para os códigos fonte, a fim de que se corrijam problemas eventuais (comumente problemas de segurança descobertos depois de liberada uma nova versão do sistema).

3.3. Instalação

A primeira coisa a fazer para instalar o NetBSD é ler as notas de instalação da versão desejada, que se encontram no arquivo INSTALL. O procedimento de instalação é ali descrito em detalhe. Nesse ponto, pode-se decidir o meio a ser utilizado para a instalação, dentre aqueles que são suportados pela sua máquina:

3.3.3. Partições

A terminologia usada pelo NetBSD no que diz respeito às partições é diferente daquela dos sistemas DOS/Windows. NetBSD instala-se em uma das partições primárias do disco rígido (partições BIOS, aquelas definidas nas tabelas das partições do disco). No interior da própria partição BIOS o NetBSD define suas próprias partições, que poderemos chamar partições BSD, escrevendo um disklabel ou grade divisória interna. As partições BSD são visíveis apenas pelo NetBSD e são identificadas por meio de letras (de "a" em diante. Por exemplo, wd0a indica a partição "a" do primeiro disco IDE (wd0)). No exemplo da Figura 3-1 há duas partições primárias. A primeira é ocupada pelo DOS e a segunda pelo NetBSD, que a subdivide, por sua vez, em partições BSD, escrevendo um disklabel.

Nota: na realidade não é de todo exato dizer que o disklabel subdivide a partição BIOS do NetBSD em subpartições. Como se pode ver pela figura as partições "c" e "d" não são subpartições. O disklabel é, para todos os efeitos, a tabela de partições própria do NetBSD: o kernel do NetBSD não consulta a tabela da BIOS mas o disklabel.

Nota: a disposição descrita na Figura 3-1 é típica dos sistemas i386 no que se refere ao significado das partições "c" e "d".

Nota: se o NetBSD não é o único sistema operacional presente no disco rígido (como no exemplo precedente), é necessário instalar um gerenciador de inicialização (boot manager), isto é, um programa que na fase da inicialização do computador permite a escolha do sistema operacional que se quer inicializar. O programa de instalação do NetBSD pode instalar automaticamente um gerenciador de boot se o usuário assim o quiser. Se o outro sistema operacional presente no disco rígido é Windows NT, é possível a utilização do gerenciador de inicialização do NT, acrescentando o NetBSD ao menu. O procedimento (muito simples) é descrito no site do NetBSD.

3.4. Exemplo de instalação

Na parte restante deste capítulo vejamos em detalhe um exemplo real de instalação para um dos casos mais comuns: a instalação por CDROM. Os outros tipos de instalação não diferem nos conceitos, mas somente no modo em que são encontrados os arquivos a instalar. Note-se que alguns detalhes da instalação podem apresentar diferenças segundo tal ou qual versão do NetBSD que se instala. O exemplo refere-se à versão 1.5.

No exemplo seguinte sempre serão tomados os caminhos mais "difíceis":

Estas escolhas fazem a instalação parecer muito mais trabalhosa, embora na realidade não o seja. Por outro lado, não teria muito sentido escrever um guia que ilustre apenas as situações mais fáceis. Tenha-se em todo caso presente que escolhendo-se o uso dos default da instalação as operações são muito mais simples.

3.4.2. Criando o disquete de instalação

A primeira operação a realizar é a criação do disquete de instalação. Trata-se de copiar a imagem do disquete do CD para o floppy. Se esta operação é efetuada em ambiente DOS, usar-se-á o programa rawrite.exe, que se encontra no diretório i386/installation/misc. O arquivo a ser copiado no disquete é i386/installation/floppy/boot.fs.

Se a criação do disquete for efetuada em ambiente Unix, usar-se-á o o comando dd. Por exemplo:

# cd i386/installation/floppy
# dd if=boot.fs of=/dev/fd0a bs=36b
      

dd copia blocos de 512 bytes. A opção bs=36b indica a cópia de 36 blocos por vez, para acelerar a operação.

3.4.3. Últimas operações preparatórias

Agora tudo está pronto para a instalação propriamente dita mas, antes de começar, é bom obter algumas informações sobre o hardware do PC.

A coisa mais importante a se descobrir é o tipo de disco rígido instalado no sistema (IDE, SCSI, ...) e a sua geometria. Estas informações podem ser extraídas do manual do disco, de muitos programas de diagnóstico para DOS ou da própria BIOS, na inicialização do computador. Em alguns discos a geometria está impressa em uma etiqueta colada nele próprio. Uma outra possibilidade válida é entrar no site do fabricante na Internet e procurar aí as especificações técnicas do disco rígido. Se a intenção for instalar via ftp ou via NFS, é bom que se anote também os dados da placa de rede. Uma das mais freqüentes causas de problemas é que o IRQ da placa de rede não corresponde àquele registrado no kernel. Vejamos, a título de exemplo, os registros para uma categoria de placas de rede muito difundidas, as NE2000 e compatíveis de barramento ISA. O kernel é pré-configurado para localizar placas com estas duas configurações:

ne0     at isa? port 0x280 irq 9        # NE[12]000 ethernet cards
ne1     at isa? port 0x300 irq 10	
Portanto, se as configurações de uma NE2000 instalada no sistema não coincidem com ne0 ou com ne1, o kernel de instalação não a identificará (depois da instalação, naturalmente, é possível compilar um kernel personalizado capaz de reconhecer até mesmo outras configurações).

Já que estamos nisso, convém descobrir também algumas informações sobre o resto do sistema. Por exemplo, o tipo de placa de áudio, o número de portas seriais e paralelas, etc. Todas estas informações podem ser úteis em um segundo momento, mesmo que habitualmente não sirvam na fase de instalação. É muito importante individuar eventuais configurações não usuais dos periféricos. Para fazer isso, confrontar as configurações do seu sistema (IRQ, portas de I/O, etc.) com as configurações default reportadas no arquivo INSTALL.

Nota: pode-se proceder à instalação mesmo sem saber a geometria do disco. A informação sobre a geometria serve unicamente para controle. O programa de instalação está em condição de determiná-la automaticamente.

3.4.4. Iniciemos a instalação

Inserir o disquete de instalação recém criado no drive A: e inicializar o computador (ou fazer o boot a partir do CD-ROM). Com o disquete se inicializa o kernel comprimido netbsd.gz. Durante o boot do disquete de instalação recém criado (para certas versões do NetBSD os disquetes poderiam ser dois), quando da inicialização do kernel são mostradas as informações sobre os dispositivos encontrados e configurados. É provável que ocorram muitas indicações de dispositivos não encontrados. Isso é devido ao fato de que o kernel presente no disquete compreende o suporte para uma grande quantidade de periféricos. É natural que nem todos estejam presentes no sistema.

Terminada a inicialização, visualizamos na tela o menu principal do programa de instalação, mostrado na Figura 3-2. Não se pode deixar enganar pelo aspecto espartano do sysinst. Trata-se de um programa muito potente e flexível. Daqui em diante é só seguirmos as instruções mostradas no vídeo, tendo presente as explicações do arquivo INSTALL. As telas do sysinst estão todas estruturadas do mesmo modo: na parte superior se visualiza uma pequena explicação da operação corrente ou uma mensagem de ajuda; na parte central é mostrada a situação atual tal como a identifica o NetBSD (não presente nessa tela de amostra); e na parte inferior aparece o menu com as escolhas possíveis. Escolhendo a opção de instalação "a" chega-se à tela de confirmação, mostrada na Figura 3-3.

Depois de ter decidido prosseguir com a opção "b", chega o momento de indicar sobre qual disco rígido se quer instalar o NetBSD. Se no sistema de hardware estão presentes mais de um disco rígido é mostrada uma relação para fazermos a escolha. Em nosso caso há no computador apenas um disco rígido IDE e, portanto, o programa de instalação não propõe escolhas, limitando-se a mostrar uma tela informativa que pode ser vista na Figura 3-4.

Nota: as informações mostradas neste tela mudam de acordo com o tipo e com o número de discos rígidos instalados no micro.

Subseqüentemente (Figura 3-5) pode-se visualizar a geometria registrada pela BIOS para o disco selecionado na tela precedente. Pode-se confirmar a geometria mostrada ou modificá-la manualmente. Esta segunda opção serve no caso em que o sistema não tenha reconhecido corretamente a geometria.

3.4.5. Partições

Chegou o primeiro momento importante da instalação: o particionamento do disco rígido. A primeira coisa a fazer é indicar se o NetBSD ocupará o disco inteiro (escolha temerária). Mesmo escolhendo a primeira opção, entretanto, pode-se criar uma partição que cobre o disco inteiro (Figura 3-6). A diferença é que na primeira forma de instalação a tabela das partições é mantida em uma modalidade compatível com outros sistemas operacionais.

Em nosso exemplo usaremos um disco com a seguinte geometria real, correspondente à geometria da BIOS mostrada na Figura 3-5.

6232 cyl, 16 heads, 63 sec  (6232 x 16 x 63 = 6281856 setores totais)
1 setor = 512 bytes
1 trilha = 63 setores = 63 * 512 bytes = 32 K
1 cilíndro = 16 * 63 * 512 bytes = 504 K      

O passo seguinte, ilustrado na Figura 3-7 é a indicação das unidades de medida a serem utilizadas para particionar o disco. Os setores são aqueles que permitem a maior precisão, lembrando que sobre discos mais antigos convém alinhar as partições em múltiplos da dimensão do cilíndro. Os megabytes são mais simples de utilizar porque não exigem cálculos manuais, sendo mais "intuitivos".

Na seqüência utilizaremos setores porque são mais úteis para fins demonstrativos. Escolhendo a opção "c", chega-se à tela de interface do fdisk.

A Figura 3-8 mostra a situação do disco rígido antes da instalação do NetBSD. Há quatro partições primárias. Uma para DOS/Windows, duas para Linux e uma não utilizada. Mesmo havendo uma partição livre, não há espaço livre no disco. A coluna End(sec) da partição 2 mostra que todos os 6281856 setores do disco estão ocupados. A

Nota: na tela do fdisk vale sempre a fórmula

Start(sec) + Size(sec) = End(sec)      
além disso, a coluna End(sec) de uma partição corresponde à coluna Start(sec) da partição seguinte. Isto não é muito intituitivo porque o setor visualizado na coluna End(sec) na realidade não pertence à partição, mas é o primeiro setor da partição seguinte. No disklabel, ao contrário, é utilizada uma convenção diferente (e mais lógica).

Para abrir espaço é necessário sacrificar (ainda que com dor no coração) as duas partições do Debian GNU/Linux, começando pela última (opção "c"). Será visualizada uma tela que pode ser usada para modificar os dados de uma partição e a Figura 3-9 mostra-nos os dados correntes da partição 2.

Para deletar uma partição seleciona-se primeiro o tipo unused com a opção "a: Kind" e depois se escolhe a opção "b", deixando-se vazios os campos "Start" e "Size" (tecle Enter deixando os campos em branco). Enfim, confirma-se tudo com a opção "d". Quando se volta à tela principal do fdisk, a partição se mostra livre. Do mesmo modo são deletadas as partições 2 e 1, até que fique apenas a partição 0 (Figura 3-10).

Permanece somente a partição DOS/Windows de 2088516 setores, ou seja, 1029 MB (cerca de 1 GB). O espaço livre é dado pela diferença entre o número total de setores, já calculado acima, e o ponto final da partição DOS (coluna "End").

6281856 - 2088579 = 4193277 setores = 2047 MB livres no disco      

Agora procede-se à criação de uma nova partição para o NetBSD, que deve ter início no fim da partição DOS, escolhendo a opção "b". Para criar uma nova partição é necessário especificar

Em primeiro lugar indica-se que a nova partição dever ser do tipo "NetBSD" (opção "a: Kind") e depois se inserem os dados recém calculados: início = 2088579 e tamanho = 4193277 (utilizando a opção "b"). No fim atenta-se para que tudo esteja correto e se confirma a criação com a opção "d" que remete ao menu principal do fdisk. O resultado final é visualizado na Figura 3-11 que mostra a tabela completa das partições. Nesse ponto pode-se selecionar a opção "x" para passar para o menu seguinte.

A tela que se mostra agora depende de vários fatores. Se foi cometido algum erro no particionamento (por exemplo foi criada uma partição que se superpõe a uma outra já existente) o sysinst mostrará uma mensagem e proporá que se retorne à tela de particionamento. Se os dados inseridos estiverem corretos, de acordo com a versão do NetBSD e os dados inseridos, agora poderia aparecer uma tela que avisa que a partição NetBSD encontra-se em uma posição em que a BIOS poderia não conseguir inicializá-la e pergunta se se quer prosseguir mesmo assim. Este fato poderia ser um problema nos PCs menos recentes. O PC utilizado para o exemplo inicializa-se perfeitamente. Não é possível termos uma regra geral (depende da BIOS). No momento, se aparecer este aviso, sugiro ignorá-lo e prosseguir.

Também a tela posterior depende da versão do NetBSD: a 1.5, se detecta a presença de outros sistemas operacionais, pergunta se queremos instalar o gerenciador de inicialização. Além de instalar o gerenciador de inicialização, o sysinst procede à sua configuração. Pode-se especificar que linhas escritas aparecerão quando se inicializa o computador, qual sistema terá inicialização por default e com que tempo de espera. A tela de configuração do gerenciador de boot é mostrada na Figura 3-12.

Indicar as partições que devem aparecer no menu do gerenciador de boot quando da inicialização do PC, selecionando uma das opções de "a" a "d". Na coluna "Menu entry" devem aparecer os nomes de todas as partições que se quer inicializar através do seletor de boot, como mostrado na Figura 3-13.

Escolhendo a opção "e", pode-se especificar um prazo de espera (timeout) para o menu de inicialização: transcorridos os segundos especificados o sistema especificado como default mediante a opção "f" inicializa-se automaticamente. Como default pode-se indicar

Ao sairmos dessa tela pode-se dizer terminada a parte da instalação relacionada com o particionamento "BIOS" do disco.

Até aqui falamos de partições referindo-nos àquelas que o NetBSD denomina partições Bios ou slice. Agora chegou o momento de definir as partições BSD.

3.4.7. Criação de um disklabel

A estratégia que seguiremos será de deixar o sistema criar automaticamente um disklabel e depois modificá-lo manualmente. Escolhendo a opção "b" da Figura 3-14 é mostrada a tela da Figura 3-15.Figura 3-15.

Nesse ponto poder-nos-íamos limitar à confirmação (escolhendo a opção "b") e o trabalho estaria terminado. Suponhamos todavia que a partição de swap é muito grande e que queiramos reduzí-la para aumentar a partição usr. Escolhendo a opção "a" mudamos o tamanho da partição de memória adicional (swap). Na nova tela mudamos a unidade de medida, passando para setores, com o resultado mostrado na Figura 3-16.

A seqüência das partições (isto é, as letras atribuídas às partições) é padrão. Algumas letras têm um significado bem preciso.

As partições b e c deveriam ser deixadas inalteradas (são modificadas apenas em caso de definição errada por parte do sysinst). Pode-se mudar tranqüilamente a dimensão da partição a, mas é melhor manter o ponto de montagem. Podem ser criadas até 8 partições, para as quais são disponibilizadas as letras de e a h.

Para modificar a partição adicional de memória (swap) é necessário mudar também a partição e, para fazê-la iniciar depois do fim da partição b. As partições c e d não podem ser modificadas (coisa suficientemente óbvia, dado o seu significado).

Suponhamos querer atribuir 150 MB para o swap (correspondentes a 307200 setores). A partição b, portanto, iniciará no setor 2524032 e terminará no setor 281231 (2524032+307200-1).

id:      Size    Offset       End FStype Bsize Fsize Mount point
---      ----    ------       --- ------ ----- ----- -----------
 a:    435453   2088579   2524031 4.2BSD  8192  1024 /
 b:    307200   2524032   2831231   swap
 ...      

O espaço remanescente destinamos à partição e: início no setor que imediatamente segue o setor final da partição b. O fim é fixo (corresponde ao último setor da partição NetBSD) e o tamanho é dado por End - Offset + 1.

id:      Size    Offset       End FStype Bsize Fsize Mount point
---      ----    ------       --- ------ ----- ----- -----------
 a:    435453   2088579   2524031 4.2BSD  8192  1024 /
 b:    307200   2524032   2831231   swap
 ...
 e:   3450624   2831232   6281855 4.2BSD  8192  1024 /usr      

O exemplo precedente mostra a situação que se quer obter com o disklabel. Para modificar as duas partições usam-se as opções "b" e "e", e inserimos os dados calculados.

A tela de modificação é mostrada na Figura 3-17.

O disklabel modificado pode ser visto na Figura 3-18.

Quando o resultado é satisfatório pode-se selecionar "Exit" para salvar e sair, retornando-se à tela da Figura 3-15 onde, desta vez, se escolhe a opção "b".

3.4.9. Selecionando o tipo de meio para a instalação

A primeira parte da instalação está terminada. O próximo passo é a escolha do tipo de instalação, que pode ser full ou custom. A opção full instala a distribuição inteira, enquanto que a opção custom instala os conjuntos básicos (obrigatório) e permite selecionar os sets restantes. É aconselhável escolher a opção full, desde que não se tenha particulares problemas de espaço em disco. A seguir escolheremos a opção custom, que leva à telinha da Figura 3-19.

Os primeiros três itens são obrigatórios porque sem eles o sistema não pode funcionar. Os outros podem ser ativados ou desativados inserindo-se a opção no menu. Inicialmente todos os itens aparecem selecionados. Nesse caso a instalação seria equivalente à opção de instalação full do menu anterior. Escolhamos instalar tudo e prossigamos com a opção "x: Exit".

Sucessivamente o sysinst pergunta se desejamos ver os nomes dos arquivos extraídos durante o processo de extração

Nesse ponto o programa de instalação tem necessidade de encontrar os arquivos da distribuição (os arquivos .tgz): é necessário indicar-lhe onde eles se encontram. O menu oferece várias possibilidades:

As várias opções são explicadas em detalhe no habitual arquivo INSTALL. Note-se que é possível instalar também a partir de uma partição não montada com sistema de arquivos diferente, como por exemplo uma partição MSDOS. Isto significa que é possível copiar todos os arquivos da distribuição em uma partição MSDOS e utilizá-los depois para a instalação.

Ao selecionarmos "cdrom" o sistema pede o nome do dispositivo (por exemplo, cd0) e realiza automaticamente a sua montagem. Ademais, é necessário especificar o caminho (path) dos arquivos da distribuição binária: o sysinst apresenta um caminho por default. No caso do CD-ROM criado por mim, o NetBSD encontra-se no diretório NetBSD-1.5 e, portanto, é necessário modificar o caminho utilizando a opção "b". O novo percurso será:

/NetBSD-1.5/i386/binary/sets      

O nome do dispositivo: também é possível conferir o nome do dispositivo correspondente ao CD-ROM.

  1. Teclar Ctrl-Z para suspender o sysinst: passamos ao prompt da shell.

  2. Dar o comando cat /kern/msgbuf. Desse modo podemos ver as mensagens de inicialização do kernel. Entre elas aparece também a detecção do CD-ROM com o nome do dispositivo (por exemplo, cd0).

  3. Se as linhas escritas deslizam pela tela muito rapidamente, pode-se também utilizar ed /kern/msgbuf, (supondo-se o conhecimento do ed).

  4. Voltar ao programa de instalação com o comando fg.

Ao término da instalação é mostrada uma mensagem que confirma se as operações foram bem sucedidas. Enfim, selecionando "ok", são criados os device files (arquivos de dispositivo).

A instalação está terminada. O sysinst oferece a possibilidade de se efetuar algumas configurações e a timezone (isto é, o fuso horário em que se está). (Para o Brasil podemos selecionar quatro timezones possíveis. A hora oficial, de Brasília, é Brazil/East. Nota do tradutor.). Na tela seguinte pode-se definir a senha do root. Nesse ponto retorna-se ao menu principal e o sistema pode ser inicializado pela primeira vez.