Gentoo Linux: Guida ai metodi di installazione alternativi
1.
Introduzione
Se la procedura standard di installazione non è adatta alle proprie necessità (o
semplicemente non piace), qui si troverà un aiuto. Questo documento è una
raccolta di tecniche alternative per l'installazione di Gentoo Linux per chi ne
dovesse avere bisogno. O se si preferisce, mette a disposizione un luogo dove
raccogliere i propri metodi di installazione personalizzati . Se si ha ideato
una metodologia di installazione rivelatasi successivamente utile, o se si hai
scoperto una strategia di installazione divertente, non esitare a scriverne una
descrizione e a spedirla su Bugzilla.
2.
Boot del CD di installazione con Smart BootManager
Effettuare il download di Smart BootManager
http://btmgr.sourceforge.net/download.html. Sono disponibili i
sorgenti e i binari per Linux, le versioni .exe di windows e molti pacchetti di
localizzazione. Al momento, il metodo preferito prevede l'impiego dei binari
poichè i sorgenti non vengono compilati dalle ultime versioni di NASM.
Scaricare e compilare i sorgenti oppure limitarsi al download dei binari.
Esistono molte opzioni che possono essere scelte nel momento in cui si crea il
floppy di boot.
Codice 2.1: Opzioni di Smart BootManager |
sbminst [-t theme] [-d drv] [-b backup_file] [-u backup_file]
-t theme select the theme to be used, in which the theme could be:
us = English theme de = German theme
hu = Hungarian theme zh = Chinese theme
ru = Russian theme cz = Czech theme
es = Spanish theme fr = French theme
pt = Portuguese theme
-d drv set the drive that you want to install Smart BootManager on;
for Linux:
/dev/fd0 is the first floppy driver,
/dev/hda is the first IDE harddisk driver.
/dev/sda is the first SCSI harddisk driver.
for DOS:
0 is the first floppy drive
128 is the first hard drive;
-c disable CD-ROM booting feature;
-b backup_file backup the data that will be overwritten for
future uninstallation;
-u backup_file uninstall Smart BootManager, should be used alone;
-y do not ask any question or warning.
|
Codice 2.2: Utilizzo di sbminst per la creazione del floppy di boot |
# sbminst -t us -d /dev/fd0
|
Nota:
Sostituire fd0 con il nome del proprio dispositivo floppy, se
differente.
|
A questo punto è sufficiente inserire il dischetto nel lettore del computer
per cui si vuole effettuare un boot con il CD di installazione, inserire il
CD di installazione nel lettore CD-ROM ed effettuare il boot.
Si verrà accolti da una finestra di Smart BootManager. Selezionare il proprio
CD-ROM e premere ENTER per effettuare il boot del CD di installazione. Da
questo punto in poi si può seguire la guida di installazione standard.
Ulteriori informazioni relative a Smart BootManager si trovano all'indirizzo:
http://btmgr.sourceforge.net/
3.
Installazione con Knoppix
Nota:
Knoppix è disponibile solamente per utenti x86.
|
Eseguendo il boot con un LiveCD di Knoppix si avrà a disposizione un sistema
completo durante la fase di compilazione di Gentoo. Tux Racer aiuterà a far
passare il tempo durante l'attesa e per lavorare si potrà utilizzare OpenOffice.
Avvertenza:
I dati salvati nella directory home di Knoppix durante l'installazione di
Gentoo non saranno disponibili a seguito del riavvio in Gentoo. Assicurarsi
di salvare file importanti sull'hard disk o su qualche altro computer.
|
Eseguire il boot dal CD di Knoppix. Se si ha Knoppix 3.6-3.8.2, si deve
specificare knoppix26 come opzione boot per caricare un kernel 2.6.
Altrimenti quando si effettua il chroot si riceverà un errore di avviso
che il kernel è troppo vecchio. Se si ha Knoppix 3.9 o superiori, questo passo
non è necessario, in quanto il kernel 2.6 è quello predefinito.
Knoppix avvia in modo predefinito un desktop KDE. Aprire una konsole e
digitare su -, così da poter cambiare la propria password. Questo
permette di impostare la password di root per Knoppix. Si può ora configurare
sshd per un login remoto, in base alle proprie preferenze.
Codice 3.1: Creare il mountpoint /mnt/gentoo |
# mkdir /mnt/gentoo
|
Da questo momento in poi si può continuare la fase di installazione con la
parte 4,
ad esclusione della fase di mount del filesystem proc, che deve essere
eseguita in questo modo:
Codice 3.2: Bind mount del filesystem proc |
# mount -o bind /proc /mnt/gentoo/proc
|
Bisogna sapere che alcune delle caratteristiche di Portage (Soprattutto
userpriv e usersandbox) non funzioneranno in Knoppix. Se si
riscontrano degli errori, è raccomandabile disabilitare alcune o tutte le
caratteristiche opzionali.
4.
Installazione diskless usando il PXE boot
Requisiti
Sul client senza disco deve esserci una scheda di rete che usa il protocollo
PXE al boot, come molte schede 3Com; inoltre deve esserci un BIOS che supporta
il boot da PXE.
Setup del server base
Creare le directory: La prima cosa da fare è creare le directory in cui il
proprio sistema diskless sarà memorizzato. Creare una directory chiamata
/diskless che ospiterà una directory per ogni client diskless.
Nella proseguimento di questa guida si lavorerà sul client 'eta'.
Codice 4.1: Setup della directory |
# mkdir /diskless
# mkdir /diskless/eta
# mkdir /diskless/eta/boot
|
Setup di DHCP e di TFTP: Il client otterrà informazioni di boot usando DHCP e
scaricherà tutti i file richiesti usando TFTP. Emergere DHCP e configurarlo
per le proprie necessità di base. Poi, aggiungere le seguenti righe in
/etc/dhcp/dhcpd.conf.
Nota:
Ciò fornisce un indirizzo IP statico per il client e il percorso dell'immagine
di PXE boot, qui pxegrub. Bisogna sostituire l'indirizzo MAC della
scheda Ethernet del client e la directory dove verranno messi i file del client
con quella che che verrà usata.
|
Per DHCPd, eseguire emerge dhcp (o qualsiasi altro server DHCP che si è
scelto). Assicurarsi che l'interfaccia selezionata in
/etc/conf.d/dhcpd sia corretta.
Codice 4.2: dhcpd.conf |
option option-150 code 150 = text ;
ddns-update-style none ;
host eta {
hardware ethernet 00:00:00:00:00:00;
fixed-address ip.add.re.ss;
option option-150 "/eta/boot/grub.lst";
filename "/eta/boot/pxegrub";
}
|
Successivamente bisognerà configurare la propria interfaccia in
/etc/conf.d/net per far sì che non venga cancellata durante
l'avvio. Si veda /etc/conf.d/net.example per maggiori informazioni.
Codice 4.3: /etc/conf.d/net |
config_eth0=( "noop" )
|
Per TFTP, emergere app-admin/tftp-hpa. In
/etc/conf.d/in.tftpd, mettere le seguenti righe :
Codice 4.4: in.tftpd |
INTFTPD_PATH="/diskless"
INTFTPD_USER="nobody"
INTFTPD_OPTS="-u ${INTFTPD_USER} -l -vvvvvv -p -c -s ${INTFTPD_PATH}"
|
Setup di GRUB: Per fornire il PXE boot usare GRUB con la flag USE netboot
abilitata. Al termine della compilazione di GRUB, copiare l'immagine PXE nella
directory di boot dei client diskless. Poi modificare il suo file
di configurazione grub.lst.
Codice 4.5: setup di grub |
# echo "sys-boot/grub netboot" >> /etc/portage/package.use
# emerge -av grub
# cp /usr/lib/grub/pxegrub /diskless/eta/boot/pxegrub
# nano -w /diskless/eta/boot/grub.lst
|
Codice 4.6: grub.lst |
default 0
timeout 30
title=Diskless Gentoo
root (nd)
kernel /eta/bzImage ip=dhcp root=/dev/nfs nfsroot=ip.add.re.ss:/diskless/eta
|
Setup di NFS: NFS è abbastanza facile da configurare. La sola cosa da fare è
aggiungere una riga nel file di configurazione /etc/exports:
Codice 4.7: /etc/exports |
# nano -w /etc/exports
# /etc/exports: NFS file systems being exported. See exports(5).
/diskless/eta eta(rw,sync,no_root_squash)
|
Aggiornare i propri host: Un'importante cosa da fare adesso è modificare il
proprio file /etc/hosts a seconda delle necessità.
Codice 4.8: /etc/hosts |
127.0.0.1 localhost
192.168.1.10 eta.example.com eta
192.168.1.20 sigma.example.com sigma
|
Creare il sistema sul server
Riavviare il server con un CD di installazione di Gentoo, oppure proseguire, se
si si conoscono le successive istruzioni di installazione di Gentoo da una
installazione già esistente. Seguire la procedura standard di installazione come
spiegato nel Manuale Gentoo MA con le seguenti
differenze: quando si monta il filesystem, farlo nel seguente modo (dove
hdaX è la partizione in cui si ha creato la directory
/diskless). Non ci sarà bisogno di montare altre partizioni poichè
tutti i file risiederanno nella directory /diskless/eta.
Codice 4.9: Montare il filesystem |
# mount /dev/hdaX /mnt/gentoo
|
I tarball dello stage e chroot: In questo esempio viene usato un tarball dello
stage3. Montare /proc nella propria directory diskless e effettuare
chroot per continuare l'installazione. Seguire il manuale di installazione fino
alla configurazione del kernel.
Avvertenza:
Prestare attenzione al percorso di estrazione del tarball dello stage, per non
correre il rischio di sovrascrivere la propria installazione già esistente.
|
Codice 4.10: Estrarre il tarball dello stage |
# cd /mnt/gentoo/diskless/eta/
# tar -xvjpf /mnt/cdrom/gentoo/stage3-*.tar.bz2
# mount -t proc /proc /mnt/gentoo/diskless/eta/proc
# cp /etc/resolv.conf /mnt/gentoo/diskless/eta/etc/resolv.conf
# chroot /mnt/gentoo/diskless/eta/ /bin/bash
# env-update
# source /etc/profile
|
Configurazione del kernel: Quando si esegue make menuconfig per la
configurazione del kernel, ricordarsi di abilitare le seguenti opzioni insieme
alle altre presenti nella guida all'installazione.
Codice 4.11: opzioni del menuconfig |
- Supporto alla propria scheda di rete
- In "Networking options" :
[*] TCP/IP networking
[*] IP: kernel level autoconfiguration
[*] IP: DHCP support
[*] IP: BOOTP support
- In "File systems --> Network File Systems" :
<*> NFS file system support
[*] Provide NFSv3 client support
[*] Root file system on NFS
|
Salvare il kernel nella propria / in cui si è fatto il chroot (non
in /boot) secondo le impostazioni di pxegrub definite
precedentemente. Poi configurare /etc/fstab del proprio client
diskless.
Codice 4.12: /etc/fstab |
# nano -w /etc/fstab
/dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0
proc /proc proc defaults 0 0
tmpfs /dev/shm tmpfs nodev,nosuid,noexec 0 0
|
Evitare che il client esegua un controllo del filesystem:
Codice 4.13: Evitare che il client esegua un controllo del filesystem |
# touch /fastboot
# echo "touch /fastboot" >> /etc/conf.d/local.start
|
Installare nfs-utils poichè il client dipenderà da esso:
Codice 4.14: Installare nfs-utils |
# emerge nfs-utils
|
Bootloader. Non installare un altro bootloader poichè c'è già - pxegrub.
Basta terminare l'installazione e riavviare il server. Avviare i servizi
necessari al boot del nuovo client: DHCP, TFTPD, e NFS.
Codice 4.15: Far partire i servizi |
# /etc/init.d/dhcp start
# /etc/init.d/in.tftpd start
# /etc/init.d/nfs start
|
Boot del nuovo client
Per fare in modo che il nuovo client si avvii correttamente, sarà necessario
configurare il bios e la scheda di rete per usare PXE al primo boot - prima del
CD-ROM o del floppy. Per avere un'aiuto consultare i manuali o i siti dei
fornitori del proprio hardware. La scheda di rete dovrebbe ottenere un indirizzo
IP usando DHCP e scaricare l'immagine PXE per GRUB usando TFTP. Quando apparirà
il simpatico menù di boot bianco e nero di GRUB selezionare il kernel da avviare
e premere Invio. Se tutto è ok il kernel si dovrebbe avviare, montare il
filesystem di root usando NFS ed offrire un prompt di login. Buon divertimento.
5.
Installazione di Gentoo a partire da una distribuzione Linux esistente
Requisiti
Per poter installare Gentoo a partire da una distribuzione Linux esistente è
necessario avere installato chroot e disporre di una copia dei tarball di
installazione o le ISO che si desidera installare. E' consigliabile un
collegamento di rete se si vuole aggiungere funzionalità non incluse nei tarball
di installazione. (Per inciso, un tarball è un file con estensione .tbz o
.tar.gz). L'autore ha utilizzato RedHat Linux 7.3 come sistema operativo
"host", ma non è importante. Si parte!
Panoramica
Per prima cosa verrà creata una partizione dedicata a Gentoo modificando la
dimensione della partizione Linux esistente, verrà montata tale partizione,
in cui verrà decompresso il tarball, si effettuerà un chroot all'interno
del nuovo sistema e si partirà con la costruzione. Una volta terminato il
processo di bootstrap, effettuare le ultime fasi di configurazione del sistema
per accertarsi che sia in grado di effettuare il boot, si sarà quindi pronti per
un riavvio ed il successivo utilizzo di Gentoo.
Come ottenere spazio per Gentoo?
La partizione root è la porzione di filesystem montata come /.
Un'esecuzione del comando mount sulla macchina chiarirà di cosa si sta
parlando. È possibile usare il comando df (disk free) per controllare
quanto spazio c'è a disposizione e, di conseguenza, decidere di quanto debbano
essere ridimensionate le partizioni esistenti. Non è indispensabile
ridimensionare la partizione di root! Si può ridimensionare qualunque altra
partizione supportata dal programma che verrà utlizzato per tale scopo.
Codice 5.1: Informazioni sul filesystem |
# mount
/dev/hdb2 on / type ext3 (rw)
none on /proc type proc (rw)
none on /dev/pts type devpts (rw,gid=5,mode=620)
none on /dev/shm type tmpfs (rw,nodev,nosuid,noexec)
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hdb2 4.0G 1.9G 2.4G 82% /
none 38M 0 38M 0% /dev/shm
|
Notare che la partizione montata come / si
chiama /dev/hdb2 e ha 2.4 gigabyte di spazio libero. In questo
caso si potrebbe ridimensionare questa partizione lasciando 400Mb di spazio
libero e creando una partizione per Gentoo di 2 gigabyte. Non c'è male, in
questo modo è disponibile una buona quantità di spazio per le proprie
applicazioni. In ogni modo, un gigabyte è più che sufficiente per la maggior
parte degli utenti.
Preparazione di parted per il ridimensionamento delle partizioni
Parted è un'utility fornita dalla fondazione GNU, un vecchio e grande
progetto che ha creato il software che sicuramente si sta utilizzando in questo
momento. Esiste uno strumento estremamente utile per questa situazione. Si
chiama parted (partition editor, editor delle partizioni) e lo si può ottenere
da http://www.gnu.org/software/parted/
Nota:
Esistono altri strumenti che permettono di ridimensionare le partizioni, ma
l'autore non è certo e non ha interesse ad accertarsi che PartitionMagic(tm) o
altri software di questo tipo ne siano in grado. E' un compito del lettore
verificarlo.
|
Ricontrollare su questa pagina che il tipo di filesystem che si vuole
ridimensionare sia supportato. Se sfortunatamente non lo è, bisognerà
distruggere alcune partizioni per far spazio a Gentoo. Scaricare il software e
effettuarne l'installazione. A questo punto, però, sorge un problema. Volendo
ridimensionare la partizione di root di Linux, bisogna fare il boot con un disco
floppy che contiene un sistema linux minimo e utilizzare una copia precompilata
di parted precedentemente copiata sul dischetto, per poter ridimensionare
/. Comunque, se si riesce a smontare la partizione mentre si è
ancora all'interno di Linux si è fortunati, e si può evitare la fase successiva.
E' sufficiente compilare parted ed eseguirlo sulla partizione (non montata) che
si vuole ridimensionare.
Importante:
Accertarsi che le operazioni che si vogliono eseguire sulla propria partizione
siano supportate da parted!
|
Scaricare mininux, un disco di boot/root (una mini distribuzione Linux 2.4 su
un floppy - gratuito) da http://mininux.free.fr/uk/, creare un
floppy come indicato nella Documentazione che accompagna il pacchetto e
preparare un nuovo dischetto per la prossima fase dell'installazione.
Nota:
Notare come ancora una volta Linux sia sinonimo di "C'è più di un modo per
farlo". Lo scopo era di eseguire parted su una partizione non montata. È
possibile usare altri dischetti di boot/root oltre a mininux. Potrebbe anche non
essere necessario il dover effettuare questa parte dell'installazione,
per esempio smontando il filesystem che si vuole ridimensionare e utilizzando
parted per i propri scopi.
|
Codice 5.2: Creazione del dischetto di utilità |
# mkfs.minix /dev/fd0
480 inodes
1440 blocks
Firstdatazone=19 (19)
Zonesize=1024
Maxsize=268966912
|
La fase successiva consiste nella compilazione di parted. Se non è stato ancora
scaricato e decompresso, farlo ora spostandosi nella directory corrispondente.
A questo punto eseguire la seguente serie di comandi per compilare il pacchetto
e copiarlo nel floppy.
Codice 5.3: Fase di build del dischetto di utility |
# mkdir /floppy; mount -t minix /dev/fd0 /floppy &&
export CFLAGS="-O3 -pipe -fomit-frame-pointer -static" && ./configure
&& make && cp parted/parted /floppy && umount /floppy
|
Congratulazioni, ora si è pronti per il riavvio e il ridimensionamento della
propria partizione. Farlo solo dopo aver letto velocemente la documentazione sul
sito GNU. Il ridimensionamento può richiedere fino a 30 minuti per i dischi
rigidi più grandi. Riavviare il sistema con il disco di boot mininux (basta
inserirlo nel lettore), e una volta effettuato il login, sostituire il disco
nel lettore con il disco di utilità avete appena creato montandolo con il
comando mount /dev/fd0 /floppy per avere parted all'interno di
/floppy. Spostarsi in quest'ultima directory e lanciare parted
per ridimensionare le partizioni. Una volta terminato questo lento processo,
tutto sarà pronto per l'installazione di Gentoo. Riavviare e utilizzare la
precedente installazione di Linux. Bisogna operare sul disco che contiene la
partizione da ridimensionare. Per esempio, se si vuole ridimensionare /dev/hda3,
bisogna lavorare sull'unità /dev/hda
Codice 5.4: Comandi da eseguire una volta effettuato il login all'interno del sistema mininux |
# mount /dev/fd0 /floppy
# cd /floppy; ./parted [drive su cui volete operare]
(parted) print
Disk geometry for /dev/hdb: 0.000-9787.148 megabytes
Disk label type: msdos
Minor Start End Type Filesystem Flags
1 0.031 2953.125 primary ntfs
3 2953.125 3133.265 primary linux-swap
2 3133.266 5633.085 primary ext3
4 5633.086 9787.148 extended
5 5633.117 6633.210 logical
6 6633.242 9787.148 logical ext3
(parted) help resize
resize MINOR START END resize filesystem on partition MINOR
MINOR is the partition number used by Linux. On msdos disk labels, the
primary partitions number from 1-4, and logical partitions are 5
onwards.
START and END are in megabytes
(parted) resize 2 3133.266 4000.000
|
Importante:
Si dovrà essere molto pazienti, in quanto il computer lavorerà per un lungo
periodo di tempo. Controllare i LED del proprio case per accertarsi che il
computer stia realmente lavorando. Questa fase può richiedere da 2 a 30 minuti.
|
Una volta terminato il procedimento ritornare alla precedente installazione di
linux come descritto. Dopodichè consultare Manuale Gentoo:
Preparazione dei dischi e seguire le istruzioni. Dopo aver effettuato il
chroot, usare il seguente comando per svuotare il proprio ambiente:
Codice 5.5: Svuotare l'ambiente durante il chroot |
# env -i HOME=$HOME TERM=$TERM chroot /mnt/gentoo /bin/bash
# /usr/sbin/env-update
# source /etc/profile
|
Buon divertimento!
I contenuti di questo documento sono rilasciati sotto la licenza Creative
Commons - Attribution / Share Alike.
|