Gentoo Logo

Gentoo Linux: Guida ai metodi di installazione alternativi

Indice:

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 da un LiveCD non Gentoo

Introduction

Importante: Gli sviluppatori di Gentoo non possono dare supporto agli utenti se qualcosa va storto durante l'utilizzo di LiveCD non Gentoo, in quanto non è possibile correggere, dare indicazioni per la risoluzione di un guasto, o documentare ogni particolarità di ogni LiveCD esistente. Solamente i LiveCD di Gentoo sono ufficialmente supportati. Se si riscontrano problemi con supporti d'installazione alternativi, si prega di visitare i Forum di Gentoo per ricevere aiuto dalla comunità.

È possibile avviare il sistema con altri LiveCD rispetto a quelli forniti da Gentoo. Essi forniranno un ambiente funzionale da usare mentre si sta compilando ed installando Gentoo. Le istruzioni fornite qui dovrebbero in linea di principio funzionare con praticamente qualunque altro LiveCD.

Ci sono veramente troppi LiveCD disponibili da elencare, tuttavia si consiglia di provare Knoppix, che fornisce un ambiente grafico completo, con applicazioni per l'ufficio, browser web, e giochi per tenere occupato l'utente. Knoppix è disponibile solamente per utenti x86, pertanto in base alle proprie esigenze potrebbe essere necessario individuare un LiveCD differente.

Avvertenza: Tenere bene a mente che i dati salvati nella directory home del proprio LiveCD 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.

Istruzioni per l'installazione

Avviare il sistema dal proprio LiveCD. Aprire un terminale e digitare su -, così da poter cambiare la propria password. Questo permette di impostare la password di root per il CD. Si può ora configurare sshd per un login remoto, se si ha bisogno di installare Gentoo da una postazione remota. Successivamente bisogna creare il punto di montaggio /mnt/gentoo.

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

Quando si è pronti per scompattare l'archivio dello stage, come descritto nella parte 5, bisognerà eseguire un comando tar diverso per assicurarsi che gli appropriati ID dei gruppi vengano applicati sullo stage decompresso:

Codice 3.3: Decomprimere l'archivio dello stage

# tar --numeric-owner -xvjpf stage3-*.tar.bz2

Una volta pronti per eseguire il chroot dentro al proprio stage decompresso, come descritto nella parte 6, sarà necessario usare una sequenza di comandi di chroot differente. Ciò assicurera la corretta impostazione delle proprie variabili d'ambiente.

Codice 3.4: Effettuare il chroot all'interno del nuovo ambiente

(Alcuni LiveCD usano delle strane configurazioni dell'ambiente, da cui
l'utilizzo dell'opzione -i per riportarlo ad uno stato ragionevole.)
# chroot /mnt/gentoo /bin/env -i TERM=$TERM /bin/bash
# env-update
# source /etc/profile
# export PS1="(chroot) $PS1"

Infine, bisogna sapere che alcune delle FEATURES di Portage (soprattutto userpriv e usersandbox) non funzioneranno nel proprio LiveCD. Se si riscontrano degli errori, è raccomandabile disabilitare alcune o tutte le FEATURES opzionali.

4.  Installazione diskless usando il PXE boot

Requisiti

PXE (Preboot eXecution Environment) è un metodo per effettuare il boot di un computer attraverso un'interfaccia di rete compatibile (anche il BIOS deve esserlo). Nel caso in cui il sistema non supporti il boot PXE da intefaccia di rete o da BIOS è anche possibile effettuare il boot da dispositivi a blocchi (quali CD e supporti USB). In questi casi un ambiente di boot minimale simula una scheda di rete che supporta PXE (vedere anche Etherboot/gPXE).

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.

Per dhcpd, basta eseguire emerge dhcp (o qualsiasi altro server DHCP di propria scelta). Assicurarsi che sia selezionata l'interfaccia corretta in /etc/conf.d/dhcpd, e configurarlo per le proprie esigenze di base. Dopodichè, aggiungere le righe seguenti 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.

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 /usr/share/doc/openrc-*/net.example.bz2 per maggiori informazioni.

Codice 4.3: /etc/conf.d/net

(Sostituire eth0 con l'interfaccia corretta)
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

# Per l'opzione nfsroot, l'indirizzo IP è quello del server e la
directory è quella dove sono memorizzati i file del proprio client diskless (sul
server).

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 sdaX è 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/sdaX /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
(Nel kernel, *non* come modulo!)

- 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

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/sdb2 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/sdb2            4.0G 1.9G  2.4G  82% /
none                 38M    0    38M   0% /dev/shm

Notare che la partizione montata come / si chiama /dev/sdb2 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/sda3, bisogna lavorare sull'unità /dev/sda

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/sdb: 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!



Stampa

Aggiornato il 1 luglio 2012

La versione originale di questo documento non è più mantenuta

Oggetto: Questa guida vuole essere una raccolta dei metodi alternativi di installazione, per chi necessita di procedimenti di installazione particolari, per esempio quando non è disponibile un lettore cdrom o quando il sistema non può effettuare il bootstrap di un cd.

Gerald Normandin Jr.
Contributi

Travis Tilley
Contributi

Oleg Raisky
Contributi

Alex Garbutt
Contributi

Alexandre Georges
Contributi

Magnus Backanda
Contributi

Faust A. Tanasescu
Contributi

Daniel Ahlberg
Contributi

Sven Vermeulen
Redazione

Ken Nowack
Revisione

Tiemo Kieft
Redazione

Benny Chuang
Redazione

Jonathan Smith
Redazione

Joshua Saddler
Redazione

Giorgio Vielmini
Traduzione

Davide Cendron
Traduzione

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.