Mais um blog inútil.

Fevereiro 5, 2008

AIX é para quem ama UNIX – parte ii

Filed under: lulz — mirage @ 23:24

Olá meus caros amigos. Peço desculpa por ter demorado tanto tempo desde a última vez, mas tenho andado a fazer experiências e neste momento tenho o AIX 1.3 a correr num cartão CF de 2GB ligado ao p133 através de um adaptador IDE-CF.

Pacotes e updates

No capítulo anterior, vimos como se faz a instalação base do AIX 1.3, mas como se devem recordar, ele ainda nem consegue bootar sozinho do disco rígido. Vou mostrar-vos como se faz a instalação dos restantes pacotes e dos seus updates, e também algumas configurações, de forma a ficar um UNIX puro e duro em toda a sua glória.

A primeira coisa a fazer depois de bootar com as disquetes (sem esquecer de activar o boot from hard disk) é instalar o 1º update, o PTF0024/U436295 (3 disquetes). Traz alguns updates ao base system e ao kernel, que possibilitam bootar a partir de um disco IDE. Depois desse momento já não precisamos das disquetes de boot. O comando para iniciar o update é o seguinte:

updatep -a

Convém ler as instruções que forem sugeridas, pois contêm mais comandos que têm de ser feitos manualmente, consoante o update. Depois de terminar a instalação e verificarmos que está tudo em ordem, podemos fazer o commit definitivo deste update com:

updatep -c

Teoricamente podemos fazer update -ac, combinando as duas operações num só passo. Mas isto é perigoso, porque se uma das disquetes tiver um erro (mesmo verificando as disquetes, shit happens), o updatep simplesmente assume os erros como blocks de zeros e instala os updates com erros. Separando o -a e o -c, podemos fazer um simples reject (-r) do update em vez do commit e tentar instalá-lo de novo. Se por acaso se distraírem e fizerem o update com -ac numa disquete com erros, podem tentar esta receita, que consegui usar com aparente sucesso numa ocasião:

/etc/lpp/rest # aparentemente isto fez uncommit do último update
/etc/lpp/inuconfig # necessário para corrigir o history dos updates
updatep -r # faz o reject do update que passou a pendente com o rest
updatep -a # isto agora dá erros ao tentar instalar, a dizer que /usr/lpp/pacote/inst_updt já existem, apontar os dist que ele diz
rm -rf os_dist_que_ele_diz
updatep -a # agora já instala correctamente

Com este update instalado, já se pode bootar tranquilamente a partir do disco.

AIX update

Vale a pena notar que o installer não tocou na MBR, e o AIX, qual cão fiel, espera que a MBR simplesmente salte para a partição marcada como bootable. Se tiverem instalado anteriormente um LILO ou GRUB, a forma mais simples de restaurar a MBR é bootar com uma disquete de msdos e fazer:

fdisk /mbr

Bom, agora é preciso instalar os packages que acompanham a distribuição do AIX. Para cada um, é preciso fazer:

installp

e inserir a disquete correspondente, sendo que muitos dos pacotes ocupam várias disquetes. Aqui fica a ordem de instalação de pacotes que eu usei:

AdministrativeSupport (1 disquete)
AdvancedDevelopmentTools (5+1)
AsynchTerminalEmulator (1)
BasicNetworkUtilities (1)
EnglishLanguageSupport (1)
ExtendedUserSupport (1)
Games (1)
GraphicSupportLibrary (2)
INed (2)
InternalTapeBackupUnit (1)
KanjiLanguageSupport (1)
LearnToUseAIX-PS2 (1)
ManualPages (5)
MessageHandler (3)
MetawareC_Compiler (1)
NFS (1)
Samples (1)
SendMail (1)
TextFormattingSystem (1)
cd-rom (1)
inmn386 (1)
tcpip (2) (vai pedir um IP para usar)
x25 (2)
x11 (11)
X11-Fonts (3)
X11-Samples (5)
X-ManualPages (2)
X-Station-Manager (3)
X-Windows_Desktop (3)
ImageAdapterA (1)
Motif (4)

Jóia, cara! Deixei propositadamente dois pacotes de fora, o DOS_Merge e PCInterface. Servem para coisas do estilo de interagir com instalações de MSDOS locais, e para exportar drives de MSDOS, etc. Nada que compense ver o IO.SYS, AUTOEXEC.BAT e amigos na / a conspurcar o AIX. Por curiosidade, o pacote ImageAdapterA tem copyright do Knuth.

AIX ImageAdapterA do Knuth

Agora resta instalar os outros updates, usando o mesmo procedimento que expliquei acima. São os seguintes:

PTF0024/U436296 (2)
PTF0024/U436297 (3)
PTF0024/U436298 (5)

Há pacotes e updates que actualizam o kernel e pedem para rebootar, coisa que devemos respeitar.

AIX kernel update

Depois deste esforço todo, estamos finalmente em condições de fazer o que realmente interessa: ligar às internets!

AIX uname

Net por SLIP

Não é a coisa mais rápida do mundo, mas é funciona com hardware comum. Só precisamos de um cabo série "null modem" e outra máquina com porta série. Primeiro que tudo temos que criar o device da porta série. Para a gestão de todos os devices usa-se, quem diria, o comando "devices". Este comando oferece-nos um excelente interface interactivo que permite adicionar, listar, modificar e remover os devices que desejarmos. Os passos para criar uma consola na porta série (necessário para activar o SLIP) são os seguintes:

