Firmware de node guifi bàsic (ii)

En l'anterior post presentava el hardware i les intencions, en aquest començo la instal·lació. Ho apunto aquí perquè així no perdré les notes tal i com acostuma a passar-me... i sempre acostuma a haver-hi algun detall que sense notes acaba fen-te perdre un munt d'hores.

Primera aproximació - Instruccions d'instal·lació d'una distribució Debian en una placa Soekris.

La opció més neta per a la instal·lació seria amb debootstrap, però el que es vol aconseguir en aquesta primera aproximació, és una instal·lació totalment "estàndard" amb possibilitat d'actualitzar-se a partir dels pegats normals de Debian. Més endavant, ja s'és a temps de fer una distribució personalitzada i ajustada a una CF (CompactFlash) més petita.

Aquesta és una primera instal·lació per tenir una base més o menys neta per treballar. En acabar, es crearà una imatge de la CF en un arxiu que es farà servir per clonar la instal·lació sense haver de repetir el procés.

Es procedirà a arrencar la placa des de la xarxa i a instal·lar un Linux Debian Sarge en una CompactFlash de 512MBytes (si, 512MBytes és una mica heavy... crec que amb 128 seria més que suficient, fins i tot amb 64 es podria fer alguna cosa força interessant).

Com que es pretén fer algunes proves de desenvolupament sobre aquest equip, també s'hi ha instal·lat un disc dur de portàtil de 6GB (que de moment no es fa servir per res) i una tarja WiFi amb Xipset Prism 2.5.

Per tal d'arrencar l'equip, i en cas que no es disposi d'un servidor DHCP i un TFTP a la xarxa local, es procedirà a instal·lar aquests dos serveis sobre un servidor o PC de sobretaula amb S.O. Debian Sarge. Tot seguit es procedirà a l'arrencada de l'equip i a la instal·lació del sistema operatiu.

Finalment es configurarà un sistema d'arxius temporal en RAM, s'hi direccionarà /var i /tmp i es farà que la CF sigui read-only. Amb l'espai que resta de la CF de 512MB, es crearà una altra partició on es desaran paràmetres de configuració, etc. (Això serà en la iii o iv part)

Instal·lar daemon tftpd en un equip:

Si no tenim instal·lat un servidor tftpd a la xarxa, procedirem a instal·lar-ne un. Aquest servidor és utilitzar per tal que els equips puguin carregar el sistema operatiu des de la xarxa. És l'equivalent en UDP d'un servidor FTP però té una funcionalitat molt reduïda. Ideal per poder-ne implementar el client a la ROM d'una tarja de xarxa o a la BIOS d'un equip (per exemple, amb les plaques o BIOS que permeten arrencar amb PXE).

apt-get install tftpd tftp

Crear carpeta /boot amb permisos de lectura per a tothom.

Assegurar que el servei arrencat amb /etc/init.d/inetd reload

Copiar-hi un arxiu qualsevol i provar de descarregar-lo amb:


tftp localhost
get [nom_arxiu] [destí_arxiu]

Instal·lar dimoni DHCP en un equip:

El mateix que abans, si encara no disposeu de servidor DHCP al que pogueu configurar opcions (normalment els que porten els routers no permeten fer gaire res sense remenar a baix nivell). El servidor DHCP permet que els equips puguin demanar una adreça IP correcta per tal de poder-se connectar a la xarxa.
A part de l'adreça IP també poden donar altres paràmetres, com per exemple d'on descarregar una imatge de S.O... ja es veu per on va la cosa...

apt-get install dhcp3-server

Modificar /etc/dhcp3/dhcpd.conf i assegurar-se que té el següent (la xarxa 192.168.10.0/24 s'ha posat d'exemple):


authoritative

subnet 192.168.10.0 netmask 255.255.255.0 {
range dynamic-bootp 192.168.10.100 192.168.10.200;
option broadcast-address 192.168.10.255;
option routers 192.168.10.1;
option domain-name-servers 192.168.10.1;
filename "pxelinux.0";
allow-unknown-clients;
}

