Avanti Indietro Indice

6. Kernel

6.1 Installare il sorgente del kernel

Il kernel fornito con la YellowDog 1.2 è la versione 2.2.15pre7 con supporto USB, se non avete installato il sorgente del kernel in fase di installazione, potete farlo ora usando il classico tool rpm. Potete naturalmente anche procurarvi l'ultima versione stabile per ppc e applicarvi le patch.

6.2 Le patch

Come accennato precedentemente i kernel della serie 2.2.x necessitano di due patch per poter sfruttare la motherboard "Carolina" e la scheda video IBM E15.

Queste patch si possono scaricare dal sito www.amberdata.demon.co.uk/carolina.

Di queste due la prima (carolina.diff.gz) è indispensabile. Se vogliamo crearci un kernel su misura per il nostro IBM RS/6000 43P dobbiamo applicare questa patch. Questo è uno dei motivi per cui i kernel/immagini presenti sul CD della distribuzione YellowDog Linux non funzionano correttamente su questi computer.

Il discorso cambia con la seconda patch (ibm_e15fb.diff.gz) che permette di utilizzare X mediante frame-buffer. Applicata la patch sarà sufficiente selezionare la relativa voce durante il "menuconfig" per attivare il supporto video. Segnalo che sulla macchina che uso (604 100Mhz, 16 MB), le prestazioni di GNOME e KDE non sono molto buone, la situazione cambia invece se si fa uso di un window manager quale Window Maker o icewm, che naturalmente richiedono meno risorse e quindi hanno prestazioni accettabili.

Altra nota, attivando questa patch anche la modalità testo/console sarà arricchita di qualche particolare grafico, e subirà un lievissimo appesantimento.

6.3 Applicare le patch

Per applicare le patch copiate i file carolina.diff.gz e ibm_e15fb.diff.gz nella directory /usr/src/linux/ quindi impartite i comandi:

# gzip -d carolina.diff.gz

# gzip -d ibm_e15fb.diff.gz

Ora non resta che applicare per prima la patch carolina:

patch -p0 < carolina.diff
se ottenete degli errori o delle richieste, premete CTRL C e provate con
patch -p1 < carolina.diff

Quindi applichiamo la patch ibm_e15fb: (nota che se non volete usare X basta non selezionarla in fase di menuconfig, quindi applicatela comunque)

patch -p0 < ibm_e15fb.diff
se ottenete degli errori o delle richieste, premete CTRL C e provate con
patch -p1 < ibm_e15fb.diff

6.4 Configurare il kernel

Se non ci sono stati errori di sorta, non vi resta che dare il comando:

make mrproper && make menuconfig

In questa fase (menuconfig) dovete selezionare tutto ciò che volete includere nel kernel e i moduli.

Cosa includere nel kernel ? Consiglio sicuramente le seguenti voci:

Platform support ---> (6xx/7xx/7400) Processor type
                      (PowerMac/PReP/CHRP) Machine Type
                      [ ] Symmetric multi-processing support
                      [ ] Altivec (G4) support

General setup    ---> ...
                      [*] Support for VGA Console
                      [*] Support for frame buffer devices
                      [*] PReP bootloader kernel arguments
                           Initial kernel command string: "root=/dev/sda2" 

                           NOTA: qui si puo' indicare la stringa che deve
                                 apparire al boot, in questo caso diventerà 
                                 Linux/PPC load: root=dev/sda2.
                                 Con questa stringa si segnala quale delle 
                                 partizioni è quella di root (nel mio caso sda2).


SCSI support     ---> <*> SCSI support
                      <*> SCSI disk support
                      <*> SCSI cdrom support
                      ...
                      SCSI low-level drivers ---> <*> NCR53C8XX SCSI support

                      NOTA: NCR53C8XX  è il driver del nostro controller SCSI


[*] Network device support ---> Ethernet (10 or 100Mbit) --->
                                [*] EISA, VLB, PCI and on board controllers
                                <*> AMD PCnet32 (VLB and PCI) support


Console drivers  ---> [*] Open Firmware frame buffer device support 
                      [*] IBM E15 display support (NEW)  

                      NOTA: Selezionando quest'ultima voce verrà incluso nel
                            kernel il supporto alla scheda video. 
                            Come detto è opzionale, se volete
                            usare X o avere la modalità testo o console 
                            arricchite graficamente selezionatela.

Dopo aver confermato e salvato le scelte proseguite con la compilazione.

6.5 Compilare il kernel

Per "costruire" il kernel vero e proprio usiamo i seguenti comandi:

# make dep

# make clean

# make zImage

# make modules

# mv /lib/modules/2.2.15-2.9.0 /lib/modules/2.2.15old

# make modules_install

6.6 Installare e testare il kernel

Completate le operazioni di compilazione possiamo installare il nuovo kernel:

# cp /usr/src/linux/arch/ppc/boot/zImage /boot/vmlinuz-2.2.15b

Possiamo anche testare se il kernel funziona correttamente, per la prova ci serve un floppy vuoto. Inseritelo nell'unità floppy e date il comando:

dd if=/boot/vmlinuz-2.2.15b of=/dev/fd0

Ora se l'ordine di boot è floppy...CDROM...SCSI hard-disk, basterà riavviare il computer con il comando reboot.

Se il boot viene effettuato da floppy e il kernel funziona senza problemi possiamo copiarlo anche nella PReP boot partition con il solito comando:

dd if=/boot/vmlinuz-2.2.15b of=/dev/sda1

Assumendo come al solito che la partizione PReP boot sia sda1, se non è il vostro caso sostituitela con quella corretta. In questo modo possiamo togliere il floppy dall'unità, riavviare, e avere il boot (rapido) da hard-disk.

NOTA: conservate il floppy creato, in caso di problemi di boot, potete sempre usare questo floppy per avviare Linux. Ricordatevi comunque di impostare la sequenza di boot con primo dispositivo l'unità floppy.


Avanti Indietro Indice