Handbook:MIPS/Blocks/HWReqs/pt-br

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:MIPS/Blocks/HWReqs and the translation is 78% complete.
Outdated translations are marked like this.


CPU (Porte Big Endian port) MIPS3, MIPS4, MIPS5 ou CPU classe MIPS64
CPU (Porte Little Endian) MIPS4, MIPS5 ou CPU classe MIPS64
Memória 128 MB
Espaço em disco 3.0 GB (excluindo área de swap)
Área de swap Pelo menos 256 MB

Em muitas arquiteturas, o processador passou por várias gerações, cada geração baseada nos fundamentos da anterior. O MIPS não é exceção. Há várias gerações de CPU sob a arquitetura MIPS. De modo a escolher o arquivo tar de stage com a imagem de netboot e CFLAGS apropriadas, é necessário conhecer a qual família a CPU do sistema pertence. Essas famílias são chamadas de Conjunto de Instruções da Arquitetura ("Instruction Set Architecture" -- ISA).

MIPS ISA 32/64-bit CPUs cobertas
MIPS 1 32-bit R2000, R3000
MIPS 2 32-bit R6000
MIPS 3 64-bit R4000, R4400, R4600, R4700
MIPS 4 64-bit R5000, RM5000, RM7000 R8000, R9000, R10000, R12000, R14000, R16000
MIPS 5 4-bit Nenhuma até agora
MIPS32 32-bit AMD Alchemy series, 4kc, 4km, e muitas outras... Há algumas revisões na ISA MIPS32.
MIPS64 64-bit Broadcom SiByte SB1, 5kc ... etc... Há algumas revisões na ISA MIPS64.
Nota
O nível ISA MIPS5 foi projetado pela Silicon Graphics em 1994, mas nunca foi usado em uma CPU real. Ela existe como parte da ISA MIPS64.
Nota
As ISAs MIPS32 e MIPS64 são fontes comuns de confusão. O nível ISA MIPS64 é na verdade um superconjunto da ISA MIPS5 e assim ele inclui todas as instruções da ISA MIPS5 e anteriores. MIPS32 é um subconjunto de 32 bits do MIPS64. Ele existe principalmente porque a maioria das aplicações apenas requer processamento de 32 bits.

Também, outro conceito importante a ser digerido é o conceito de "endian". Endian refere-se ao modo em que a CPU lê palavras da memória principal. Uma palavra pode ser lida como ou "big endian" (byte mais significativo primeiro), ou "little endian" (byte menos significativo primeiro). Máquinas Intel x86 são geralmente little endian, enquanto máquinas Apple e Sparc são big endian. No MIPS, podem ser ambos. Para separá-las, acrescentamos "el" ao nome da arquitetura para denotar little endian.

Arquitetura 32/64-bit Endian Máquinas cobertas
mips 32-bit Big Endian Silicon Graphics
mipsel 32-bit Little Endian Cobalt Servers
mips64 64-bit Big Endian Silicon Graphics
mips64el 64-bit Little Endian Cobalt Servers

Aqueles que quiserem aprender mais sobre ISAs, os sites abaixo podem ser úteis:

Visão geral do boot pela rede

Neste seção mostraremos o que é necessário para fazer boot pela rede de uma estação de trabalho Silicon Graphics ou de um dispositivo Cobalt Server. Este é apenas um guia rápido, não sendo feito para ser extensivo. Para mais informação, é recomendada a leitura do artigo Nós sem disco.

Dependendo da máquina, há uma certa quantidade de hardware necessária para fazer boot pela rede e instalar o Linux nela com sucesso.

  • Em geral:
    • DHCP/BOAMD Série Alchemy, 4kc, 4km, várias outras... Há algumas revisões na ISA MIPS32. Servidor OTP (recomendado o ISC DHCPd)
    • Paciência -- muita
  • Para estações de trabalho Silicon Graphics:
    • Servidor TFTP (recomendado o tftp-hpa)
    • Se for necessário usar o console serial:
      • Cabo serial MiniDIN8 --> RS-232 (necessário apenas para sistemas IP22 e IP28)
      • Cabo Null-modem
      • Terminal compatível VT100 ou ANSI capaz de operar a 9600 bauds
  • Para Cobalt Servers (NÃO o Qube original):
    • Servidor NFS
    • Cabo null-modem
    • Terminal compatível VT100 ou ANSI capaz de operar a 115200 bauds