add
ttydev
tty
s1
(enter)
yes
(enter)
(enter)
(enter)
(f3 para sair)

Mas ainda não chega, é preciso editar o /etc/inittab, procurar a secção do recém-criado tty0 e mudar o "action = off" para "action = respawn". Podemos agora reiniciar e espera-nos uma consola a 9600 baud com 7 data bits (não consegui usar 8) na 1ª porta série. Ligando o cabo a um linux, podemos aceder à consola com o comando:

screen /dev/ttyS0 9600,cs7

Logamo-nos como root no AIX pela ligação série e fazemos:

sliplogin -c -b 9600 -h 192.168.7.2 -r 192.168.7.1 -n 255.255.255.0

O screen ficará bloqueado e podemos matá-lo no linux. Continuando as coisas no lado do linux, são necessários estes comandos para estabelecer a ligação SLIP:

slattach -d -p cslip -s 9600 /dev/ttyS0
ifconfig sl0 192.168.7.1 dstaddr 192.168.7.2 netmask 255.255.255.0
iptables -t nat -A POSTROUTING -s 192.168.7.0/24 -j MASQUERADE

E, voltando ao AIX (na consola física):

route add default 192.168.7.1 0

Prontes, temos agora uma ligação SLIP na qual o AIX tem o IP 192.168.7.2, e o linux tem o IP 192.168.7.1. Adicionalmente, aquele iptables serve para o linux partilhar a rede com o AIX. Podemos criar um /etc/resolv.conf (por default não existe) com os nameservers, no formato habitual. Existe um inetd com telnet (entre outras coisas) a correr por default no AIX, pelo que no linux podemos fazer:

TERM=vt220 telnet 192.168.7.2

Infelizmente não consegui usar uma ligação mais rápida que 9600 bauds, pelo que com sorte até se aproximava de 1kb/s quando o vento estava a favor.

AIX SLIP

Net por Ethernet

Este é o fruto mais apetecido e naturalmente fugidio. A dificuldade reside na escassez de drivers ethernet de que o AIX 1.3 dispõe. A melhor aposta é mesmo uma 3Com Etherlink III aka 3c509, por ISA, com BNC. O driver não suporta o interface rj45, apenas AUI e BNC. A minha sorte foi ter conseguido arranjar uma placa destas emprestada, e foi-me oferecido um hub com BNC e rj45 para fazer de ponte para o resto da rede. Se não fosse eu, teria ido para o lixo (!). Desejo-vos a melhor sorte a encontrar o material necessário.

Adiante; convém saber/configurar qual o IRQ e IOBASE da placa e para isso nada melhor que o utilitário de MSDOS chamado 3C5X9CFG.EXE; google and ye shall find it. Armados com esse conhecimento, podemos proceder à criação do device com o comando "devices" anteriormente mencionado. Os passos são:

add
lan
elisa
(configurar o iobase e irq, e o trans deve permanecer 0)
(enter)
yes
(enter)
(enter)
(f3 para sair)
yes

Agora editamos o /etc/net para adicionar no final uma secção com o seguinte:

elisa0:
netaddr = 192.168.2.2
inetlen = 1500
r_inetlen = 1500

É preciso especificar o inetlen e r_inetlen (aka MTU) pois neste tempo isto era cutting edge e não havia cá pão pra malucos. Agora criamos o /aixps2/rc.tcpip.local (atenção que o aixps2 é o nome da máquina escolhido na instalação) com o seguinte:

/etc/netconfig add -s elisa0
/etc/ifconfig elisa0 arp ether
/etc/route add default 192.168.2.1 1

E resta criar um /etc/resolv.conf se ainda não o tiverem feito. Posto isto, depois de um reboot o AIX fica com um interface elisa0 (adoro o nome; suponho que signifique EtherLink ISA) com o IP 192.168.2.2 a usar a box 192.168.2.1 como default route.

AIX ethernet

E por hoje é tudo. Podem agora fazer coisas divertidas, como pingar o google ou ir para o irc por telnet. Num próximo capítulo abordaremos a compilação e instalação de algum software 3rd party indispensável, como o emacs, bem como várias configurações de sistema para dar um toque mais pessoal ao vosso AIX. Um bem haja e até sempre!

6 comentários a “AIX é para quem ama UNIX – parte ii”

  1. C-16 diz:

    Ois. Até me veio uma lágrimazinha ao olho quando li o teu post. Só para quem ama!

  2. falso diz:

    UNIX é para quem ama!

  3. cp diz:

    BELO! *CLAP* *CLAP* *CLAP*

  4. ganda pinta, nunca paras de impressionar

  5. [...] e ter mexido um bocadinho de nada em tudo, desde Linux, FreeBSD, OpenBSD, Solaris e AIX 1.3 (kudos pó mirage), nunca tinha instalado nenhum deles (à excepção de [...]

  6. Hung aryan diz:

    #! /usr/bin/perl -w
    for(2..36){print(sqrt()=~/\./?"*"x(1&uc):"\n")}
    __END__
    Respect!
    aixps2 DOES work in bochs _with SLIP_ (a virtual serial port assigned to a tcp socket, which was connected to a router in qemu) Thx for slip tips! Both a summary and a de-tailed installation (+ txt screenshots embedded into a textonly html -) description are available online
    I'm permanently s***ing with my 3c509b TPC (but(t) now I have a BNC-UTP switch)

Leave a Reply for cp

widgeon
widgeon
widgeon
widgeon