AIX é para quem ama UNIX – parte ii
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.
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.
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.
Depois deste esforço todo, estamos finalmente em condições de fazer o que realmente interessa: ligar às internets!
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.
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.
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!
Ois. Até me veio uma lágrimazinha ao olho quando li o teu post. Só para quem ama!
UNIX é para quem ama!
BELO! *CLAP* *CLAP* *CLAP*
ganda pinta, nunca paras de impressionar
[...] 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 [...]
#! /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)