Nota
Máquinas SGI usam um conector MiniDIN 8 nas portas seriais. Aparentemente, cabos de modem da Apple funcionam bem como cabos seriais, mas com as máquinas da Apple vindo equipadas com portas USB e modens internos, esses cabos estão cada vez mais difíceis de achar. Um diagrama de conexões está disponível no Wiki Linux/MIPS, e a maioria das lojas de eletrônica deve ter os plugues necessários.
Nota
O terminal pode ser um terminal VT100/ANSI real, ou pode ser um PC rodando um software de emulação de terminal (tal como HyperTerminal, Minicom, seyon, Telex, xc, screen - qualquer um de sua preferência). Não importa qual a plataforma dessa máquina - apenas que ela tenha uma porta serial RS-232 disponível e o software apropriado.
Nota
Este guia NÃO cobre o Qube original. O servidor Qube original não dispõe de uma porta serial em sua configuração default e, assim, não é possível instalar o Gentoo nele sem a ajuda de uma chave de fenda e uma máquina extra.

Configurando TFTP e DHCP

Como mencionado anteriormente, este não é um guia completo, mas apenas uma configuração básica para que as coisas funcionem. Use este guia quando estiver instalando do zero ou use como sugestões adicionais a uma configuração que suporte boot pela rede.

Vale a pena notar que os servidores usados não precisam estar rodando o Gentoo Linux, eles podem muito bem estar usando FreeBSD ou qualquer outra plataforma do tipo Unix. Entretanto, este guia assume que está sendo usado o Gentoo Linux. Se desejado, é também possível usar TFTP/NFS em uma máquina separada do servidor DHCP.

Aviso
A equipe do Gentoo/MIPS não pode ajudar com a configuração de outros sistemas operacionais como servidores de boot de rede.

Primeiro Passo -- configurar o DHCP. De modo ao servidor ISC DHCP responder às solicitações de requisição BOOTP (necessário pela SGI & Cobalt BOOTROM) primeiro habilite o BOOTP dinâmico na faixa de endereços em uso; depois configure uma entrada para cada cliente apontando para a imagem de boot.

root #emerge --ask net-misc/dhcp

Uma vez instalado, crie o arquivo /etc/dhcp/dhcpd.conf. Aqui está uma configuração básica para servir de início.

FILE /etc/dhcp/dhcpd.confExemplo de dhcpd.conf
# Diga ao dhcpd para desabilitar o DNS dinâmico.
# dhcpd não iniciará sem isso.
ddns-update-style none;
  
# Crie uma sub-rede:
subnet 192.168.10.0 netmask 255.255.255.0 {
  # Faixa de endereços para inicializar os clientes. Não se esqueça do 'dynamic-bootp'!
  pool {
    range dynamic-bootp 192.168.10.1 192.168.10.254;
  }
  
  # Servidores DNS e default gateway -- substitua conforme apropriado
  option domain-name-servers 203.1.72.96, 202.47.56.17;
  option routers 192.168.10.1;
  
  # Diga ao servidor DHCP que ele é autoritativo para esta sub-rede.
  authoritative;
  
  # Permita o uso de BOOTP nesta sub-rede.
  allow bootp;
}

Com essa configuração pode-se adicionar qualquer número de clientes na cláusula de subnet.

Próximo passo -- Configurar o servidor TFTP. É recomendado o uso do tftp-hpa uma vez que é o único servidor TFTP que se sabe funcionar corretamente. Proceda instalando-o como mostrado abaixo:

root #emerge --ask net-ftp/tftp-hpa

Isso irá criar o diretório /tftproot para armazenar as imagens de boot. Mova para outro lugar, se necessário. Para os propósitos deste guia, será assumido que foi mantido na localização default.

Fazendo boot de rede em estações SGI

Baixando uma imagem de boot de rede

Dependendo do objetivo da instalação, há diversas imagens possíveis disponíveis para download. Elas são nomeadas de acordo com o tipo do sistema e da CPU para a qual a imagem foi compilada. Os tipos de máquinas são os seguintes:

