Aggiungere il controllo del traffico - Testare il nuovo kernel
Ora disponete di un file kernel compilato. Il Cromwell BIOS utilizza un file di testo per decidere da dove effettuare il boot. Avviamo vi per editarlo:
- vi /boot/linuxboot.cfg
Dovrebbe contenere il testo seguente:
title v2_4
kernel /boot/vmlinuz
append root=/dev/ide/host0/bus0/target0/lun0/part2 devfs=mount kbd-reset xbox=hdd
xboxfb y
Cambiatelo in questo modo:
title v2_6
kernel /usr/src/linux/arch/i386/boot/bzImage
append root=/dev/hda2 devfs=mount kbd-reset xbox=hdd
xboxfb y
title v2_4
kernel /boot/vmlinuz-2.4.31-xbox
append root=/dev/ide/host0/bus0/target0/lun0/part2 devfs=mount kbd-reset xbox=hdd
xboxfb y
default v2_6
Ora salvate e riavviate la vostra Xbox con il comando "reboot". Se l'Xbox non è collegata alla televisione, vi perderete ogni messaggio di errore o avviso. Se si riavvia senza problemi, in un minuto o due dovreste essere in grado di collegarvi e di visualizzare un messaggio di benvenuto del nuovo kernel.
Se non funziona, ricollegatela alla televisione, riavviatela e controllate i messaggi di errore che vengono visualizzati. Per tornare al vecchio kernel avrete bisogno di utilizzare la tastiera USB per navigare nel menù di boot del BIOS Cromwell e selezionare il vecchio kernel, chiamato v2_4.
Se l'aggiornamento è andato a buon fine, dovrete rendere i cambiamenti permanenti.
- cd /usr/src/linux/
- make install
Quando verrà richiesto, rispondete di non creare un boot disk. In questo modo l'immagine verrà copiata in /boot/ e verrà aggiornato il file vmlinuz symlink per puntare al nuovo kernel. Ora potete cambiare il file linuxboot.config:
title v2_6
kernel /usr/src/vmlinuz
append root=/dev/hda2 devfs=mount kbd-reset xbox=hdd
xboxfb y
title v2_4
kernel /boot/vmlinuz-2.4.31-xbox
append root=/dev/ide/host0/bus0/target0/lun0/part2 devfs=mount kbd-reset xbox=hdd
xboxfb y
default v2_6
Tuttavia, ho notato che al riavvio dopo l'aggiornamento alla versione 2.6, alcuni moduli non venivano caricati. Non sono molto sicuro del perché alcuni non venivano caricati, dato che li ho compilati! Un problema che ho notato è che i moduli per mouse e tastiera avevano cambiato nome dalla 2.4 alla 2.6. Nella 2.4 erano chiamati mousedev e keybdev, mentre ora si chiamavano usbmouse e usbkeyb.
Per cambiare il nome, editate il file /etc/modules.xbox e rinominateli. Il file funzionante dovrebbe essere come di seguito:
loop
#input
usbkbd
#usbmouse
#joydev
sunrpc
lockd
nfs
#scsi_mod
#sd_mod
#hid
#xpad
#xir
#lirc_dev
#lirc_xir
#snd-intel8x0