Guida all`installazione di Gentoo su macchine HPPA

Contenuti:

1.Hardware supportato

Note sullo stato del port 

Alla stesura del presente documento, i kernel SMP e a 64-bit non sono stati testati a sufficienza. Test e commenti sono benvenuti!

L'hardware supportato dipende solo dal kernel. Potete trovare una lista delle piattaforme supportate al sito web ESIEE .

2.Il boot

Avvio con il LiveCD 

Se non conoscete lo SCSI ID del vostro CD-ROM, potrete ottenerlo con il comando search.

Esempio 2

> search

Searching for Devices with Bootable Media.
To terminate search, please press and hold the ESCAPE key.

Il vostro PA-RISC mostrerà ora tutte le modalità di boot. Questo è un esempio di output del comando search:

Esempio 3

Device Selection      Device Path             Device Type and Utilities
---------------------------------------------------------------------------

P0                    scsi.5.0                TOSHIBA CD-ROM XM-3301TA
                                                  IPL
P1                    scsi.2.0                COMPAQ ST32550N
                                                  IPL
P2                    lan.0010a7-06d1b6.3.6   server
                                                  IPL

>

Naturalmente questo esempio può variare a seconda della configurazione hardware.

Una volta conosciuto qual'è il dispositivo, avviatelo!

Esempio 4

> boot scsi.5.0 ipl

Trying scsi.5.0

Il suffisso ipl (Initial Program Loader) fa in modo che PALO (il PA-RISC boot LOader) esegua la modalità interattiva, permettendovi, ad esempio, di cambiare i parametri di boot.

Il boot usando lifimage (Boot di Rete) 

Per ora Lifimage non è ancora disponibile. Potrete usare la lifimage di Debian per creare una shell, ma non avrà l'utility bunzip2; ciò significa che dovrete decomprimere gli stage prima di usarli. Dovrete inoltre metterli su di un server FTP o HTTP in modo da poterli raggiungere con wget al momento dell'installazione.

Attenzione: La versione del kernel della lifimage dev'essere maggiore o uguale alla 2.4.20, altrimenti il vostro sistema non funzionerà del tutto.

Dopo il boot: Interazioni con PALO, il PA-RISC Linux Loader 

Una volta eseguito il boot, PALO partirà in modalità interattiva.

Esempio 5

Boot path initialized.
Attempting to load IPL.


Hard booted.
palo ipl 1.2 root@b180l.da-kot Tue Apr  8 12:43:07 CEST 2003

Boot image contains:
    0/vmlinux32 4028015 bytes @ 0x1520000
    0/ramdisk 834748 bytes @ 0xf800
Current command line:
0/vmlinux initrd=initrd.gz TERM=linux console=tty root=/dev/ram0 init=/linuxrc
  0: 0/vmlinux
  1: initrd=initrd.gz
  2: TERM=linux
  3: console=tty
  4: root=/dev/ram0
  5: init=/linuxrc

Edit which field?
(or 'b' to boot with this command line)? 0

Questi parametri sono adatti per la maggior parte dei casi.

Se desiderate altre caratteristiche dovrete aggiungere i parametri appropriati alla fine del comando. Per aggiungere un parametro, aggiungete uno spazio dopo l'ultimo carattere e digitate il parametro necessario. L'unico attualmente implementato è cdcache che comunica al LiveCD di caricarsi in RAM, dandovi la possibilità di smontare il CD.

Esempio 6

(or 'b' to boot with this command line)? 5
init=/linuxrc cdcache

Ora che avete aggiunto al kernel i parametri di boot, avviatelo!

Esempio 7

(or 'b' to boot with this command line)? b

3.Installare Gentoo

Diamo un rapido sguardo al processo d'installazione: Verranno create le partizioni ed i filesystem, per poi estrarre uno dei tarball degli stage 1, 2 o 3. Se userete il tarball degli stage 1 o 2, dovrete seguire i passi necessari per portare il sistema allo stage 3. Una volta portato il sistema allo stage 3, lo potrete configurare (modificando i file di configurazione, installando un boot loader, etc). Una volta riavviato avrete un sistema Gentoo Linux perfettamente funzionante! A seconda dello stage scelto, troverete in questa tabella un riassunto dei requisiti necessari all'installazione:

stage tarball requisiti per l'installazione
1 setup partizioni/filesystem, emerge sync, bootstrap, emerge system, emerge dei sorgenti Linux, configurazione finale
2 setup partizioni/filesystem, emerge sync, emerge system, emerge dei sorgenti Linux, configurazione finale
3 setup partizioni/filesystem, emerge sync (opzionale), configurazione finale

Il primo passo è quello di inserire i moduli necessari. Potrebbe non essere necessario, dal momento che la maggior parte dei driver hardware standard PA-RISC sono inseriti nel kernel. Per vedere una lista di tutti i moduli disponibili per le schede di rete, digitate ls /lib/modules/*/kernel/drivers/net/*. Per caricare un modulo specifico, digitate:

Esempio 8

# modprobe pcnet32 (carica il modulo pcnet32)

Se durante il processo di auto-riconoscimento delle periferiche PCI, il vostro hardware SCSI non è stato riconosciuto, avrete bisogno di caricare i moduli specifici dalla directory /lib/modules, usando ancora modprobe:

Esempio 9

# modprobe aic7xxx
# modprobe sr_mod
# modprobe sd_mod

Nell'esempio riportato viene caricato, o modprobed (termine inglese qui non tradotto ndt.), il driver SCSI aic7xxx e vengono caricati i moduli per il supporto CD-ROM SCSI (sr_mod) e per il disco SCSI (sd_mod).

Nota: hdparm è incluso nelle ISO Gentoo. Se qualche drive richiede una regolazione, sarebbe una buona idea farla adesso. Su hardware relativamente moderno hdparm -d 1 /dev/hdx dovrebbe essere sufficiente. Potete usare hdparm -v /dev/hdx per controllare la regolazione del vostro drive, e hdparm -t /dev/hdx per controllarne le performance.

Configurare l'installazione di rete 

Con Gentoo potete ottenere una rete funzionante ed usare le utility ssh, scp o wget prima ancora di installare il sistema.Anche se non è indispensabile farlo subito, dovreste ora proseguire con la configurazione di rete. Una volta installato, il Portage sarà in grado di utilizzare la rete, dall'interno di un ambiente chroot (richiesto per installare Gentoo Linux).

Configurazione manuale DHCP 

Con DHCP la configurazione di rete è semplice. Se il vostro ISP non usa DHCP, saltate alla sezione Configurazione Statica Manuale.

Esempio 10: Configurazione di rete con DHCP

# dhcpcd eth0

Nota: Alcuni ISP richiedono che forniate un hostname. Per farlo, aggiungete un flag -h myhostname alla stringa di comando sopra.

Se ricevete avvertimenti tipo dhcpConfig warning, non prendete paura: gli errori sono per lo più superficiali; passate allora al paragrafo "test di rete".

Configurazione Statica Manuale 

E' necessario configurare la rete quel tanto che vi permette di caricare i sorgenti per il sistema e di configurare l'interfaccia localhost. Digitate i seguenti comandi, sostituendo $IFACE con la vostra interfaccia di rete (di solito eth0), $IPNUM con il vostro indirizzo IP, $BCAST con il vostro indirizzo di broadcast, e $NMASK con la vostra maschera di rete. Per quanto riguarda il comando route, sostituite $GTWAY con il vostro indirizzo di gateway.

Esempio 11

# /sbin/ifconfig $IFACE $IPNUM broadcast $BCAST netmask $NMASK
# /sbin/route add -net default gw $GTWAY netmask 0.0.0.0 metric 1

Ora, bisogna creare il file /etc/resolv.conf perchè funzioni la risoluzione dei nomi (in modo da trovare i siti Web/FTP per nome anzichè per indirizzo IP).

Nota: In questa fase il solo editor installato è nano, un editor semplice e leggero. Usate nano con l'opzione -w per disabilitare il line-wrapping automatico.

Ecco di seguito un file di esempio per creare il vostro /etc/resolv.conf :

Esempio 12: esempio di file /etc/resolv.conf

domain mydomain.com
nameserver 10.0.0.1
nameserver 10.0.0.2

Sostituite 10.0.0.1 e 10.0.0.2 rispettivamente con gli indirizzi IP del server DNS primario e secondario.

Configurazione del Proxy 

Se avete un proxy, prima di proseguire è necessario configurarlo. Dovrete esportare alcune variabili per configurare il proxy di conseguenza.

Esempio 13

# export http_proxy="machine.company.com:1234" 
# export ftp_proxy="$http_proxy" 
# export RSYNC_PROXY="$http_proxy" 

Testare la rete 

Adesso che la vostra rete è stata configurata, il comando /sbin/ifconfig -a dovrebbe far vedere (speriamo!) che la scheda di rete funziona (cerca nell'output UP e RUNNING).

Esempio 14: /sbin/ifconfig for a working network card

eth0      Link encap:Ethernet  HWaddr 00:50:BA:8F:61:7A
          inet addr:192.168.0.2  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::50:ba8f:617a/10 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1498792 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1284980 errors:0 dropped:0 overruns:0 carrier:0
          collisions:1984 txqueuelen:100
          RX bytes:485691215 (463.1 Mb)  TX bytes:123951388 (118.2 Mb)
          Interrupt:11

La Rete è pronta! 

A questo punto la Rete è stata configurata e dovrebbe funzionare. Dovreste essere in grado di usare i comandi ssh, scp and wget per connettervi ad altre macchine della vostra LAN o della rete Internet.

4.Configurare le partizioni e installare il sistema

Il partizionamento 

Digitate fdisk per creare le partizioni desiderate.

Esempio 15

# fdisk /dev/sdX
// sostituite sdX con il disco sul quale volete creare una partizione.
(p.e. sda, hda, ...)

Attenzione: PALO ha bisogno di una partizione apposita per poter funzionare. Dovete creare una partizione di almeno 16 MB all'inizio del disco. Questa partizione dev'essere di tipo f0 (Linux/PA-RISC boot)

Importante: Se il disco è più grande di 2 GB, dovrete creare una partizione di boot nei primi 2 GB. PALO non è in grado di trovare il kernel dopo il limite dei 2 GB.

Dopo aver creato le partizioni ed i filesystem, sarete pronti ad iniziare la parte più divertente! Nell'esempio seguente la partizione di root è /dev/sda3, quella di swap /dev/sda4 per un'installazione con il tarball stage 1 (ottenuto da uno dei mirror Gentoo).

Esempio 16

# swapon /dev/sda4
# mount -n /dev/sda3 /mnt/gentoo

Nota: Dopo aver montato la partizione di root in /mnt/gentoo, vanno montate tutte le altre partizioni (p.e. /boot, /usr, /var).

Esempio 17

# cd /mnt/gentoo
# wget http://www.ibiblio.org/pub/Linux/distributions/gentoo/experimental/hppa/stages/stage1-hppa1.1-1.4_someversion.tar.bz2
# tar xpjvf stage1-hppa1.1-1.4_someversion.tar.bz2
# cp /etc/resolv.conf etc/resolv.conf
# mount -o bind /proc proc
# chroot . // Ora siete nel nuovo sistema
# env-update // Aggiorna le variabili d'ambiente
// Potete ignorare senza timore gli avvertimenti di file mancanti
# source /etc/profile
# nano -w /etc/make.conf // Ottimizzazioni e mirror si regolano da qui
# emerge sync // Questo comando fa scaricare tutta l'alberatura del portage, che è di circa 10 MB

Se siete partiti dallo stage 1, iniziate il bootstrap.

Esempio 18

# cd /usr/portage
# ./scripts/bootstrap.sh

Questo vi porta allo stage 2, dove compilerete ed installerete i file del sistema base.

Esempio 19

# export CONFIG_PROTECT="-*"
# emerge system

Ora siete allo stage 3. Se iniziate adesso dallo stage 3, potreste dover aggiornare qualche pacchetto. Per aggiornarli digitate:

Esempio 20

# unset CONFIG_PROTECT
# emerge -uD world

Il sistema base è ora aggiornato.

5.Compilare il kernel

Ottenere i sorgenti del kernel per HP-PA 

In Gentoo Linux è disponibile un particolare kernel patchato per macchine HP-PA. Per installarlo basta dare emerge hppa-sources

Esempio 21

# emerge hppa-sources

Ora, potrete voler patchare il kernel per aggiungere supporti a flesystem SGI o XFS, oppure supporto ad Usagi IPv6, etc.

Nota: Nessuna di queste patch è stata al momento testata, quindi non possiamo assumerci la responsabilità a danni eventualmente causati.

Dopo aver scaricato e scompattato i sorgenti, dovrete configurare il kernel.

Configurare e compilare il kernel 

Viene ora descritta la procedura di configurazione e compilazione del kernel.

Esempio 22

# cd /usr/src/linux
# make menuconfig
# make vmlinux modules modules_install
# cp vmlinux System.map /boot

Attenzione: Per poter ottenere un kernel funzionante, dovrete scegliere le corrette opzioni per la vostra configurazione. Alcune dovranno essere abilitate staticamente (scegliendo l'opzione "yes" ndt.) e non compilate come moduli (opzione "m" ndt.) . Dovrete scegliere l'opzione "Code maturity level options --> Prompt for development and/or incomplete code/drivers" per poter scegliere le altre selezioni. Sotto la sezione "File systems" , assicuratevi di abilitare la voce Device File System (da notare che non è necessario abilitare la voce "/dev/pts file system support" ). Dovrete inoltre abilitare la voce Virtual Memory File system.

Importante: Se avete una tastiera o un mouse di tipo HIL, non dimenticate di compilare il supporto necessario. Per fare questo, dovrete abilitare la voce"Keyboard support", "Mouse support" e la voce "Event interface support" che troverete nella sezione "Input core support".

Importante: Nella sezione "HIL support", se non avete alcun mouse nella porta HIL, si raccomanda di abilitare solamente la voce "HIL Keyboard (basic) support".

Importante: E' assicurato il completo supporto alle opzioni "HP System Device Controller i8042 Support" e "HIL MLC Support", "HIL Keyboard (full) support" e "HIL Mouse & Pointer support". Ma in questo casoNON selezioniate la voce "HIL Keyboard (basic) support".

Installare PALO : il boot loader 

Il boot loader della piattaforma PA-RISC, si chiama PALO. Il relativo file di configurazione si trova in /etc/palo.conf. Ecco un esempio di configurazione :

Esempio 23

--commandline=2/vmlinux root=/dev/sdb2 HOME=/
--recoverykernel=/vmlinux.old
--init-partitioned=/dev/sdb

La prima stringa comunica a PALO la locazione del kernel ed i parametri di boot che dovrà usare. 2/vmlinux significa che il kernel nominato /vmlinux risiede nella seconda partizione.

Importante: Il path del kernel è relativo alla root della partizione, non a quella relativa al file.

La seconda stringa indica il nome del kernel di emergenza. Se questa è la vostra prima installazione e non avete un kernel di emergenza, commentate la stringa.

La terza stringa indica su quale disco risiederà PALO. Finita la configurazione, eseguite palo.

Esempio 24

# palo

6.Configurazioni finali

Fuso orario 

Nota: E' molto importante che completiate il passo seguente. Un settaggio scorretto del fuso orario porterà ad un progressivo ritardo dell'orologio di sistema.

A questo punto, dovrete avere un sistema allo stage 3 pronto per la configurazione finale. Inizierete questa fase con il settaggio del fuso orario. Settare il fuso orario prima della compilazione del kernel vi assicura che gli utenti abbiano un corretto uname -a.

Cercate il vostro fuso orario (o UTC se preferite usare l'Universal Time Constant) in /usr/share/zoneinfo. Quindi, create un link simbolico digitando:

Esempio 25

# ln -sf /usr/share/zoneinfo/path/to/timezonefile /etc/localtime

Potete controllare il file /etc/rc.conf per assicurarvi che il fuso orario sia impostato correttamente.

Logger di sistema e demone Cron 

Ora dovete scegliere un logger di sistema da installare. Gentoo Linux offre sysklogd, che è il tradizionale set di demoni per il logging di sistema. Sono inoltre disponibili: msyslog, syslog-ng, e metalog. Gli utenti più esigenti sembrano allontanarsi dalla scelta di sysklogd (dalle performance non molto buone), e scegliere nuove alternative. In paticolare, metalog sembra essere molto usato. Per fare il merge del logger che scegliete, digitate uno dei quattro gruppi di comandi elencati:

Esempio 26

# emerge app-admin/sysklogd
# rc-update add sysklogd default
oppure
# emerge app-admin/syslog-ng
# rc-update add syslog-ng default
oppure
# emerge app-admin/metalog
# rc-update add metalog default
oppure
# emerge app-admin/msyslog
# rc-update add msyslog default

Importante: Metalog trasferisce al disco l'output in blocchi, in modo che i messaggi non siano registrati immediatamente nei log di sistema. Nel caso stiate eseguendo il debug di un demone, questa miglior performance risulta però tutt'altro che utile. Quando Gentoo Linux è avviato, potete inviare a metalog un segnale USR1 per disabilitare temporaneamente il buffering (ciò significa ad esempio che il comando tail -f /var/log/everything/current non funzionerà in tempo reale come ci si aspetta), ed un segnale USR2 per riabilitarlo nuovamente.

A questo punto (la scelta è facoltativa) potete scegliere un pacchetto cron da installare. I pacchetti attualmente disponibili in Gentoo Linux sono: dcron, fcron, e vixie-cron. Se non sapete quale scegliere, potete prendere vixie-cron. Quindi, a seconda del cron scelto, eseguite uno dei seguenti set di comandi:

Esempio 27

# emerge sys-apps/dcron
# crontab /etc/crontab
oppure
# emerge sys-apps/fcron
# crontab /etc/crontab
oppure
# emerge sys-apps/vixie-cron
non dimenticate di aggiungere il vostro *cron al runlevel appropriato. 
# rc-update add *cron default 

Per maggiori informazioni su come funziona cron in Gentoo Linux, leggete la pagina .

Per ulteriori informazioni sul funzionamento dei programmi e dei demoni all'avvio, leggete la guida degli rc-script all'indirizzo .

Il file /etc/fstab 

Il sistema Gentoo Linux è ora quasi pronto! Rimangono ancora da configurare alcuni importanti file di sistema ed il boot loader PALO. Il primo file da configurare è /etc/fstab. Ricordate che se utilizzate un filesystem di tipo ReiserFS, dovrete utilizzare per la partizione di boot, l'opzione notail . Ricordate anche di specificare il filesystem appropriato tra ext2, ext3 o reiserfs.

Il vostro /etc/fstab dovrebbe in qualche modo assomigliare ad uno di quelli sotto riportati.Assicuratevi naturalmente di sostituire "BOOT", "ROOT" e "SWAP" con i vostri dispositivi a blocchi (p.e. hda1, etc.)

Esempio 28


# /etc/fstab: static file system information.
#
# noatime turns off atimes for increased performance (atimes normally aren't
# needed; notail increases performance of ReiserFS (at the expense of storage
# efficiency).  it is safe to drop the noatime options if you want and to
# switch between notail and tail freely.

# <fs>           <mountpoint>   <type>   <opts>          <dump/pass>

# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.

/dev/BOOT           /boot       ext2	 noauto,noatime	 1 2
/dev/ROOT           /           ext3	 noatime         0 1
/dev/SWAP           none        swap	 sw              0 0
/dev/cdroms/cdrom0  /mnt/cdrom  iso9660	 noauto,ro       0 0
proc                /proc       proc	 defaults        0 0

Attenzione: Da notare che la directory /boot NON è montata all'avvio. Questo per proteggere i dati contenuti in /boot da possibili corruzioni. Se dovete accedere alla directory /boot, è buona pratica montarla!

Scegliere la password di root 

Prima di dimenticarvene, scegliete la password di root digitando:

Esempio 29

# passwd

Il file /etc/hostname 

Modificate questo file in modo che contenga il nome completo della vostra macchina su di una singola stringa, p.e. mymachine.mydomain.com.

Esempio 30

# echo mymachine.mydomain.com > /etc/hostname

Il file /etc/hosts 

Questo file contiene una lista di indirizzi IP e di relativi hostname. E' usato dal sistema per la risoluzione degli indirizzi IP degli hostname nel caso non siano presenti nei nameserver. Un esempio di questo file è il seguente:

Esempio 31

127.0.0.1      localhost
# la stringa successiva contiene l'indirizzo IP della vostra rete LAN ed il nome associato alla vostra macchina
192.168.1.1    mymachine.mydomain.com	mymachine

Nota: Se appartenete ad una rete DHCP, potrebbe essere utile mettere localhost come hostname della vostra macchina. Questo aiuterà GNOME e molti altri programmi nella risoluzione dei nomi.

Configurazione finale della rete 

Aggiungete i nomi dei moduli necessari al corretto funzionamento del sistema al file /etc/modules.autoload (potete anche aggiungere nella stessa stringa tutte le opzioni necessarie). Quando Gentoo Linux esegue il boot, questi moduli verranno caricati automaticamente. Di particolare importanza è il modulo della scheda di rete; se lo avete compilato come modulo:

Esempio 32: un esempio del file /etc/modules.autoload

3c59x

Modificate lo script /etc/conf.d/net affinchè carichi il modulo della scheda di rete già dall'avvio successivo:

Esempio 33: Aggiungere eth0 all'avvio

# nano -w /etc/conf.d/net
# rc-update add net.eth0 default

Se avete più schede di rete dovrete aggiungere nuovi script net.ethx per ogni (x = 1, 2, ...):

Esempio 34: Schede di rete multiple

# cd /etc/init.d
# cp net.eth0 net.ethx
# rc-update add net.ethx default

Configurare i parametri di base (inclusa la mappatura internazionale dei tasti) 

Esempio 35: configurazione di base

# nano -w /etc/rc.conf

Seguite le direttive del file per configurare i parametri di base. Assicuratevi che l'orologio (CLOCK) sia settato secondo le vostre preferenze. Gli utenti che usano la tastiera internazionale vorranno settare la variabile KEYMAP (scorrete il file /usr/share/keymaps per vedere i tipi di mappature disponibili).

7.Gran Finale!

Congratulazioni! Avete appena completato l'installazione di Gentoo Linux sul vostro HPPA. Diamo il benvenuto ad ogni commento o suggerimento che ci possa aiutare nel port di questa piattaforma. Vi ringraziamo per il tempo dedicato ad installare Gentoo Linux.

A questo punto potete scegliere cosa fare. Potete installare subito gli ebuild o procedere con l'unmount e riavviare il sistema per installarli successivamente.

Nota: Gran parte di questo manuale di installazione è tratto dalla Guida Gentoo all'Installazione su piattaforma SPARC e dall'HOWTO PA-RISC-Linux-Boot.



Ultimo aggiorn.:
3 Febbraio 2004
Guy Martin
Gentoo HPPA developer

Bernardo Damele
Traduttore

Sommario: Gentoo Linux è installabile su macchine HP PA-RISC. Il port è di recente sviluppo. Le correzioni al presente documento o all'installazione in generale, dovranno essere indirizzate a Gentoo Bugzilla.
- 2002 Gentoo.it - Domande, commenti e/o correzioni? Email gentoo-dev@gentoo.it.