Nome-código Máquinas
IP22 Indy, *Indigo 2, Challenge S
IP26 *Indigo 2 Power
IP27 Origin 200, Origin 2000
IP28 *Indigo 2 Impact
IP30 Octane
IP32 O2
Nota
Indigo 2 - É um erro comum confundir as IRIS Indigo (IP12 com CPU R3000 CPU ou IP20 com uma CPU R4000, nenhuma das quais roda Linux), a Indigo 2 (IP22, que roda Linux bem), a Indigo 2 Power baseada no R8000 (que não roda Linux de nenhuma maneira) e a Indigo 2 Impact baseada no R10000 (IP28, que é altamente experimental). Tenha em mente que se trata de máquinas diferentes.

Também, no arquivo, r4k refere-se à serie de processadores R4000, r5k à R5000, rm5k para a RM5200 e r10k para a R10000. As imagens estão disponíveis nos espelhos do Gentoo.

Configuração DHCP para um cliente SGI

Depois de baixar o arquivo, coloque a imagem descompactada no diretório /tftproot/ (use bzip2 -d para descompactar). Depois edite o arquivo /etc/dhcp/dhcpd.conf e adicione a entrada adequada para o cliente SGI.

FILE /etc/dhcp/dhcpd.confTrecho para Estação de Trabalho SGI
subnet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx {
  # ... configurações normais aqui ...
  
  # Estação de trabalho SGI... troque 'sgi' pelo nome de host de sua máquina SGI.
  host sgi {
  
    # Endereço MAC da máquina SGI. Normalmente fica escrito na traseira ou parte de baixo da máquina
    hardware ethernet 08:00:69:08:db:77;
  
    # Servidor TFTP Server do qual será baixada (por default, mesmo que o servidor DHCP)
    next-server 192.168.10.1;
  
    # Endereço IP para fornecer à máquina SGI
    fixed-address 192.168.10.3;
  
    # Nome do arquivo da PROM a baixar e dar boot
    filename "/gentoo-r4k.img";
  }
}

Opções do kernel

Estamos terminando, mas há alguns pequenos ajustes ainda a serem feitos. Abra um console como usuário root.

Desabilite o "Path Maximum Transfer Unit" ou senão a PROM SGI não encontrará o kernel:

root #echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc
Configure a faixa de portas disponíveis para a PROM SGI:
root #echo "2048 32767" > /proc/sys/net/ipv4/ip_local_port_range
root #echo "2048 32767" > /proc/sys/net/ipv4/ip_local_port_range

Isso deve ser suficiente para permitir que o servidor Linux funcione corretamente com a PROM da SGI.

Iniciando os serviços

Neste ponto, inicie os serviços.

root #/etc/init.d/dhcp start
root #/etc/init.d/in.tftpd start

Se nada de errado ocorreu no passo anterior, tudo está pronto para ligar a estação de trabalho e prosseguir com o guia. Se o servidor DHCP não estiver subindo, por qualquer razão, tente rodar dhcpd na linha de comando e veja o que ele diz. Se estiver tudo bem, ele deve apenas entrar em execução em segundo plano, ou senão ele mostrará "exiting." logo abaixo de sua mensagem de erro.

Uma maneira fácil de verificar se o serviço tftp está rodando é digitar o comando abaixo e checar a saída:

root #netstat -al | grep ^udp
udp        0      0 *:bootpc                *:*
udp        0      0 *:631                   *:*
udp        0      0 *:xdmcp                 *:*
udp        0      0 *:tftp                  *:* <-- (procure por esta linha)

Inicializando a estação SGI pela rede

OK, tudo configurado, o DHCP está rodando assim como o TFTP. Agora é hora de ligar a máquina SGI. Ligue a unidade, quando a mensagem "Running power-on diagnostics" aparecer na tela, clique em "Stop For Maintenance" ou pressione Escape. Um menu similar ao abaixo irá aparecer.

Running power-on diagnostics
System Maintenance Menu
  
1 - Start System
2 - Install System Software
3 - Run Diagnostics
4 - Recover System
5 - Enter Command Monitor
Option?

Tecle 5 para entrar no monitor de comandos. No monitor, inicie o processo BootP:

>>bootp(): root=/dev/ram0

