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.
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.
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.diffse 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.diffse ottenete degli errori o delle richieste, premete CTRL C e provate con
patch -p1 < ibm_e15fb.diff
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.
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
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.