  Lilo mini-Howto
  Cameron Spitzer (cls@truffula.sj.ca.us), Alessandro Rubini
  (rubini@linux.it).
  v2.03, 19 Agosto 1998

  LILO  il LLiinux LLooader pi utilizzato per la versione di Linux che
  gira su processori di famiglia x86; poich non apprezzo le maiuscole,
  in questo documento il programma sar chiamato Lilo invece che LILO.
  Questo documento descrive alcune tipiche installazioni di Lilo.  Il
  suo ruolo  quello di integrare la guida dell'utente di Lilo con
  informazioni pi pratiche; credo che questi esempi siano abbastanza
  informativi anche se la vostra situazione non  molto simile alla mia.
  Spero che questo documento vi eviti di avere problemi. Siccome la doc
  umentazione di Lilo  molto ben fatta, chi  interessato ai dettagli 
  invitato a leggere in /usr/doc/lilo*.  Questo documento  stato
  tradotto da Alessandro Rubini, nel marzo 1998.
  ______________________________________________________________________

  Indice Generale


  1. Introduzione
  2. Informazione di base e installazione tipica
     2.1 Dove devo installare Lilo?
     2.2 Come devo configurare i miei dischi IDE?
     2.3 Come posso interagire durante il boot?
     2.4 Come posso disinstallare Lilo?

  3. La configurazione pi semplice
     3.1 Come gestire kernel grossi
     3.2 Altre fonti di informazione

  4. Installare su hdc per avviare come hda e uso di bios=
  5. Utilizzo di Lilo quando il BIOS non pu accedere alla partizione di root.
  6. Come accedere a dischi grossi che non sono visti dal BIOS
  7. Accensione da un dischetto di salvataggio


  ______________________________________________________________________

  11..  IInnttrroodduuzziioonnee

  Nonostante la documentazione distribuita con i sorgenti di Lilo sia ad
  ampio spettro (mi riferisco qui ai file che trovate anche sotto
  /usr/doc/lilo-versione sulla vostra macchina Linux), la maggior parte
  degli utenti Linux trovano qualche difficolt durante la costruzione
  del proprio file /etc/lilo.conf.  Questo documento  volto ad aiutare
  queste persone fornendo l'informazione minimale che serve per scrivere
  un file di configurazione e fornendo cinque installazioni
  esemplificative:


    Il primo esempio  la classica installazione ``Linux e un altro
     sistema''.

    L'esempio seguente mostra come si possa installare Linux su un
     disco collegato come /dev/hdc facendo in modo che tutto funzioni
     correttamente quando il disco viene collegato come /dev/hda e viene
     usato per il boot. Questo tipo di configurazione  quella che serve
     usare quando si installa un nuovo sistema Linux dall'interno del
     proprio sistema gi funzionante.

    Il terzo caso presentato mostra come accendere un sistema Linux la
     cui partizione root non viene vista dal BIOS della macchina. Questa
     sezione spiega anche come avviare il sistema da un disco SCSI se il
     BIOS  abbastanza recente.
    Il successivo esempio viene usato per accedere a dischi molto
     grossi, che n il BIOS n il DOS possono vedere con facilit
     (questo esempio  ormai obsoleto, in quanto tutti i BIOS recenti
     riescono a gestire i dischi grossi).

    L'ultimo esempio mostra come recuperare un disco danneggiato, se il
     danno deriva dall'installazione di un altro sistema operativo.


  Gli ultimi tre esempi sono stati forniti da Cameron,
  cls@truffula.sj.ca.us, che ha scritto le prime versioni di questo
  documento. Alessandro rubini@linux.it, il manutentore attuale, usa
  solo Linux sulle sue macchine e non  quindi in grado di controllare
  n di aggiornare tali esempi esempi. Sentitevi liberi di mandare il
  vostro contributo a questo documento, preferibilmente mandandomi un
  messaggio di posta elettronica.


  22..  IInnffoorrmmaazziioonnee ddii bbaassee ee iinnssttaallllaazziioonnee ttiippiiccaa


  Quando Lilo avvia il sistema, usa le chiamate del BIOS per caricare il
  kernel Linux dal disco (disco IDE, dischetto o altro). Per questo
  motivo, il kernel deve risiedere in un luogo che possa essere visto
  dal BIOS della macchina.

  All'accensione Lilo non  in grado di leggere i dati del filesystem
  per cui ogni pathname che appare in /etc/lilo.conf viene risolto
  durante l'installazione di Lilo (quando il superutente invoca il
  comando _/_s_b_i_n_/_l_i_l_o). Tale installazione  il momento in cui il
  programma costruisce le tabelle che elencano quali settori sono usati
  dai file coinvolti nel caricamento del sistema operativo.  Una
  conseguenza di ci  che tutti tali file devono risiedere in una
  partizione accessibile da parte del BIOS (siccome tali file di solito
  risiedono in /boot,  sufficente che il BIOS possa leggere la
  partizione root del vostro sistema).

  Un'altra conseguenza dell'appoggiarsi sul BIOS  che occorre
  reinstallare il programma (cio, occorre reinvocare _/_s_b_i_n_/_l_i_l_o), ogni
  volta che si modifica la configurazione del programma.  Ogni volta che
  si ricompila il kernel e si sovrascrive la precedente immagine,
  occorre reinstallare Lilo.


  22..11..  DDoovvee ddeevvoo iinnssttaallllaarree LLiilloo??

  All'interno di /etc/lilo.conf, la direttiva boot= dice a Lilo dove
  installare il loader primario, quello che viene eseguito dal BIOS
  all'accensione della macchina. Come regola generale, questo codice pu
  essere installato nel ``master boot record'' (cio in /dev/hda) oppure
  nella partizione root dell'installazione Linux (di solito /dev/hda1 o
  /dev/hda2).

  Se il proprio disco contiene un altro sistema operativo oltre a Linux,
  conviene installare Lilo sulla partizione root invece che sul Master
  Boot Record. In questo caso occorre marcare la partizione come
  ``bootable'' (usando il comando ``a'' di _f_d_i_s_k o il comando ``b'' di
  _c_f_d_i_s_k. Se il _m_a_s_t_e_r _b_o_o_t _s_e_c_t_o_r non viene sovrascritto risulter pi
  facile la disinstallazione di Linux, se ne sorger il bisogno.


  22..22..  CCoommee ddeevvoo ccoonnffiigguurraarree ii mmiieeii ddiisscchhii IIDDEE??

  Personalmente nel mio BIOS preferisco non specificare n LBA n LARGE
  per i miei dischi; ma ricorate che io uso solo Linux. Questi due modi
  di accesso sono degli accrocchi orribili, inventati solamente come
  pezza a fronte di alcune deficienze progettuali del primi PC.
  Specificare i propri dischi come NORMAL vuol dire che il proprio
  kernel deve stare all'interno dei primi 1024 cilindri del disco, ma
  questo non  un problema se il disco  correttamente partizionato e se
  la partizione di root  piccola (questa  una buona norma in ogni
  caso, indipendentemente da Lilo).

  Se il disco invece contiene gi un altro sistema operativo, non si
  potranno modificare i settaggi del BIOS o il vecchio sistema non
  funzioner pi. Tutte le distribuzioni recenti di Linux, comunque,
  sono in grado di gestire dischi configurati come LBA o LARGE.

  Se si ha pi di un disco rigido e alcuni di essi sono usati solo da
  Linux senza far parte del processo di avvio del sistema, si pu
  evitare di dire al BIOS che questi dischi esistono. Il sistema si
  avvier pi velocemente e Linux riconoscer automaticamente e
  velocemente tutti i dischi. A me capita spesso di aggiungere e
  togliere dischi dal mio sistema, ma non cambio mai la configurazione
  del BIOS.


  22..33..  CCoommee ppoossssoo iinntteerraaggiirree dduurraannttee iill bboooott??


  Quando appare il prompt di Lilo, premendo il tasto <Tab> si ottiene la
  lista di tutte le possibilit di boot offerte da Lilo.  Se Lilo non 
  configurato per interagire con l'utente si pu comunque renderlo
  interattivo premendo il tasto <Alt> o il tasto <Shift> prima che
  appaia il messaggio ``LILO'', e tenendo premuto tale tasto.

  Se al prompt di Lilo si sceglie un'immagine di kernel Linux 
  possibile passare dei parametri di linea di comando al kernel stesso.
  Il kernel Linux riconosce molti parametri, tutti descritti nel
  ``BootPrompt-HOWTO'' by Paul Gortmaker, documento che non val la pena
  di replicare in questa sede. Alcuni di questi parametri, d'altra
  parte, secondo me sono particolarmente importanti e meritano di essere
  descritti:


    root=: si pu dire al kernel di usare come partizione di root una
     partizione diversa da quella che appare nel file lilo.conf. Per
     esempio, io ho dedicato una piccola partizione a ospitare una
     installazione minimale di Linux; grazie a questa sono stato in
     grado di accendere il mio calcolatore anche dopo aver distrutto per
     sbaglio la partizione di root (questi danni comunque succedono solo
     se si smanetta con le strutture interne del kernel).

    init=: la versione 1.3.43 e tutte le successive possono ricevere
     dalla linea di comando il pathname di un programma da eseguire al
     posto di /sbin/init. Se il sistema si blocca durante il processo di
     boot a causa di un errore negli script di accensione  ancora
     possibile accedere al sistema specificando init=/bin/sh al prompt
     di Lilo. Dopo aver acceso il sistema in questo modo probabilmente
     occorrer accedere ai propri dischi, che saranno inaccessibili; per
     questo occorre invocare ``mount -w -n -o remount /; mount -a'', e
     ricordarsi di chiamare ``umount -a'' prima di spegnere il
     calcolatore.

    Un numero: se si specifica un numero sulla linea di comando, il
     programma _i_n_i_t selezioner il ``runlevel'' specificato invece di
     quello predefinito (di solito il 3 o il 2, in base alla
     distribuzione che si usa). Per saperne di pi consiglio di
     riferirsi alla documentazione di _i_n_i_t, al file /etc/inittab e ai
     vari file che si trovano in /etc/rc*.d.


  22..44..  CCoommee ppoossssoo ddiissiinnssttaallllaarree LLiilloo??

  Quando Lilo sovrascrive un settore di boot, una copia del settore
  viene salvata in /boot/boot._x_x_y_y, dove _x_x_y_y sono i due numeri che
  rappresentano la periferica, scritti in esadecimale. Si possono vedere
  questi due numeri, chiamati ``major number'' e ``minor number''
  chiamando ``ls -l /dev/_d_e_v_i_c_e''. Per esempio, il primo settore del
  disco /dev/hda (che ha 3 e 0 come numeri di periferica) verr salvato
  in /boot/boot.0300; se si installa lilo su /dev/fd0 il file si
  chiamer /boot/boot.0200, se si installa su /dev/sdb3 (con major
  number 8 e minor 19) il file si chiamer /boot/boot.0813.  Si noti che
  Lilo non salva il primo settore del disco se il file corrispondente
  esiste gi, quindi non occorre preoccuparsi quando si reinstalla Lilo
  (per esempio dopo aver ricompilato il kernel).

  Se per caso occorre disinstallare Lilo (per esempio nella malaugurata
  ipotesi che si cancelli Linux dal disco) occorre semplicemente
  rimettere al suo posto il settore di boot originale. Se Lilo 
  installato in /dev/hda, basta fare ``dd if=/boot/boot.0300 of=/dev/hda
  bs=446 count=1'' (personalmente preferisco fare ``cat /boot/boot.0300
  > /dev/hda'', ma questo comando non  sicuro, in quanto copia anche la
  tabella delle partizioni, che potrebbe essere stata modificata nel
  frattempo). Questo comando  molto pi facile che dover far partire il
  DOS per chiamare ``fdisk /mbr'': permette di togliere Linux da un
  disco senza mai avviare alcun altro sistema operativo.  Dopo aver
  rimosso Lilo dal disco occorre anche ricordarsi di far girare il
  comando _f_d_i_s_k di Linux per distruggere tutte le partizioni Linux, in
  quanto la versione DOS del comando non  in grado di cancellare
  partizioni non-dos.

  Se Lilo  stato installato sulla partizione root del sistema Linux,
  (per esempio /dev/hda2), invece, non occorre fare niente di
  particolare per disinstallare Lilo. In questo caso basta far andare il
  programma _f_d_i_s_k di Linux per rimuovere le partizioni Linux dalla
  tabella delle partizioni. Bisogna anche ricordarsi di marcare la
  partizione DOS come partizione ``bootable'' (``attiva'' in gergo DOS).


  33..  LLaa ccoonnffiigguurraazziioonnee ppii sseemmpplliiccee

  La maggior parte delle installazioni di Lilo utilizzano un file di
  configurazione come il seguente:


  boot = /dev/hda   # oppure la partizione root
  delay = 10        # attesa, in decimi di secondo, per poter interagire
  vga = 0           # opzionale. Si usi "vga=1" per un modo testo 80x50
  #linear           # si provi "linear" se ci sono problemi di geometria

  image = /boot/vmlinux  # il proprio file zImage
    root = /dev/hda1     # la partizione root
    label = Linux        # o un altro bel nome
    read-only            # root va montato in sola lettura

  other = /dev/hda4   # la partizione dos, se esiste
    table = /dev/hda  # la tabella delle partizioni attuale
    label = dos       # o un altro stupido nome



  Si possono specificare diverse sezioni ``image'' e ``other'' se serve.
   in effetti abbastanza comune configurare nel proprio _l_i_l_o_._c_o_n_f
  diverse immagini del kernel, almeno per chi cerca di rimanere
  aggiornato con le versioni di sviluppo del sistema.


  33..11..  CCoommee ggeessttiirree kkeerrnneell ggrroossssii

  Se la compilazione di una ``zImage'' genera un'immagine pi grande di
  mezzo megabyte (come capita spesso con i kernel 2.1), bisognerebbe
  creare una ``bzImage'' (big zImage). Si provi a tal fine ``make
  bzImage''. Per avviare un'immagine del kernel di questo tipo non serve
  far niente di speciale, ma serve avere la versione 18 di Lilo, o una
  successiva. Se la vostra installazione  molto datata, occorrer
  aggiornare il pacchetto Lilo.


  33..22..  AAllttrree ffoonnttii ddii iinnffoorrmmaazziioonnee

  Oltre ai documenti forniti con Lilo, ci sono un certo numero di mini-
  howto che possono essere utili per risolvere i proprio problemi. Si
  chiamano tutti ``Linux+_p_i_n_c_o_O_S'', per vari valori di _p_i_n_c_o_O_S; questi
  documenti trattano la coesistenaza di Linux e altri sistemi operativi.
  Inoltre, ``Multiboot-with-LILO'' descrive come le varie versioni di
  Windows possono coesistere con Linux.


  44..  IInnssttaallllaarree ssuu hhddcc  ppeerr aavvvviiaarree ccoommee hhddaa  ee uussoo ddii bbiiooss==

  Lilo permette di creare la mappa dei settori da un disco e allo stesso
  tempo di dire al BIOS di leggere i settori da un altro disco.  Per
  esempio a me capita spesso di installare Linux su un disco collegato
  come hdc (disco principale del secondo cavo IDE), e usare poi tale
  disco come unico disco di un nuovo calcolatore (hda). Ho fatto una
  copia del dischetto di installazione  in una piccola partizione, in
  modo da installare su hdc facendo _c_h_r_o_o_t da un terminale virtuale,
  senza dover smettere di usare il calcolatore.

  Il file _l_i_l_o_._c_o_n_f che uso in questo caso  fatto cos:


  # Questo file deve essere usato da un sistema che giri su /dev/hdc
  boot = /dev/hdc   # sovrascrivi il settore di boot di hdc
  disk = /dev/hdc   # e specifica come accedere ad hdc:
     bios = 0x80    #  il BIOS lo vedra' come primo disco
  delay = 0
  vga = 0

  image = /boot/vmlinux      # all'interno di  /dev/hdc1
    root = /dev/hda1         # che all'accensione sara' hda1
    label = Linux
    read-only



  Questo file di configurazione deve venir usato da un Lilo cchhee ggiirraa ssuu
  //ddeevv//hhddcc11. Le mappe di Lilo che vengono scritte nel settore di boot
  (/dev/hdc) devono riferirsi ai file che stanno in /boot (attualmente
  montato sotto /dev/hdc1); questi file verranno letti da hda nel
  momento in cui il disco sar avviato come sistema stand-alone.

  Personalmente chiamo questo file /mnt/etc/lilo.conf.hdc (poich /mnt 
  dove attacco il nuovo disco durante l'installazione).  L'installazione
  di Lilo avviene poi con questo comando: ``cd /mnt; chroot . sbin/lilo
  -C /etc/lilo.conf.hdc''. Si vedano la pagine del manuale di chroot se
  questo comando risulta di difficile comprensione.

  La direttiva ``bios='' nel file lilo.conf serve a dire a Lilo che idea
  ha il BIOS delle proprie periferiche. Le chiamate al BIOS identificano
  i dischetti e i dischi rigidi con un numero: 0x00 and 0x01 idenficano
  i floppy, 0x80 e numeri successivi identificano i dischi rigidi (e i
  vecchi BIOS possono solo accedere a due di essi). Il significato del
  parametro ``bios = 0x80 usato nell'esempio precedente significa
  quindi: ``usa 0x80 nelle chiamate al BIOS per il disco /dev/hdc''.

  Questa direttiva di Lilo pu essere utile anche in altre situazioni,
  per esempio quando il BIOS  in grado di avviare il sistema da un
  disco SCSI invece che da uno IDE. Quando il sistema contiene sia
  dischi IDE che SCSI, Lilo non pu sapere in partenza se il numero 0x80
  si riferir all'uno o all'altro, poich l'utente pu dire al BIOS come
  comportarsi (tramite i menu di configurazione), mentre il BIOS stesso
  non pu essere contattato durante il funzionamento di Linux.

  Per default, Lilo assume che i dischi IDE prendano i primi numeri a
  disposizione, ma questa assunzione pu essere modificata mettendo le
  seguenti linee nel proprio /etc/lilo.conf:


  disk = /dev/sda
    bios = 0x80



  55..  UUttiilliizzzzoo ddii LLiilloo qquuaannddoo iill BBIIOOSS nnoonn ppuu aacccceeddeerree aallllaa ppaarrttiizziioonnee
  ddii rroooott..

  Ho due dischi IDE e un disco SCSI. Il disco SCSI non viene visto dal
  BIOS. Siccome Lilo usa le chiamate al BIOS non pu accedere ai dischi
  che non vengono visti dal BIOS. Il mio stupido AMI-BIOS pu solo
  avviare il sistema da ``A:'' o da ``C:'', e la mia partizione di root
  sta sul disco SCSI.

  La soluzione in questo caso consiste nel mettere il kernel, la mappa
  dei settori e il secondo stadio di caricamento di Lilo in una
  partizione Linux nel primo disco IDE. Si noti che non serve mettere il
  kernel nella partizione root.

  La seconda partizione del mio primo disco IDE (/dev/hda2, la
  partizione Linux usata per avviare il sistema)  montata in /u2.
  Questo  il file /etc/lilo.conf che ho usato.



  #  Installa LILO su settore di boot del primo disco IDE
  #
  boot = /dev/hda
  #  /sbin/lilo (l'installatore) copia il loader di Lilo da
  #  questo file sopra al settore di boot.
  install = /u2/etc/lilo/boot.b
  #  Ho scritto un messaggio prolisso in questo file.
  message = /u2/etc/lilo/message
  #  Il comando "lilo" scrive in questo file la mappa dei settori
  #  di disco occupati dal kernel
  map = /u2/etc/lilo/map
  compact
  prompt
  #  Aspetta diecisecondi, poi attiva 1.2.1 per default.
  timeout = 100
  #  Il kernel viene salvato dive il BIOS pu leggerlo in questo modo:
  #      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 serve che il BIOS sia in grado di accedervi.
          root = /dev/sda1
  #  La partizione  montata in sola lettura
          read-only
  #  Ho tenuto un vecchio kernel Slackware da usare se quello appena
  #  ricompilato non funziona. In effetti una volta questo 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



  66..  CCoommee aacccceeddeerree aa ddiisscchhii ggrroossssii cchhee nnoonn ssoonnoo vviissttii ddaall BBIIOOSS

  Il sistema che ho in ufficio ha un disco IDE da 1GB. Il BIOS pu solo
  accedere ai primi 504MB del disco (con MB intendo 2^10 byte, non
  10^6). Perci ho messo il sistema DOS su una partizione da 350MB in
  /dev/hda1 e la partizione root di Linux in 120MB come /dev/hda2.

  Il DOS non  stato in grado di installarsi correttamente quando il
  disco era nuovo. La versione 7 del DOS Novell aveva lo stesso
  problema.  Fortunatamente il servizio ``opzioni di IBM'' ha
  dimenticato di mettere il dischetto ``OnTrack'' nella scatola del
  disco. Il disco sarebbe dovuto arrivare con un prodotto chiamato
  ``OnTrack Disk Manager''. Se avete solo il DOS immagino che lo abbiate
  usato.

  Allora ho fatto una partizione con il programma _f_d_i_s_k di Linux.  Il
  DOS 6.2 ha rifiutato di installarsi su /dev/hda1 dicendo qualcosa come
  ``questa versione di MS-DOS  per le nuove installazioni; questo
  computer ha gi il DOS installato quindi serve una versione
  `aggiornamento' al posto di questa''. In effetti, il disco era nuovo
  di zecca.

  Che schifo! Allora ho usato ancora _f_d_i_s_k di Linux e ho cancellato la
  partizione 1 dalla tabella. Questo ha reso felice il mio DOS 6.2 che
  ha ricreato la partizione da me rimossa per potersi installare.  MS-
  DOS 6.2 ha scritto il suo settore di boot sul disco ma non  riuscito
  ad avviarsi.
  Per fortuna avevo un kernel Slackware in un floppy creato dal
  programma di installazione della mia Slackware, per cui ho acceso
  Linux e installato Lilo sopra al settore di boot difettoso del DOS.
  Questo funziona. Ecco il file /etc/lilo.conf che ho usato:


  boot = /dev/hda
  map = /lilo-map
  delay = 100
  ramdisk = 0             # Disattiva il ram-disk
  timeout = 100
  prompt
  disk = /dev/hda         # Il BIOS vede solo 500MB di questo disco
     bios = 0x80          #   che  il primo disco IDE
     sectors = 63         #   e ha questi parametri (dalla
     heads = 16           #   documentazione del disco stesso)
     cylinders = 2100
  image = /vmlinuz
    append = "hd=2100,16,63"
    root = /dev/hda2
    label = linux
    read-only
    vga = extended
  other = /dev/hda1
    label = msdos
    table = /dev/hda
    loader = /boot/chain.b



  Dopo aver installato questi sistemi ho verificato che la partizione
  contenente i file zImage, boot.b, map, chain.b e message potesse usare
  un filesystem MSDOS, purch che non sia compresso con stacker o
  doublespace. In questo caso avrei potuto dare tutti i 500MB alla
  partizione DOS.

  Ho anche imparato successivamente che ``OnTrack'' avrebbe scritto la
  tabella delle partizioni spostata di alcune decine di byte all'interno
  del disco invece che all'inizio, e ho saputo che  possibile
  modificare il driver IDE di Linux per gestire questa situazione, ma
  l'installazione in questo caso sarebbe stata impossibile con il kernel
  slackware precompilato _[_N_D_T_: _e_c_c_o _u_n _a_l_t_r_o _c_a_s_o _i_n _c_u_i _i _p_r_o_d_u_t_t_o_r_i _d_i
  _h_a_r_d_w_a_r_e _f_a_n_n_o _d_e_l_l_e _p_o_r_c_a_t_e _i_m_m_o_n_d_e _p_e_r _s_i_s_t_e_m_a_r_e _l_e _m_a_n_c_a_n_z_e _d_i
  _M_i_c_r_o_s_o_f_t_]). Alla fine la IBM mi ha mandato il dischetto ``OnTrack'';
  ho contattato il loro supporto tecnico e mi hanno detto che Linux 
  bacato perch non usa il BIOS. Ho buttato via il dischetto.


  77..  AAcccceennssiioonnee ddaa uunn ddiisscchheettttoo ddii ssaallvvaattaaggggiioo

  Successivamente ho installato Windows 95 sul calcolatore in ufficio.
  Ovviamente ha bruciato il mio bel settore di boot di Lilo, ma non ha
  toccato la mia partizione Linux. Siccome il BIOS impiega molto tempo a
  caricare il kernel dal dischetto ho creato preventivamente un
  dischetto con Lilo installato in modo da poter caricare il kernel dal
  disco IDE. Il floppy  stato creato cos:

    fdformat /dev/fd0H1440      # scrivi le traccie su disco nuovo
    mkfs -t minix /dev/fd0 1440 # crea il filesystem di tipo minix
    mount /dev/fd0 /mnt         # aggancialo nella directory convenzionale
    cp -p /boot/chain.b /mnt    # copia il loader sul dischetto
    lilo -C /etc/lilo.flop      # installa lilo e la mappa sul floppy
    umount /mnt



  Si noti che il dischetto deve essere montato quando si invoca _l_i_l_o, in
  modo che Lilo possa scrivere il file con la mappa dei settori del
  kernel.

  Questo  /etc/lilo.flop, ed  molto simile all'ultimo che vi ho fatto
  vedere:


  #  Crea un dischetto che legge i kernel dal disco fisso
  boot = /dev/fd0
  map = /mnt/lilo-map
  delay = 100
  ramdisk = 0
  timeout = 100
  prompt
  disk = /dev/hda     # 1 GB IDE, ma il BIOS vede solo i primi 500 MB.
     bios=0x80
     sectors = 63
     heads = 16
     cylinders = 2100
  image = /vmlinuz
    append = "hd=2100,16,63"
    root = /dev/hda2
    label = linux
    read-only
    vga = extended
  other = /dev/hda1
    label = msdos
    table = /dev/hda
    loader = /mnt/chain.b



  Infine, mi  successo di aver bisogno del DOS 6.2 in ufficio, ma non
  volevo toccare il primo disco IDE. Ho aggiunto un controller e un
  disco SCSI e ho creato un filesystem DOS su questo disco con il
  comando _m_k_d_o_s_f_s di Linux. Questo disco viene visto come ``D:'' da
  Windows 95. Naturalmente il DOS non vuole partire dal disco D, ma
  questo non  un problema quando si ha Lilo.  Ho aggiunto queste righe
  al file lilo.conf del penultimo esempio:


  other = /dev/sda1
    label = d6.2
    table = /dev/sda
    loader = /boot/any_d.b



  Con questa modifica il DOS 6.2 parte e crede di essere sul disco C
  mentre Windows 95 si trova su D  _[_N_D_T_: _d_e_m_e_n_z_i_a_l_e_!_].



