  Mini-HOWTO  LILO
  Cameron Spitzer, cls@truffula.sj.ca.us

  11..  IInnttrroodduuccttiioonn

   _T_r_a_d_u_c_t_i_o_n _f_r_a_n_c_a_i_s_e _: _E_r_i_c _D_u_m_a_s _(_d_u_m_a_s_@_b_l_a_i_s_e_._i_b_p_._f_r_) .

  Ce fichier decrit quelques installations typiques de LILO. Ce document
  peut etre considere comme un complement du guide de  l'utilisateur  de
  LILO.  Je  pense  que  ces  exemples  sont  instructifs, meme si votre
  configuration est differente de la mienne. J'espere que cela vous sera
  utile.

  22..  EExxeemmppllee 11

  J'ai  deux disques IDE et un disque SCSI. Ce dernier SCSI ne peut etre
  vu par le BIOS. Le chargeur de LLiinnuuxx, LILO, utilise des appels du BIOS
  et  ne peux voir que les disques vus par le BIOS. Mon stupide BIOS AMI
  ne peut donc demarrer que sur "A:" ou "C:".  La racine de mon  systeme
  de fichiers se trouve sur le disque SCSI.

  La  solution  :  Mettre le noyau, le fichier mappe et le chargeur dans
  une partition LLiinnuuxx sur le premier disque IDE. Remarquez  qu'il  n'est
  pas necessaire de mettre le noyau sur la partition racine.

  La  deuxieme  partition de mon premier disque IDE /dev/hda2 est montee
  sur /u2. Voici le fichier de configuration que j'utilise :

  #  Installe le programme de lancement LILO sur le secteur de demarrage
  #  du premier disque IDE
  #
  boot = /dev/hda

  #  /sbin/lilo (programme d'installation) copie le fichier de demarrage LILO
  install = /u2/etc/lilo/boot.b

  #  J'ai ecrit un texte pour le menu de demarrage. LILO le trouve ici.
  message = /u2/etc/lilo/message

  #  Le programme d'installation va construire le fichier suivant.
  #  Il indique au chargeur ou se trouvent les blocs du noyau.
  map = /u2/etc/lilo/map
  compact
  prompt

  #  Attendre 10 secondes, puis lancer le noyau 1.2.1 par defaut.
  timeout = 100

  #  Le noyau est enregistre a un emplacement visible pour le BIOS
  #  en executant :
  #      cp -p /usr/src/linux/arch/i386/boot/zImage /u2/z1.2.1
  image = /u2/z1.2.1
  label = 1.2.1

  #  LILO indique au noyau de monter la premiere partition SCSI comme
  #  racine.
  #  Le BIOS n'aurait pas ete capable de la voir
  root = /dev/sda1

  #  Cette partition va etre verifiee puis remontee par /etc/rc.d/rc.S
  read-only

  #  On peut faire monter comme racine plusieurs partitions differentes par
  #  un meme noyau. J'ai une configuration en cas d'imprevu sur /u2
  image = /u2/z1.2.1
  label = 1.2.1-hda2
  root = /dev/hda2
  read-only

  #  J'ai garde une vieille version d'un noyau de la Slackware au cas ou je
  #  construise un noyau qui ne fonctionne pas. Je ne m'en suis servi
  #  qu'une seule fois.
  image = /u2/z1.0.9
  label = 1.0.9
  root = /dev/sda1
  read-only

  #  Ma partition DR-DOS
  other = /dev/hda1
          loader=/u2/etc/lilo/chain.b
          label = dos
          alias = m

  33..  EExxeemmppllee 22

  La machine de mon bureau possede un disque IDE  d'1  Giga-octets.   Le
  BIOS  ne  peut voir que les 504 premiers Mo du disque IDE (Mo signifie
  2^10 octets et non 10^6 octets).
  Donc, j'avais MS-DOS sur une partition /dev/hda1 de taille 350 Mo,  et
  la racine de la partition LLiinnuuxx sur /dev/hda2, 120 Mo.

  MS-DOS  etait  incapable  de s'installer correctement tout seul sur un
  disque neuf.

  Le DOS 7 de Novell avait les  memes  problemes.  Malheureusement  pour
  moi,  a la suite d'un oubli d'IBM, je ne disposais pas de la disquette
  "OnTrack".  Le disque etait suppose arriver avec  un  produit  appelle
  "OnTrack  Disk  Manager".  Si vous n'avez que MS-DOS, je vous souhaite
  d'en disposer.

  Donc, j'ai bati une  table  de  partition  avec  le  fdisk  de  LLiinnuuxx.
  MSDOS-6.2  a  refuse de s'installer dans /dev/hda1, pretextant quelque
  chose du genre :

  _M_S_-_D_O_S _e_s_t _d_e_j_a _i_n_s_t_a_l_l_e _s_u_r _v_o_t_r_e _o_r_d_i_n_a_t_e_u_r _(ccee  qquuii  eettaaiitt  ffaauuxx  ::
  ddiissqquuee  nneeuuff)  donc,  vous avez besoin d'obtenir une version de mise a
  jour chez votre vendeur.'

  Quel ignare !  Donc, je relance le fdisk LLiinnuuxx et detruis la  premiere
  partition de la table. Cela convient a MS-DOS 6.2 qui peut alors creer
  la meme partition que celle que je viens de detruire  et  s'installer.
  MS-DOS  6.2  ecrit  alors dans le secteur de lancement du disque, mais
  impossible de demarrer.

  Par chance, j'avais un noyau de la Slackware  sur  disquette  (realise
  par  le programme setup d'installation), et j'ai donc lance LLiinnuuxx puis
  ecrase le secteur de demarrage par celui de LILO... et tout marche !

  Voici le fichier /etc/lilo.conf utilise :

  boot = /dev/hda
  map = /lilo-map
  delay = 100
  ramdisk = 0           # Ne cree pas le disque virtuel du noyau Slackware
  timeout = 100
  prompt

  disk = /dev/hda=09      # le BIOS ne voit que les 500 premiers Mo.
     bios=0x80          # indique le premier IDE.
     sectors = 63       # prendre ces chiffres dans la documentation du disque
     heads = 16
     cylinders = 2100

  image = /vmlinuz
    append = "hd=2100,16,63"  # Cela peut etre redondant
    root = /dev/hda2
    label = linux
    read-only
    vga = extended

  other = /dev/hda1
    label = msdos
    table = /dev/hda
    loader = /boot/chain.b

  Apres avoir installe ces systemes, j'ai  verifie  que  les  partitions
  contenant  les  fichiers  zImage,  boot.b,  map,  chain.b, et messages
  peuvent utiliser le systeme de fichiers MS-DOS, tant que  ni  Stacker,
  ni  Doublespace  ne  sont  installes.  Donc,  j'aurais  pu  faire  une
  partition DOS sur /dev/hda1 de 500 Mo.

  J'ai egalement appris que _O_n_T_r_a_c_k aurait ecrit une table de partitions
  commencant  a  quelques  douzaines  d'octets  sur le disque au lieu de
  l'ecrire au debut. Il est possible  de  modifier  le  gestionnaire  de
  peripherique   IDE   de  LLiinnuuxx  pour  contourner  ce  probleme.   Mais
  l'installation aurait ete impossible avec le noyau  precompile  de  la
  Slackware.  En  fin  de  compte, IBM m'a envoye une disquette _O_n_T_r_a_c_k.
  J'ai alors telephone au support technique de _O_n_T_r_a_c_k.  Ils  m'ont  dit
  que  LLiinnuuxx etait bugge car il n'utilisait pas le BIOS. J'ai renvoye la
  disquette.

  44..  EExxeemmppllee 33

  Ensuite, j'ai installe _W_i_n_d_o_w_s_-_9_5 sur mon ordinateur au bureau.  Il  a
  detruit  mon joli secteur de demarrage LILO, mais n'a pas touche a mes
  partitions LLiinnuuxx. Les noyaux sont tres lents a charger  a  partir  des
  lecteurs  de  disquettes. J'ai donc fait une disquette avec un fichier
  de configuration pour LILO  qui  me  permet  de  lancer  le  noyau  se
  trouvant sur le disque IDE.  J'ai fait la disquette de cette maniere :

  1. fdformat /dev/fd0H1440: formatage de la disquette vierge

  2. mkfs /dev/fd0 1440    : disquette au format _M_i_n_i_x

  3. mkdir /3              : montage

  4. mount /dev/fd0 /3

  5. cp -p /boot/chain.b /3  : copie du chargeur

  6. lilo -C /etc/lilo.flop  : installation de LILO

  7.  umount /3

  Notez  que  la  disquette  DOIT  ETRE  MONTEE  LORSQUE   VOUS   LANCEZ
  L'INSTALLATION  pour  que  LILO puisse ecrire proprement le fichier de
  configuration.

  Ce fichier est /etc/lilo.flop. Il ressemble a celui-ci.

  #  Cree une disquette qui puisse lancer des noyaux sur disque dur
  boot = /dev/fd0
  map = /3/lilo-map
  delay = 100
  ramdisk = 0
  timeout = 100
  prompt

  disk = /dev/hda        # 1 Go IDE, BIOS ne voit que les premiers 500 Mo.
     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 = /3/chain.b

  Enfin, j'avais besoin de MS-DOS 6.2 sur mon ordinateur du bureau, mais
  je  ne  voulais  pas  toucher  au  premier disque. J'ai donc ajoute un
  contr=F4leur SCSI et un disque, cree une partition  au  format  MS-DOS
  avec  le  programme  mkdosfs de LLiinnuuxx, et Windows-95 l'a reconnu comme
  disque "D:". Mais, bien sur, MS-DOS ne  demarrera  pas  sur  "D:".  Ce
  n'est pas un probleme avec LILO. J'ai ajoute :

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

  au  fichier lilo.conf de l'exemple 2.  MSDOS-6.2 fonctionne en pensant
  etre sur C:, et Windows 95 est en D:.