A partir deste ponto, a máquina deve começar a baixar a imagem e então, aproximadamente 20 segundos depois, começar a iniciar o Linux. Se tudo correr bem, um shell ash do busybox deve iniciar como mostrado abaixo e a instalação do Gentoo Linux pode continuar.

CODE When things are going right...
init started:  BusyBox v1.00-pre10 (2004.04.27-02:55+0000) multi-call binary
  
Gentoo Linux; http://www.gentoo.org/
 Copyright 2001-2004 Gentoo Technologies, Inc.; Distributed under the GPL
  
 Gentoo/MIPS Netboot for Silicon Graphics Machines
 Build Date: April 26th, 2004
  
 * To configure networking, do the following:
  
 * For Static IP:
 * /bin/net-setup <IP Address> <Gateway Address> [telnet]
  
 * For Dynamic IP:
 * /bin/net-setup dhcp [telnet]
  
 * If you would like a telnetd daemon loaded as well, pass "telnet"
 * As the final argument to /bin/net-setup.
  
Please press Enter to activate this console.

Resolução de problemas

Se a máquina não cooperar e recusar a baixar a image, pode ser umas das duas coisas:

  1. As instruções não foram seguidas corretamente, ou
  2. Ela precisa de um pouco de persuasão (Não, abaixe essa marreta!)

Eis uma lista de coisas a checar:

  • Se o dhcpd está entregando à máquina SGI um endereço IP. Deve haver mensagens sobre a requisição BOOTP nos logs do sistema. O tcpdump também é útil neste caso.
  • Se as permissões configuradas corretamente na pasta do tftp (normalmente /tftproot/ - deve ter permissão de leitura para todos)
  • Cheque os logs do sistema para ver o que o tftp está reportando (erros, talvez)

Se tudo foi checado no servidor, e timeouts e outros erros aparecerem na máquina SGI, tente entrar isto no console:

>>resetenv
>>unsetenv netaddr
>>unsetenv dlserver
>>init
>>bootp(): root=/dev/ram0

Boot de rede em estações Cobalt

Visão geral do funcionando de boot pela rede

Diferentemente das máquinas SGI, servidores Cobalt usam NFS para transferir seus kernel para iniciar o boot. Dê boot na máquina segurando apertadas as teclas de seta para esquerda e seta para direita enquanto a máquina é ligada. A máquina vai então tentar obter um endereço IP por bootp, montar o diretório /nfsroot/ do servidor por NFS e então tentar baixar dar boot no arquivo vmlinux_raq-2800.gz (dependendo do modelo) que assume que seja um arquivo binário ELF padrão.

Baixando uma imagem de boot de rede do Cobalt

Em http://distfiles.gentoo.org/experimental/mips/historical/netboot/cobalt/ encontram-se as imagens de boot necessárias para se ter uma Cobalt rodando. Esses arquivos tem o nome no formato nfsroot-KERNEL-COLO-DATA-cobalt.tar - selecione o mais recente e descompacte-o em / como mostrado abaixo:

root #tar -C / -xvf nfsroot-2.6.13.4-1.19-20051122-cobalt.tar

Configuração do servidor NFS

Como esta máquina usa NFS para baixar sua imagem, é necessário exportar o diretório /nfsroot/ no servidor. Instale o pacote net-fs/nfs-utils:

root #emerge --ask net-fs/nfs-utils

Uma vez feito, coloque o seguinte no arquivo /etc/exports:

FILE /etc/exportsExporting the /nfsroot directory
/nfsroot      *(ro,sync)

Agora inicie o servidor NFS:

root #/etc/init.d/nfs start

Se o servidor NFS já estava rodando, diga a ele para recarregar seu arquivo exports usando o comando exportfs:

root #exportfs -av

Configuração DHCP para uma máquina Cobalt

A parte do DHCP é relativamente simples. Adicione o seguinte ao arquivo /etc/dhcp/dhcpd.conf:

FILE /etc/dhcp/dhcpd.confTrecho para o servidor Cobalt
subnet xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx {
  # ... coisas de sempre ...
  
  # Configuracao para um servidor Cobalt
  # Configure o nome da maquina aqui:
  host qube {
    # Caminho para o diretorio nfsroot.
    # Isto é principalmente para quando usar a opção de boot do TFTP no CoLo
    # Não deve ser necessário alterar isto.
    option root-path "/nfsroot";
  
    # Endereço MAC ethernet do servidor Cobalt
    hardware ethernet 00:10:e0:00:86:3d;
  
    # De qual servidor baixar a imagem
    next-server 192.168.10.1;
  
    # Endereço IP do servidor Cobalt
    fixed-address 192.168.10.2;
  
    # Localização do arquivo default.colo relativa ao /nfsroot
    # Não deve ser necessário alterar isto.
    filename "default.colo";
  }
}

Iniciando os serviços

Agora inicie os serviços. Digite o seguinte:

root #/etc/init.d/dhcp start
root #/etc/init.d/nfs start

Se tudo correu bem no passo anterior então tudo está pronto para ligar a estação de trabalho e prosseguir com o guia. Se o servidor DHCP não estiver iniciando por algum motivo, tente rodar dhcpd na linha de comando e ver o que ele mostra - se estiver tudo certo, ele deve ir para o segundo plano ou senão, ele irá mostrar 'exiting' logo abaixo da mensagem de erro.

Fazendo boot pela rede na máquina Cobalt

Chegou a hora de ligar a máquina Cobalt. Ligue o cabo do modem e configure o terminal para usar 115200 bauds, sem paridade, 1 stop bit e emulação VT100. Uma vez feito isso, segure pressionadas as teclas de seta para esquerda e seta para direita enquanto ligar a máquina.

O painel traseiro deve mostrar "Net Booting" e alguma atividade de rede deve ser visível, logo seguida da entrada do CoLo. No painel traseiro, role o menu para baixo até a opção "Network (NFS)" e pressione Enter. Note que a máquina inicia o boot pelo console serial.

...
elf: 80080000 <-- 00001000 6586368t + 192624t
elf: entry 80328040
net: interface down
CPU revision is: 000028a0
FPU revision is: 000028a0
Primary instruction cache 32kB, physically tagged, 2-way, linesize 32 bytes.
Primary data cache 32kB 2-way, linesize 32 bytes.
Linux version 2.4.26-mipscvs-20040415 (root@khazad-dum) (gcc version 3.3.3...)
Determined physical RAM map:
 memory: 08000000 @ 00000000 (usable)
Initial ramdisk at: 0x80392000 (3366912 bytes)
On node 0 totalpages: 32768
zone(0): 32768 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: console=ttyS0,115200 root=/dev/ram0
Calibrating delay loop... 249.85 BogoMIPS
Memory: 122512k/131072k available (2708k kernel code, 8560k reserved, 3424k dat)

Um shell ash do buybox irá ser executado, como mostrado abaixo, de onde a instalação do Gentoo Linux pode continuar.

CODE Se der tudo certo...
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 280k freed
init started:  BusyBox v1.00-pre10 (2004.04.27-02:55+0000) multi-call binary
  
Gentoo Linux; http://www.gentoo.org/
 Copyright 2001-2004 Gentoo Technologies, Inc.; Distributed under the GPL
  
 Gentoo/MIPS Netboot for Cobalt Microserver Machines
 Build Date: April 26th, 2004
  
 * To configure networking, do the following:
  
 * For Static IP:
 * /bin/net-setup <IP Address> <Gateway Address> [telnet]
  
 * For Dynamic IP:
 * /bin/net-setup dhcp [telnet]
  
 * If you would like a telnetd daemon loaded as well, pass "telnet"
 * As the final argument to /bin/net-setup.
  
Please press Enter to activate this console.

Resolução de problemas

Se a máquina não cooperar e recusar a baixar a image, pode ser umas das duas coisas:

  1. As instruções não foram seguidas corretamente, ou
  2. Ela precisa de um pouco de persuasão (Não, abaixe essa marreta!)

Eis uma lista de coisas a checar:

  • Se o dhcpd está entregando à máquina Cobalt um endereço IP. Verifique mensagens sobre a requisição BOOTP nos logs do sistema. O tcpdump também é útil neste caso.
  • Se as permissões foram configuradas corretamente na pasta /nfsroot/ - deve ter permissão de leitura para todos
  • Verifique se o servidor NFS está rodando e exportando o diretório /nfsroot/. Verifique isso usando o comando exportfs -v no servidor.