En aquest cas, 192.168.10.1 és el servidor DNS i router (per tal que es pugui descarregar la instal·lació d'internet).

Reiniciarem el servei amb /etc/init.d/dhcp3-server restart.

Es pot provar si funciona posant una tarja en DHCP i comprovant si pot renovar la IP... o simplement, continuem amb els següents passos d'instal·lació i ja veurem què passa.

Descàrrega d'una imatge de Debian amb possibilitat d'arrencament en xarxa:

Descarregar la imatge de Debian amb arrencada per xarxa (uns 9 MB):
http://people.debian.org/~joeyh/d-i/images/daily/netboot/netboot.tar.gz

Descomprimir al directori /boot

Canviar el link simbòlic pxelinux.cfg que ha creat a /boot per tal que apunti a /boot/debian-installer/i386/pxelinux.cfg.serial-9600. Amb això s'aconsegueix una arrencada pre-configurada per tal que no faci servir teclat ni pantalla... Tot es fa per un port sèrie.

Connexió de la consola del trasto:

Connectar equip a un port sèrie amb un cable null-modem (Connexió 2-3 3-2 5-5).

Arrencar minicom o hyperterminal a 19200,n,8,1 (qualsevol programa que tingui emulació VT100 per port sèrie és vàlid).

En donar corrent a l'equip comença a fer una arrencada similar a la d'un equip de sobretaula, i arriba un moment en que es posa a esperar 5 segons, en aquest punt prémer CTRL+P.

Canviem velocitat a 9600 per tal d'evitar d'adaptar-nos a la configuració de l'instal·lador de Debian (si, també hauriem pogut modificar l'script d'instal·lació per que anés a 19200bps):

set conspeed=9600

Canviar la velocitat del programa de comunicacions a 9600,n,8,1

Prémer el botó de reset, i tal com abans fer CTRL+P.

Procedirem a arrencar l'equip des de la xarxa amb PXE:

boot f0

Instal·lació base de Debian:

Fer /expert26 + intro quan surti el prompt de boot de Debian (pot ser que quedi una mica corromput perquè el pxelinux que porta la distro no és 100% compatible amb l'emulació de la tarja de video del Soekris), però no passa res (volta algun pegat, però crec no val la pena, total, si tot va bé, només l'arrencarem una vegada).

Ha de sortir la pantalla de configuració (si surten gargots, assegureu-vos que el programa de comunicacions és en emulació VT100).

Seleccionarem language "English", després Other i després triem Spain i Local en_US. No instal·lem cap altre locale.

Anirem a la detecció de hardware de xarxa. Acceptarem el que ens digui i no demanarem de posar paràmetres en la càrrega de mòduls.

No habilitem la PCMCIA (no en té).

Configurarem la xarxa -> eth0 sense DHCP i la configurem amb els paràmetres necessaris per connectar a Internet (si es vol fer amb DHCP, OK, però en un moment o altre s'haurà de canviar la configuració a IP fixa), i ara no tampoc és un mal moment.

Entrem el nom de host i el domini.

Seleccionem ubicació de descàrrega ftp a ES i després ftp.rediris.es
Si cal proxy el posem, sinó, es deixa en blanc.

Seleccionem branca unstable (per tal de tenir el darrer kernel amb alguns patch útils aplicats a partir de la 2.6.12)... Això veurem que ens soluciona alguns problemes més endavant, però també ens en porta d'altres...

Posem a descarregar els components de l'instal·lador. Seleccionem autopartkit i baseconfig (els dos primers).

Fem la detecció de discs. Seleccionem tots els mòduls. I diem que no volem passar paràmetres als mòduls.

Particionament, seleccionem "Erase entire disk" i Desktop Machine.
Esborrar partició SWAP i home.
Canviar mida partició primària a 480MBytes (per una CF de 512MBytes).
Desar canvis i formatar la partició.
Continuar SENSE SWAP.
Timezone Madrid.
Clock a UTC.

Install the base system. Installing de base system.... PACIÈNCIA !!!!

Seleccionar el kernel 2.6 més nou al que dóni opció... total, després probablement l'haurem de canviar...

Posar el GRUB al MBR. No posar-hi password.

Finalitzar instal·lació. Press enter to continue... doncs això.... i a esperar que boti el GRUB (si, la presentació en pantalla va molt lenta perquè el GRUB no sap que estem sobre un TTY, ja que la BIOS del soekris redirecciona de forma "transparent" interceptant les rutines d'interrupció d'escriptura en pantalla... i per descomptat, la visualització sobre un CRT és molt més ràpida que a 9600...)

Primera arrencada del sistema operatiu:

Paciència, que tarda una mica a arrencar i no surt res per pantalla... (això fins que no canviem alguns paràmetres d'arrencada)

Apareix una pantalla de configuració (No cal prémer les tecles més d'una vegada perquè per molt que es faci, el trasto no correrà pas més... Eye-wink

Un cop surt el menú, executar debconf_seed. Tot seguit anar a definir usuaris. Dir que si a Shadow.

Entrem password de root dues vegades quan el demani.
Creem usuari Administrador amb login admin i el password que es vulgui.

Insisteixo, l'equip en alguns punts té una resposta LENTA... no cal posar-se nerviós (de moment).

Seleccionem la font de paquets per unstable i desactivem els non-free, activem el contrib. Triem ftp (o bé http) i després Spain. Tot seguit ftp.rediris.es.

Si cal, indiquem el proxy de sortida, i tot seguit, carrega la informació necessària del repositori seleccionat de Debian.

Tot seguit demana si es volen afegir més repositoris i diem que no.

No instal·lar cap paquet. Fer el postconfigure dels paràmetres d'idioma (no fa res en aquest cas)

En la configuració del correu, triarem no split configuration i local delivery only. I farem que el correu de root i postmaster vagin cap a admin deixant la resta de paràmetres per defecte.

És possible que al llarg de la instal·lació s'hagi anat queixant de que el timestamp està en el "future", és normal perquè l'RTC de la placa no té la data inicialitzada...

En finalitzar el procés (paciència altre cop), ja hauriem de tenir el login: del sistema.

I de moment ho deixo aquí.

Observacions:

No és normal fet tot això sobre una CF (ténen un número d'escriptures limitades i el procés d'instal·lació fa molts canvis a disc), però tenia ganes de veure com anava de ràpid...

El trasto escriu força sovint a /var, cosa que no ens interessa. Més endavant canviarem això i ho posarem a RAM i darem que la CF sigui read-only.

Una millor opció probablement seria fer que arrenqués tot d'un sistema d'arxius cramfs i treballés en RAM, però en aquest cas, com que tenim espai de sobra a la CF, és molt més simple preparar una imatge des de zero d'aquesta manera... i tot plegat no deixa de ser un experiment.

pfranquesa – ds, 12/11/2005 – 10:32