Capitolo 2. Loadlin

In questa sezione spiego come avviare Linux con Loadlin, un programma DOS che permette di evitare di installare Lilo da qualsiasi parte, utile spesso quando si ha a che fare con multiple (e frequenti) installazioni di Windows, che solitamente sovrascrivono l'MBR eliminando Lilo. Verrà anche mostrato l'uso di un menu che faciliterà la scelta dell'OS, oltre alla gestione di due diversi kernel (per esempio uno stabile e uno in prova - duplicate le relative sezioni per averne altri).

Create una directory (io la chiamo loadlin, perché in linux ho installato mulinux, per emergenze) nella vostra partizione Windows e copiateci dentro il kernel stabile che usate (da Linux, è nella directory /boot), rinominandolo vmlinuz.old, e l'eventuale nuovo kernel in prova, rinominandolo vmlinuz.new. Copiateci dentro anche loadlin.exe, dalla directory Dosutils presente nel cd della vostra distribuzione. Ora create il file c:\loadlin\linuxold.bat come segue:

loadlin.exe @loadlin.old
   

e create il file delle impostazioni c:\loadlin\loadlin.old:

vmlinuz.old
root=/dev/hdb2
ro
vga=extended
mem=128M
append="reserve=0x300,64 ether=9,0x300,eth0"
   

Il primo rigo è il nome del file del kernel; il secondo (MODIFICATELO per il vostro sistema! Altre info nella pagina delle Partizioni) è la partizionie di root di linux; il terzo è OBBLIGATORIO per montare il filesystem a sola lettura (ci penserà il processo principale init a rimontartlo in lettura/scrittura durante l'avvio); il quarto rigo è opzionale (a me piace la console 80x50); il quinto permette di specificare se avete più di 64 mbyte di RAM, nel caso non vengano riconosciuti tutti; l'ultimo rigo serve per comunicare parametri per qualche periferica che devono essere passati al kernel (in questo caso una scheda di rete NE2000 compatibile ISA).

Se avete il secondo kernel in prova, create anche il file c:\loadlin\linuxnew.bat come segue:

loadlin.exe @loadlin.new
   

e create il secondo file delle impostazioni c:\loadlin\loadlin.new:

vmlinuz.new
root=/dev/hdb2
ro
vga=extended
mem=128M
append="reserve=0x300,64 ether=9,0x300,eth0"
   

Ora modificate il file c:\msdos.sys (PRIMA date: attrib -s -h -r c:\msdos.sys) nelle seguenti righe:

... altre cose presenti da non toccare
[Options]
BootGUI=0
Logo=0
... altre cose presenti da non toccare
   

NON cancellate tutte quelle x alla fine, il file deve essere più lungo di 1024 byte. Rimettete a posto i permessi con attrib +s +h +r c:\msdos.sys. Ora il file c:\config.sys:

[Menu]
menuitem=Win98, Avvia Windows 98...
menuitem=MSdos, Avvia MS-DOS...
menuitem=Linux_New, Avvia Linux-New...
menuitem=Linux_Old, Avvia Linux-Old...
menudefault=Win98,5

[Win98]
DEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.EXE NOEMS
DOS=HIGH,UMB

[MSdos]
DEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.EXE NOEMS
DOS=HIGH,UMB

[Linux_New]

[Linux_Old]
   

Naturalmente prendete tutto quello che già avete nel vostro config.sys e copiatelo in entrambe le sezioni Win98 e MSdos (dovrebbero essere uguali), al posto di quello che ho messo io. Ultimo file, c:\autoexec.bat:

goto %config%

:Win98
rem ... inserite le altre cose presenti nel vostro autoexec.bat
rem le 4 righe seguenti non servono per linux, ma tornano utili con win ;-)
deltree /y c:\windows\temp
md c:\windows\temp
set tmp=c:\windows\temp
set temp=c:\windows\temp
win
goto end

:MSdos
rem ... inserite le altre cose presenti nel vostro autoexec.bat
rem le 4 righe seguenti non servono per linux, ma tornano utili con win ;-)
deltree /y c:\windows\temp
md c:\windows\temp
set tmp=c:\windows\temp
set temp=c:\windows\temp
goto end

:Linux_New
call c:\loadlin\linuxnew.bat
goto end

:Linux_Old
call c:\loadlin\linuxold.bat
goto end

:end
   

Un consiglio: dati i noti disservizi di Windows, se avete 2 o più partizioni VFAT, spostate la directory loadlin in un'altra partizione e modificate i path (magari copiateci dentro per backup anche i file autoexec.bat, config.sys e msdos.sys). Nel caso aggiorniate il kernel, ricordate di ricopiare il nuovo file nella directory loadlin!!!