Ho due dischi IDE e un disco SCSI. Il disco SCSI non può essere visto dal BIOS. Lilo, il Linux Loader, usa le chiamate al BIOS e può vedere solo i dischi che il BIOS vede. Il mio stupido BIOS AMI può avviare il sistema solo da "A:" o da "C:". Il mio file system root risiede su una partizione del disco SCSI.
La soluzione consiste nel memorizzare il kernel, la mappa dei file e il chain loader in una partizione Linux nel primo disco IDE. Si noti che non serve tenere il proprio kernel nella partizione root.
La seconda partizione del primo disco IDE (/dev/hda2
, la
partizione Linux usata per avviare il sistema) è montata su /u2
.
Ecco il file /etc/lilo.conf
che ho usato.
# Installa LILO sul Master Boot Record del primo disco IDE # boot = /dev/hda # /sbin/lilo (l'installatore) copia il boot record di Lilo # dal file seguente all'MBR install = /u2/etc/lilo/boot.b # # Ho scritto un menu di avvio prolisso. Lilo può trovarlo qui. message = /u2/etc/lilo/message # L'installatore creerà il file seguente. Dirà # al gestore di avvio dove sono i blocchi del kernel. map = /u2/etc/lilo/map compact prompt # Aspetta 10 secondi, poi avvia il kernel 1.2.1 predefinito. timeout = 100 # Il kernel è memorizzato dove il BIOS può vederlo facendo: # cp -p /usr/src/linux/arch/i386/boot/zImage /u2/z1.2.1 image = /u2/z1.2.1 label = 1.2.1 # Lilo dice al kernel di montare la prima partizione SCSI # come root. Non è necessario che il BIOS sia in grado di vederlo. root = /dev/sda1 # Questa partizione verrà controllata e rimontata da /etc/rc.d/rc.S read-only # Ho tenuto da parte un vecchio kernel Slackware, nel caso io compili un # kernel non funzionante. Una volta, in effetti, mi è servito. image = /u2/z1.0.9 label = 1.0.9 root = /dev/sda1 read-only # La mia partizione DR-DOS 6. other = /dev/hda1 loader=/u2/etc/lilo/chain.b label = dos alias = m