<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://lea-linux.org/docs/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dupont</id>
	<title>Lea Linux - Contributions [fr]</title>
	<link rel="self" type="application/atom+xml" href="https://lea-linux.org/docs/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dupont"/>
	<link rel="alternate" type="text/html" href="https://lea-linux.org/documentations/Sp%C3%A9cial:Contributions/Dupont"/>
	<updated>2026-04-26T07:12:26Z</updated>
	<subtitle>Contributions</subtitle>
	<generator>MediaWiki 1.40.1</generator>
	<entry>
		<id>https://lea-linux.org/docs/index.php?title=LILO&amp;diff=10566</id>
		<title>LILO</title>
		<link rel="alternate" type="text/html" href="https://lea-linux.org/docs/index.php?title=LILO&amp;diff=10566"/>
		<updated>2005-11-10T14:08:16Z</updated>

		<summary type="html">&lt;p&gt;Dupont : /* Configuration de LILO : LInux LOader (le chargeur de Linux) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Gestion du boot et du démarrage]]&lt;br /&gt;
[[Catégorie:Bootloader]]&lt;br /&gt;
= Configuration de LILO : LInux LOader (le chargeur de Linux) =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;leatitre&amp;quot;&amp;gt;Configuration de LILO : LInux LOader (le chargeur de Linux)&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leapar&amp;quot;&amp;gt;par [mailto:fred%20chez%20lea%20tiret%20linux%20point%20org Fred]&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;leadesc&amp;quot;&amp;gt;Entrez dans le monde fantastique des détails de configuration du premier programme chargé par votre PC.&amp;lt;/div&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Qu&#039;est-ce que LILO. ==&lt;br /&gt;
&lt;br /&gt;
LILO est un chargeur de systèmes d&#039;exploitation spécialement conçu pour démarrer Linux, mais ses capacités sont bien plus grandes : il est capable de démarrer presque tout type de système d&#039;exploitation. C&#039;est grâce à lui que vous pourrez, si le coeur vous en dit, autoriser le [[admin-admin_boot-LILO#Ajouter un second noyau.|MULTI BOOT]] (le démarrage potentiel de plusieurs systèmes d&#039;exploitation sur votre PC), mettre un [[admin-admin_boot-LILO#Password|mot de passe]], [[admin-admin_boot-LILO#Timeout|démarrer automatiquement après un certain temps]], etc... Il faut savoir que LILO fonctionnant à un très bas niveau, il est &amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;spécifique à l&#039;architecture x86&amp;lt;/span&amp;gt; (que pour les PC !, pas les Mac (qui utilisent &amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;yaboot&amp;lt;/span&amp;gt;), pas les Alpha (qui utilisent MILO), etc...).&lt;br /&gt;
&lt;br /&gt;
LILO autorise à [[admin-admin_boot-LILO#Passer des paramètres au noyau Linux.|passer des arguments]] au système d&#039;exploitation que vous souhaitez démarrer (pour modifier son comportement par défaut). Il autorise à [[admin-admin_boot-LILO#VGA|choisir la résolution de démarrage]] du système d&#039;exploitation, etc.&lt;br /&gt;
&lt;br /&gt;
Mais comment ça marche ?&lt;br /&gt;
&lt;br /&gt;
Ce n&#039;est pas très compliqué à comprendre. Lorsque votre PC démarre (ou en tout cas peu après) le BIOS essaie de trouver un système d&#039;exploitation sur l&#039;un des périphériques sur lesquels il est autorisé à démarrer (on dit BOOTER, à ne pas confondre avec il faut bouter l&#039;anglais hors de france...) : en général un disque dur. Pour ce faire il lit ce que l&#039;on appelle le MASTER BOOT RECORD (le secteur de boot maitre... ou secteur de démarrage ou encore [[admin-admin_boot-LILO#LILO et MBR|MBR]] ; c&#039;est le tout premier secteur du périphérique de démarrage, il fait 512 octets de long). &amp;lt;br /&amp;gt; LILO peut jouer le role de MBR mais ce n&#039;est pas obligé, dans le cas du MBR par défaut (celui installé par DOS...), le processus de démarrage recherche une partition marquée comme ACTIVE et lance le programme qui se trouve au debut de la dite partition (dans le secteur de boot de cette partition), LILO peut aussi se trouver à cet endroit, mais aussi le chargeur de NT ou celui de DOS ou celui de n&#039;importe quel système d&#039;exploitation.&lt;br /&gt;
&lt;br /&gt;
Donc, après le chargement du MBR en mémoire, le BIOS lance l&#039;exécution de celui-ci. Le MBR étant très petit (512 octets), cela ne suffit pas pour faire tenir le noyau de Linux (500 Ko mini), ni le chargeur lui-même (la deuxième partie de LILO fait environ 5 Ko). Si le MBR est celui de LILO, il lance la deuxième partie de LILO, sinon, il lance le MBR de LILO qui se trouve sur la partition active. Celui-ci lance à son tour la deuxième partie de LILO. &amp;lt;br /&amp;gt; Bref, nous voilà dans la deuxième partie de LILO. C&#039;est elle qui affiche le prompt &amp;quot;boot:&amp;quot;, le menu de démarrage de LILO, etc. et qui va enfin charger et lancer le noyau de Linux et lui passer la main.&lt;br /&gt;
&lt;br /&gt;
LILO est donc un chargeur de système d&#039;exploitation (dédié surtout à Linux) mais aussi un programme de MASTER BOOT RECORD. C&#039;est aussi le programme &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/sbin/lilo&amp;lt;/span&amp;gt;, qui installe le MBR de LILO.&lt;br /&gt;
&lt;br /&gt;
== Restauration du MBR. ==&lt;br /&gt;
&lt;br /&gt;
Le MBR est donc vital pour le fonctionnement de votre PC. Voyons d&#039;abord comment, en cas ce problème, restaurer le MBR par défaut de votre PC. Il suffit de booter avec une disquette DOS (FreeDOS fait très bien l&#039;affaire) contenant FDISK.EXE. On boote avec cette disquette et à l&#039;invite on tape :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;A:\&amp;gt;FDISK /MBR&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voilà, votre MBR est celui par défaut du DOS.&lt;br /&gt;
&lt;br /&gt;
Ou depuis Linux :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;lilo -U&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Cette commande désinstalle LILO en copiant dans le MBR la copie de sauvegarde que LILO a faite lors de sa &amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;première&amp;lt;/span&amp;gt; installation.&lt;br /&gt;
&lt;br /&gt;
== Un exemple de fichier de configuration de base. ==&lt;br /&gt;
&lt;br /&gt;
Voilà un fichier de configuration de LILO (&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/etc/lilo.conf&amp;lt;/span&amp;gt;) typique :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;boot=/dev/hda &amp;lt;br /&amp;gt; prompt &amp;lt;br /&amp;gt; other=/dev/hda1 &amp;lt;br /&amp;gt;         label=windows &amp;lt;br /&amp;gt;         table=/dev/hda &amp;lt;br /&amp;gt; image=/boot/vmlinuz-2.2.14 &amp;lt;br /&amp;gt;         label=linux &amp;lt;br /&amp;gt;         root=/dev/hda2 &amp;lt;br /&amp;gt;         read-only&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voyons ces premières lignes pour comprendre un peu ce que ça veut dire.&lt;br /&gt;
&lt;br /&gt;
* La première ligne signifie que LILO va être installé sur le disque &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/dev/hda&amp;lt;/span&amp;gt; et comme c&#039;est &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/dev/hda&amp;lt;/span&amp;gt; et non &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/dev/hda&amp;lt;span style=&amp;quot;font-style: italic; font-weight: bold;&amp;quot;&amp;gt;x&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;, LILO jouera la role de [#lilo_mbr MBR].&lt;br /&gt;
* La seconde signifie que LILO autorisera le choix de la partition ou de l&#039;image de démarage.&lt;br /&gt;
* Les trois lignes qui suivent informent LILO qu&#039;un système appelé &amp;quot;windows&amp;quot; (&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;label&amp;lt;/span&amp;gt;) peut etre démarré en lançant le premier secteur de la partition 1 du disque maitre de la première nape IDE (&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/dev/hda1&amp;lt;/span&amp;gt;).&lt;br /&gt;
* les quatre lignes suivantes informent LILO de démarrer le noyau Linux qui se trouve dans &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/boot/vmlinuz-2.2.14&amp;lt;/span&amp;gt; nommé &amp;quot;linux&amp;quot;, la racine (&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;root&amp;lt;/span&amp;gt;) de cette installation (c&#039;est à dire les fichiers de démarrage : les répertoire &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/bin&amp;lt;/span&amp;gt; et &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/sbin&amp;lt;/span&amp;gt; etc...) se trouvent sur &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/dev/hda2&amp;lt;/span&amp;gt;, et il faut que la racine soit (dans un premier temps) montée en lecture seulement (&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;read-only&amp;lt;/span&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Mise en place de LILO. ==&lt;br /&gt;
&lt;br /&gt;
Bon, maintenant que nous avons vu un fichier de configuration (simplissime), il s&#039;agit d&#039;installer LILO. Cela ne peut pas être plus simple, il suffit de taper (en étant root, l&#039;installation d&#039;un nouveau MBR n&#039;est pas à laisser entre toutes les mains) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;[root@xwing home]#&amp;lt;/span&amp;gt; lilo &amp;lt;br /&amp;gt; Added windows * &amp;lt;br /&amp;gt; Added linux&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
LILO nous signale que deux systèmes ont été ajoutés avec succès : &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;windows&amp;lt;/span&amp;gt; qui est le système qui sera booté par défaut (l&#039;astérisque nous le signale) et &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;linux&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;Remarque 1 : (obsolète, conservé pour l&#039;historique) &amp;lt;br /&amp;gt; Vous pouvez, si vous avez un gros disque dur obtenir quelque chose du genre : &amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;[root@xwing home]# lilo &amp;lt;br /&amp;gt; Added windows * &amp;lt;br /&amp;gt; Warning: device 0x0303 exceeds 1024 cylinder limit &amp;lt;br /&amp;gt; Fatal: geo_comp_addr: Cylinder number is too big (1101 &amp;gt; 1023)&amp;lt;/div&amp;gt; Cela signifie que : &lt;br /&gt;
&lt;br /&gt;
# vous devez installer une version récente de LILO (postérieure à 21.4.2) qui supporte de démarrer une image qui se trouve après le 1024&amp;lt;sup&amp;gt;ème&amp;lt;/sup&amp;gt; cylindre.&lt;br /&gt;
# vous devez ajouter la ligne : &amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;lba32&amp;lt;/div&amp;gt; avant la première section &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;image&amp;lt;/span&amp;gt; ou &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;other&amp;lt;/span&amp;gt; du fichier de configuration &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/etc/lilo.conf&amp;lt;/span&amp;gt; pour que LILO puisse activer un noyau linux qui se trouve après le 1024&amp;lt;sup&amp;gt;ème&amp;lt;/sup&amp;gt; cylindre (il faut pour cela que votre BIOS soit relativement récent : postérieur à 1998)&lt;br /&gt;
# ou alors, il faut que vous copiiez votre noyau (/boot/vmlinuz-2.2.14) avant le 1024&amp;lt;sup&amp;gt;ème&amp;lt;/sup&amp;gt; cylindre : par exemple sur le disque windows dans le cas précédent, et que vous montiez CE disque avant de lancer LILO. Cette solution est la seule qui soit à votre disposition si vous installez une distribution depuis un CD qui ne possède pas un LILO à jour (toutes les distributions récentes sont à jour).&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;Remarque 2 : &amp;lt;br /&amp;gt; Vous pouvez lancer LILO autant de fois que vous voulez. En conséquence, au moindre doute sur le fait que votre configuration de LILO soit à jour, n&#039;hésitez jamais à relancer LILO (par exemple si vous utilisez, bien que cela ne soit pas très utilisé sur une partition ext2, un défragmenteur de disque pour Linux, relancez LILO à la fin de son travail car celui-ci aura sans aucun doute modifié la place de vos noyaux).&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ajouter un second noyau. ==&lt;br /&gt;
&lt;br /&gt;
Pour ajouter un second noyau, c&#039;est enfantin, il suffit de recopier la section :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;image=/boot/vmlinuz-2.2.14 &amp;lt;br /&amp;gt;         label=linux &amp;lt;br /&amp;gt;         root=/dev/hda2 &amp;lt;br /&amp;gt;         read-only&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
du fichier /etc/lilo.conf une deuxième fois en faisant en sorte de changer le &amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;label&amp;lt;/span&amp;gt; (évidemment sinon comment voulez vous pouvoir dire à LILO quel noyau vous chargez) et d&#039;adapter le nom du noyau à celui que vous voulez charger.&lt;br /&gt;
&lt;br /&gt;
Si, par exemple, vous désirez tester le tout nouveau noyau vmlinuz-2.4.0 ;-) il suffit de modifier /etc/lilo.conf pour qu&#039;il devienne :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;boot=/dev/hda &amp;lt;br /&amp;gt; prompt &amp;lt;br /&amp;gt; other=/dev/hda1 &amp;lt;br /&amp;gt;         label=windows &amp;lt;br /&amp;gt;         table=/dev/hda &amp;lt;br /&amp;gt; image=/boot/vmlinuz-2.2.14 &amp;lt;br /&amp;gt;         label=linux &amp;lt;br /&amp;gt;         root=/dev/hda2 &amp;lt;br /&amp;gt;         read-only &amp;lt;br /&amp;gt; image=/boot/vmlinuz-2.4.0 &amp;lt;br /&amp;gt;         label=linux24 &amp;lt;br /&amp;gt;         root=/dev/hda2 &amp;lt;br /&amp;gt;         read-only&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et de relancer la commande &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;lilo&amp;lt;/span&amp;gt;. Vous pouver avoir jusqu&#039;a 16 systèmes d&#039;exploitation lancé par lilo.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;Un conseil : n&#039;enlevez &amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;jamais&amp;lt;/span&amp;gt; l&#039;entrée image que votre distribution a installée par défaut, de cette façon, même si vous avez un problème avec un nouveau noyau, rien ne vous empêchera de démarrer avec un ancien noyau dont vous savez qu&#039;il fonctionne parfaitement.&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Les options de lilo.conf. ==&lt;br /&gt;
&lt;br /&gt;
Comment faire pour que LILO s&#039;adapte très précisément à ce que nous voulons ? La réponse : les options de &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;lilo.conf&amp;lt;/span&amp;gt; permettent, sinon de faire tout ce que l&#039;on souhaiterait, du moins de modifier son comportement de manière très précise :&lt;br /&gt;
&lt;br /&gt;
=== Default ===&lt;br /&gt;
&lt;br /&gt;
Vous souhaitez choisir l&#039;image qui sera bootée par défaut par LILO, mais vous ne souhaitez pas devoir modifier l&#039;ordre des section de &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/etc/lilo.conf&amp;lt;/span&amp;gt; ? C&#039;est simple il suffit d&#039;ajouter, avant la première section &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;image&amp;lt;/span&amp;gt; ou &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;other&amp;lt;/span&amp;gt;, une ligne :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;default=&amp;lt;label&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ou &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;label&amp;gt;&amp;lt;/span&amp;gt; est le label d&#039;une section &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;image&amp;lt;/span&amp;gt; ou &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;other&amp;lt;/span&amp;gt; que vous souhaitez booter par défaut.&lt;br /&gt;
&lt;br /&gt;
=== Timeout ===&lt;br /&gt;
&lt;br /&gt;
Si vous souhaitez que LILO démarre automatiquement (sans confirmation) au bout de 2,5 secondes, c&#039;est très simple précisez, avant la première section &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;image&amp;lt;/span&amp;gt; ou &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;other&amp;lt;/span&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;timeout=&amp;lt;valeur&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ou &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;valeur&amp;gt;&amp;lt;/span&amp;gt; est le nombre de &amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;millisecondes&amp;lt;/span&amp;gt; après lequel LILO doit démarrer automatiquement.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;Si vous mettez 0 comme &amp;lt;code&amp;gt;timeout&amp;lt;/code&amp;gt;, vous ne pourrez alors plus modifier la ligne de commande du kernel et ainsi empêcher de modifier (par exemple) la variable &amp;lt;code&amp;gt;init&amp;lt;/code&amp;gt;. &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VGA ===&lt;br /&gt;
&lt;br /&gt;
Vous aimeriez que Linux démarre automatiquement avec une résolution différente des 80x25 habituels car cela vous ennuie d&#039;avoir un écran de 21 pouces, mais d&#039;être incapable de lire les messages du noyau ? Utilisez l&#039;option &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;vga&amp;lt;/span&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;vga=extended&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ou :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;vga=ext&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pour utilisez le mode 80x50,&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;vga=ask&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pour que LILO vous demande au démarage de choisir la résolution&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;vga=&amp;lt;nombre&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pour utiliser le mode &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nombre&amp;gt;&amp;lt;/span&amp;gt; pour résolution. (Utilisez &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;vga=ask avant pour savoir quels sont les modes disponibles...) &amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vous pouvez utiliser une option &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;vga&amp;lt;/span&amp;gt; différente pour chaque section image, ou une seule globale.&lt;br /&gt;
&lt;br /&gt;
Voici une liste de mode courant que vous pourrez utiliser :&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot;&lt;br /&gt;
| &amp;lt;br /&amp;gt;&lt;br /&gt;
! 640x480&lt;br /&gt;
! 800x600&lt;br /&gt;
! 1024x768&lt;br /&gt;
! 1280x1024&lt;br /&gt;
|-&lt;br /&gt;
| 8 bits&lt;br /&gt;
| vga=769&lt;br /&gt;
| vga=771&lt;br /&gt;
| vga=773&lt;br /&gt;
| vga=775&lt;br /&gt;
|-&lt;br /&gt;
| 16 bits&lt;br /&gt;
| vga=785&lt;br /&gt;
| vga=788&lt;br /&gt;
| vga=791&lt;br /&gt;
| vga=794&lt;br /&gt;
|-&lt;br /&gt;
| 32 bits&lt;br /&gt;
| vga=786&lt;br /&gt;
| vga=789&lt;br /&gt;
| vga=792&lt;br /&gt;
| vga=795&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Merci à Ovh du forum&lt;br /&gt;
&lt;br /&gt;
=== Message ===&lt;br /&gt;
&lt;br /&gt;
Vous trouvez que l&#039;invite de LILO est pour le moins spartiate ? Utilisez l&#039;option message :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;message=&amp;lt;nom-de-fichier-complet&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ou &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nom-de-fichier-complet&amp;gt;&amp;lt;/span&amp;gt; est un fichier texte pur (sans rien d&#039;autre) qui devra servir d&#039;invite.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;Note : l&#039;invite habituelle &amp;quot;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;boot :&amp;lt;/span&amp;gt;&amp;quot;  apparaîtra juste après le dernier caractère de votre fichier.&amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;Note : voir &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;[#bonus lilomsg.pl]&amp;lt;/span&amp;gt;.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Password ===&lt;br /&gt;
&lt;br /&gt;
C&#039;est bien joli, de pouvoir démarrer 16 noyaux différents, mais certains d&#039;entre-eux ne doivent pas être démarrés sans la présence de l&#039;administrateur ? Qu&#039;à cela ne tienne, vous n&#039;avez qu&#039;à mettre un mot de passe !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;password=&amp;lt;mot-de-passe&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ou &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;mot-de-passe&amp;gt;&amp;lt;/span&amp;gt; est un mot de passe en clair et tenant compte des différences majuscule/minuscule. Comme le mot de passe est en clair dans le fichier de configuration de LILO &amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;il faut que &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/etc/lilo.conf&amp;lt;/span&amp;gt; ne soit lisible que par l&#039;administrateur.&amp;lt;/span&amp;gt; Ce qui n&#039;est pas le cas par défaut. &amp;lt;br /&amp;gt; Dans ce cas, n&#039;oubliez donc pas de faire un :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;[root@xwing home]#&amp;lt;/span&amp;gt; chown root:root /etc/lilo.conf &amp;lt;br /&amp;gt;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;[root@xwing home]#&amp;lt;/span&amp;gt; chmod 600 /etc/lilo.conf&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== compact ===&lt;br /&gt;
&lt;br /&gt;
Si lors du chargement de lilo vous observez un certain temps de latence avant d&#039;accéder au démarrage du système, cette option est faite pour vous ! Elle permet de réduire considérablement le temps lors de cette étape du boot, au moment du chargement du kernel. Attention : testez-en le bon fonctionnement au préalable, tous les bios ne supportent pas cette option.&lt;br /&gt;
&lt;br /&gt;
Elle est à ajouter dans la section principale de lilo.conf :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;compact&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Configuration avancée. ==&lt;br /&gt;
&lt;br /&gt;
=== LILO et MBR ===&lt;br /&gt;
&lt;br /&gt;
Nous avons vu que l&#039;option &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;install&amp;lt;/span&amp;gt; de &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/etc/lilo.conf&amp;lt;/span&amp;gt; permet de choisir sur quel disque LILO doit être installé en tant que MASTER BOOT RECORD, mais cette option ne sert pas qu&#039;à cela. On peut avec cette option faire en sorte que LILO ne touche pas à notre MBR (soit parce qu&#039;on ne lui fait pas confiance, soit parce que LILO n&#039;est pas capable de démarrer correctement tel ou tel système d&#039;exploitation - je crois savoir que c&#039;est le cas de OS/2 pour certaines versions. Dans ce cas on ne va pas préciser un disque comme &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/dev/hda&amp;lt;/span&amp;gt; comme option install, mais plutôt une partition comme &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/dev/hda2&amp;lt;/span&amp;gt; ! Bien sur pour que le MBR original puisse démarrer sur cette partition, celle-ci doit être marquée active par &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;fdisk&amp;lt;/span&amp;gt; !&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemple&amp;lt;/u&amp;gt; : supposons que vous ayez Windows sur la partition &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/dev/hda1&amp;lt;/span&amp;gt; et la racine de votre installation Linux sur &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/dev/hda2&amp;lt;/span&amp;gt;. Vous avez deux solutions pour le multiboot : soit vous laissez le MBR par défaut (option la moins dangeureuse pour Windows), soit vous installez LILO en tant que MBR.&lt;br /&gt;
&lt;br /&gt;
Si vous choisissez de ne pas installez LILO comme MBR, la  directive install est :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;install=/dev/hda2&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et vous devez marquer comme active cette partition avec &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;fdisk&amp;lt;/span&amp;gt;. Pour changer de système actif au boot vous devez utiliser &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;fdisk&amp;lt;/span&amp;gt;, ou mettre une clause &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;other&amp;lt;/span&amp;gt; pour démarrer Windows sur &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/dev/hda1&amp;lt;/span&amp;gt; et laisser &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/dev/hda2&amp;lt;/span&amp;gt; active (je vous recommande cette dernière option, qui fonctionne dès que votre racine Linux n&#039;est pas sur une partition étendue).&lt;br /&gt;
&lt;br /&gt;
Si vous choisissez d&#039;installez LILO comme MBR, la directive install devient :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;install=/dev/hda&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
(notez l&#039;absence de numéro dans &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/dev/hda&amp;lt;/span&amp;gt;, cela signifie que l&#039;on désigne un disque et non plus une partition particulière). Si vous souhaitez booter Windows il faut ajouter une clause &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;other&amp;lt;/span&amp;gt; dans &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/etc/lilo.conf&amp;lt;/span&amp;gt; et relancer LILO.&lt;br /&gt;
&lt;br /&gt;
=== Disque virtuel initial (INITial Ram Disk : initrd) ===&lt;br /&gt;
&lt;br /&gt;
Vous avez sans doute remarqué que votre distribution utilise un fichier en complément du noyau, fichier nommé &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;initrd&amp;lt;/span&amp;gt;. Ce fichier est en fait &amp;quot;une image de disque&amp;quot; contenant le plus souvent les modules que vous souhaitez rendre utilisable dès le démarrage de votre noyau (avant le montage de la racine) par exemple parce que vous utilisez un disque dur SCSI dont le driver n&#039;est disponible qu&#039;en module, ou bien vous avez mis le support IDE ou &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ext2&amp;lt;/span&amp;gt; en module, ou toute autre raison qui vous est personnelle. Pour cela il faut savoir créer un tel fichier &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;initrd&amp;lt;/span&amp;gt;. C&#039;est très simple : supposons que vous ayez compilé un noyau 2.2.15 et que les modules soient installés (ce sera le cas par défaut) dans &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/lib/modules/2.2.15&amp;lt;/span&amp;gt; la commande à lancer pour créer un tel disque virtuel initial est :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;mkinitrd /boot/initrd-2.2.15.img 2.2.15&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et c&#039;est tout. Maintenant vous avez dans &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/boot&amp;lt;/span&amp;gt; un fichier nommé &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;initrd-2.2.15.img&amp;lt;/span&amp;gt; qui contient tous les modules de &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/lib/modules/2.2.15&amp;lt;/span&amp;gt; (en fait même l&#039;arborescence est conservée). Comment dire à LILO (c&#039;est ce qui nous intéresse ici) de charger cet initrd ? C&#039;est encore très simple, il suffit d&#039;ajouter la ligne :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;initrd=/boot/initrd-2.2.15.img&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
à &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/etc/lilo.conf&amp;lt;/span&amp;gt; dans la section &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;image&amp;lt;/span&amp;gt; correspondante (celle qui charge ce noyau 2.2.15). N&#039;oubliez pas de relancer la commande &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;lilo&amp;lt;/span&amp;gt; après cette modification.&lt;br /&gt;
&lt;br /&gt;
=== Passer des paramètres au noyau Linux. ===&lt;br /&gt;
&lt;br /&gt;
Il peut être intéressant, voire vital, de passer des paramètres au noyau de Linux pour modifier son comportement par défaut. Pour cela vous avez deux solutions :&lt;br /&gt;
&lt;br /&gt;
==== Par la ligne de commande de LILO ====&lt;br /&gt;
&lt;br /&gt;
Au moment du démarrage de LILO vous avez dû remarquer l&#039;invite : &amp;quot;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;boot :&amp;lt;/span&amp;gt;&amp;quot; , c&#039;est en fait une invite pour choisir quelle section de &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/etc/lilo.conf&amp;lt;/span&amp;gt; démarrer. Mais c&#039;est aussi une invite pour passer des paramètres au noyau. Supposons (voir le [http://www.freenix.org/unix/linux/HOWTO/BootPrompt-HOWTO.html BootPrompt-HOWTO]) que vous désiriez passer au noyau &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;linux2214&amp;lt;/span&amp;gt; le paramètre &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;ram=128&amp;lt;/span&amp;gt; (en vue de signifier au noyau que vous avez 128Mo de Ram), alors à l&#039;invite il faut taper :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;boot: &amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;linux2214 ram=128&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et voilà, ce n&#039;est pas la mer à boire. &amp;lt;br /&amp;gt; De même, si vous voulez démarrer en mode texte (runlevel 3), parce que X est momentanément hors service par exemple, tapez :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;boot: &amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;linux2214 3&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Dans &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/etc/lilo.conf&amp;lt;/span&amp;gt; ====&lt;br /&gt;
&lt;br /&gt;
On peut aussi faire en sorte qu&#039;une image soit toujours chargée avec les mêmes paramètres passés au noyau sans être obligé de les taper à chaque fois. C&#039;est simple il faut les préciser au paramétre &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;append&amp;lt;/span&amp;gt;, par exemple ajoutez la ligne suivante comme option d&#039;une image particulière :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;append=&amp;quot;3&amp;quot;&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
pour forcer cette image à démarrer en mode texte plutot qu&#039;en mode graphique.&lt;br /&gt;
&lt;br /&gt;
=== Clavier AZERTY. ===&lt;br /&gt;
&lt;br /&gt;
C&#039;est bien de pouvoir choisir l&#039;image au démarage, mais si vous avez mis windows comme label pour l&#039;une d&#039;elle, vous avez dû remarquer que vous êtes obligés de taper zindozs pour la sélectionner ! C&#039;est pénible ! La solution est simple c&#039;est le paramètre &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;keytable&amp;lt;/span&amp;gt; qui permet de choisir une table de translation des touches tapées.&lt;br /&gt;
&lt;br /&gt;
# il faut générer cette table par la commande : &amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;keytab-lilo.pl&amp;lt;/span&amp;gt; /usr/lib/kbd/keymaps/i386/qwerty/&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;us&amp;lt;/span&amp;gt;.kmap.gz \ &amp;lt;br /&amp;gt;     /usr/lib/kbd/keymaps/i386/azerty/&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;fr-latin1&amp;lt;/span&amp;gt;.kmap.gz \ &amp;lt;br /&amp;gt;     &amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;&amp;gt; /boot/fr-latin1.ktl&amp;lt;/span&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;br /&amp;gt; (normalement il devrait suffir de passer seulement fr-latin1 au script mais chez moi ça ne marche pas à cause de la compression de ces tables avec la Mandrake) qui génère les conversions du clavier &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;fr-latin1&amp;lt;/span&amp;gt; vers &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;us&amp;lt;/span&amp;gt; et stocke la table dans &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/boot/fr-latin1.klt&amp;lt;/span&amp;gt;.&lt;br /&gt;
# il faut ajouter la ligne suivant à &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/etc/lilo.conf&amp;lt;/span&amp;gt; : &amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;span style=&amp;quot;font-weight: bold;&amp;quot;&amp;gt;keytable&amp;lt;/span&amp;gt; /boot/fr-latin1.ktl&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
puis n&#039;oubliez pas de relancer LILO.&lt;br /&gt;
&lt;br /&gt;
=== Rebooter une configuration spécifique. ===&lt;br /&gt;
&lt;br /&gt;
Si (et seulement si !) vous avez utilisé un timeout de 0, vous vous demandez sans doute comment rebooter sous (horreur!) windows, c&#039;est simple, tapez :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;lilo -R windows &amp;lt;br /&amp;gt; reboot&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
et c&#039;est tout ! Ceci permet par exemple de ne pas autoriser de choix au boot de LILO, mais uniquement après, pour bénéficier de la sécurité de Linux (n&#039;oubliez pas dans ce cas de supprimer les lecteurs de disquette et de CDROM de votre PC ;). &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Annexes. ==&lt;br /&gt;
&lt;br /&gt;
=== Numérotation des disques avec LILO et Linux. ===&lt;br /&gt;
&lt;br /&gt;
Avec Linux (et LILO) les disques ne sont pas repérés par une lettre (i.e. C: , D: etc...) mais par un nom. Ces noms reflètent très exactement votre configuration. Les disques qui sont branchés sur une nappe IDE (ou ATA, Ultra ATA etc...) sont numérotés de la manière suivante :&lt;br /&gt;
&lt;br /&gt;
# le disque maître de la nappe 1 est nommé : &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/dev/hda&amp;lt;/span&amp;gt;&lt;br /&gt;
# le disque esclave de la nappe 1 est nommé : &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/dev/hdb&amp;lt;/span&amp;gt;&lt;br /&gt;
# le disque maître de la nappe 2 est nommé : &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/dev/hdc&amp;lt;/span&amp;gt;&lt;br /&gt;
# le disque esclave de la nappe 2 est nommé : &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/dev/hdd&amp;lt;/span&amp;gt;&lt;br /&gt;
# etc... pour les nappes IDE suivantes.&lt;br /&gt;
&lt;br /&gt;
Pour les disques SCSI le principe est le même, sauf que là, il n&#039;y a pas désignation de maître ou d&#039;esclave, donc :&lt;br /&gt;
&lt;br /&gt;
# le premier disque SCSI du premier controleur scsi est : &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/dev/sda&amp;lt;/span&amp;gt;&lt;br /&gt;
# le second disque SCSI du premier controleur (ou le premier disque du second contrôleur s&#039;il n&#039;y a qu&#039;un disque sur le premier contrôleur) est : &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/dev/sdb&amp;lt;/span&amp;gt;&lt;br /&gt;
# etc... pour les disques suivants.&lt;br /&gt;
&lt;br /&gt;
Pour les autres types de disque, le principe est le même.&lt;br /&gt;
&lt;br /&gt;
Le système de partitionnement retenu n&#039;autorise que 4 partitions principales (a priori ce sont les seules bootables avec le MBR par défaut) dont l&#039;une peut être une partition dite étendue qui peut contenir des partitions secondaires. Au maximun vous pouvez avoir 16 partitions sur un disque IDE et 7 sur un disque SCSI. Les quatre partitions principales (que les quatre soient là ou pas) se nomment : /dev/$$$1 /dev/$$$2 /dev/$$$3 et /dev/$$$4 où $$$ est le nom du disque sur lequel se trouve la partition. Les partitions secondaires sont numérotées à partir de 5 de la même façon.&lt;br /&gt;
&lt;br /&gt;
=== Numérotation des disques avec LILO et Linux (version devfs). ===&lt;br /&gt;
&lt;br /&gt;
A partir des noyaux 2.4.x, linux peut utiliser &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;devfs&amp;lt;/span&amp;gt; (ce qui limite le nombre d&#039;entrées dans &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/dev&amp;lt;/span&amp;gt;). Le problème, c&#039;est qu&#039;alors la numérotation des disques change (même si un systéme de compatibilité est parfois présent sur les distributions).&lt;br /&gt;
&lt;br /&gt;
Les disques scsi sont dans &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/dev/scsi&amp;lt;/span&amp;gt; et les disques ide(ou atapi) sont dans &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/dev/ide&amp;lt;/span&amp;gt;. Ce sont (lorsque qu&#039;ils sont présents) tous les deux des répertoires. Chacun de ces répertoires contient un sous répertoire par controleur de ce type, numéroté : &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;host0&amp;lt;/span&amp;gt;, &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;host1&amp;lt;/span&amp;gt;, ... &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;host&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;n&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;. En général vous ne possédez qu&#039;un seul controleur de chaque type (si vous avez les deux types...), et donc chacun de ces répertoire ne contient qu&#039;un seul répertoire &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;host0&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Chaque répertoire &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/dev/(ide|scsi)/host&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;n&amp;lt;/span&amp;gt;/&amp;lt;/span&amp;gt;, contient une ou plusieurs entrées (qui sont des répertoires) : &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;bus&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;n&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;. Chaque entrée correspond à un &amp;quot;canal&amp;quot; de communication (pour les périphériques ide, elles correspondent soit au controleur primaire (bus0) soit au controleur secondaire (bus1); pour les périphériques scsi chaque bus correspond à un canal (chanel) scsi), en général vous aurez l&#039;arboressence suivante :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;+/dev&amp;lt;br /&amp;gt; +-+ ide/&amp;lt;br /&amp;gt; | +-+ host0/&amp;lt;br /&amp;gt; | +-+ bus0/ (controleur ide primaire)&amp;lt;br /&amp;gt; | | +-+ ...&amp;lt;br /&amp;gt; | +-+ bus1/ (controleur ide secondaire)&amp;lt;br /&amp;gt; | +-+ ...&amp;lt;br /&amp;gt; +-+ scsi/&amp;lt;br /&amp;gt; +-+ host0/&amp;lt;br /&amp;gt; +-+ bus0/ (premier controleur scsi, premier canal&amp;lt;br /&amp;gt; +-+ ...&amp;lt;br /&amp;gt; &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Chacun des &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;bus&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;n&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; contient la liste des périphériques (disque dur, cdrom, graveur, zip, etc...). Chaque disque est numéroté : &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;target&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;n&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt;, en commençant par &amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;n&amp;lt;/span&amp;gt; = 0. Par exemple, le disque esclave (target1) sur la première nappe ide (bus0) du premier contrôleur ide (host0) s&#039;appelle : &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/dev/ide/host0/bus0/target1/&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Chaque périphérique peut contenir plusieurs disques (par exemple un jukebox peut contenir 5 cdroms), ils sont repérés par un &amp;quot;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;lun&amp;lt;/span&amp;gt;&amp;quot; différent, pour un disque dur, on aura donc toujours &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;lun0&amp;lt;/span&amp;gt;, et ce sera presque toujours le cas pour les autres types de périphérique. Donc, dans l&#039;exemple précédant, on accédera au disque par : &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/dev/ide/host0/bus0/target1/lun0&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pour les disques durs, chaque &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;lun&amp;lt;/span&amp;gt; contient un fichier nommé &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;disc&amp;lt;/span&amp;gt; (vers lequel un lien est mis dans /dev/discs) qui correspond au périphérique lui-même, et un fichier &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;part&amp;lt;span style=&amp;quot;font-style: italic;&amp;quot;&amp;gt;n&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; par partition de ce disque. Donc, dans l&#039;exemple précédant, le disque lui-même s&#039;appelle : &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/dev/ide/host0/bus0/target1disc/&amp;lt;/span&amp;gt;, et la première partition s&#039;appelle : &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/dev/ide/host0/bus0/target1/part1&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Pour les cdrom, le &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;lun&amp;lt;/span&amp;gt; contient un unique fichier nommé &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;cd&amp;lt;/span&amp;gt;, un cdrom s&#039;appellera par exemple &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/dev/ide/host0/bus1/target1/lun0/cd&amp;lt;/span&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
=== Mieux vaut prévenir que guérir. ===&lt;br /&gt;
&lt;br /&gt;
Pour être sûr de pouvoir toujours booter Linux (même après une corruption de votre MBR), je vous conseille de copier votre dernier noyau à jour ainsi que l&#039;initrd correspondant dans un répertoire de votre partition Windows (si vous en avez une &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;nowiki&amp;gt;;)&amp;lt;/nowiki&amp;gt;&amp;lt;/span&amp;gt;. ainsi que loadlin.exe. Ainsi en cas de problème, vous pouvez booter sur votre partition Windows et lancer votre Linux par :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;C:\LINUX&amp;gt; loadlin vmlinuz-2.2.15 root=/dev/hda2 initrd=initrd-2.2.15.img&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pensez aussi à vous créer un disquette de boot contenant le noyau par :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;[root@becane boot]# dd if=vmlinuz-2.2.15 of=/dev/fd0 bs=1k&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Attention cette façon de faire permet juste de booter si le reste du système n&#039;est pas planté ! Car cette disquette de boot ne contient pas de système de fichier, seulement un noyau qui suppose que la racine est votre installation de Linux, elle ne fonctionnera pas forcément sur une autre machine. Pour ce qui est des disquettes de secours contenant de quoi remettre votre système en ordre, je vous conseille de voir du côté de :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;blockquote&amp;gt;[http://www.toms.net/rb/home.html tomsrtbt] : une distribution linux contenant un maximun d&#039;utilitaires pour réparer une installation qui a planté. &amp;lt;br /&amp;gt;[http://sunsite.auc.dk/mulinux/ muLinux] : une autre distribution Linux minimale tenant sur une disquette.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il y en a beaucoup d&#039;autres (chacune remplissant une fonctionnalité particulière).&lt;br /&gt;
&lt;br /&gt;
=== Plusieurs Linux ===&lt;br /&gt;
&lt;br /&gt;
Pour installer plusieurs distributions Linux et proposer le choix au démarrage de LILO, c&#039;est assez technique. Je vais exposer un cas particulier. La configuration est la suivante :&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;/dev/hda1&amp;lt;/code&amp;gt; : un premier linux, on va dire une Mandrake, monté sur la Mandrake sur /, et sur la Gentoo sur /mnt/mdk.&lt;br /&gt;
* &amp;lt;code&amp;gt;/dev/hda2&amp;lt;/code&amp;gt; : un second linux, on va dire une Gentoo, monté sur la Gentoo sur /, et sur la Mandrake sur /mnt/gentoo.&lt;br /&gt;
&lt;br /&gt;
J&#039;ai donc deux /etc/fstab : un dans /dev/hda1 et un dans /dev/hda2. Depuis la Mandrake, ils s&#039;appellent respectivement : /etc/fstab et /mnt/gentoo/etc/fstab. Depuis la Gentoo, ils s&#039;appellent respectivement : /mnt/mdk/etc/fstab et /etc/fstab.&lt;br /&gt;
&lt;br /&gt;
J&#039;ai aussi deux kernels Linux : un pour la Mandrake (depuis la Mandrake:/boot/vmlinuz-2.4.18-6mdk ou depuis la Gentoo:/mnt/mandrake/boot/vmlinuz-2.4.18-6mdk), et un pour la Gentoo (depuis la Mandrake:/mnt/gentoo/vmlinuz-2.4.18 ou depuis la Gentoo:/boot/vmlinuz-2.4.18)&lt;br /&gt;
&lt;br /&gt;
De la même façon j&#039;ai deux /etc/lilo.conf. Il convient de les synchroniser. C&#039;est à dire de mettre les mêmes sections &amp;quot;image&amp;quot; dans les deux.&lt;br /&gt;
&lt;br /&gt;
Voici le /etc/lilo.conf de la Mandrake (ie: /etc/lilo.conf depuis la Mandrake, /mnt/mdk/etc/lilo.conf depuis la Gentoo) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt; boot=/dev/hda&amp;lt;br /&amp;gt; prompt&amp;lt;br /&amp;gt; image=/boot/vmlinuz-2.2.18-6mdk&amp;lt;br /&amp;gt; label=mandrake&amp;lt;br /&amp;gt; root=/dev/hda1&amp;lt;br /&amp;gt; read-only&amp;lt;br /&amp;gt; image=/mnt/gentoo/boot/vmlinuz-2.4.0&amp;lt;br /&amp;gt; label=gentoo&amp;lt;br /&amp;gt; root=/dev/hda2&amp;lt;br /&amp;gt; read-only &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici le /etc/lilo.conf de la Gentoo (ie: /mnt/gentoo/etc/lilo.conf depuis la Mandrake, /etc/lilo.conf depuis la Gentoo) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt; boot=/dev/hda&amp;lt;br /&amp;gt; prompt&amp;lt;br /&amp;gt; image=/mnt/mdk/boot/vmlinuz-2.2.18-6mdk&amp;lt;br /&amp;gt; label=mandrake&amp;lt;br /&amp;gt; root=/dev/hda1&amp;lt;br /&amp;gt; read-only&amp;lt;br /&amp;gt; image=/boot/vmlinuz-2.4.0&amp;lt;br /&amp;gt; label=gentoo&amp;lt;br /&amp;gt; root=/dev/hda2&amp;lt;br /&amp;gt; read-only &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Maintenant en tapant &amp;lt;code&amp;gt;lilo&amp;lt;/code&amp;gt; depuis l&#039;une ou l&#039;autre des deux distributions vous installez le lilo de cette distribution mais qui tient compte de l&#039;autre.&lt;br /&gt;
&lt;br /&gt;
Le procédé est le même pour installer plus deux deux Linux.&lt;br /&gt;
&lt;br /&gt;
On peut même activer le lilo de la Mandrake depuis la Gentoo, en utilisant &amp;lt;code&amp;gt;chroot&amp;lt;/code&amp;gt; :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt; [root@gentoo ~] # chroot /mnt/mdk&amp;lt;br /&amp;gt; [root@gentoo /] # lilo&amp;lt;br /&amp;gt; Added mandrake *&amp;lt;br /&amp;gt; Added gentoo&amp;lt;br /&amp;gt; [root@gentoo /] # exit&amp;lt;br /&amp;gt; [root@gentoo ~] # _&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bien sûr, on peut procéder de même pour installer le Lilo de la Gentoo depuis la Mandrake.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot; style=&amp;quot;font-size: 8px;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Bonus : &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;lilomsg.pl&amp;lt;/span&amp;gt; (obsolète). ==&lt;br /&gt;
&lt;br /&gt;
Cette section est maintenant largement obsolète, car les distributions modernes ont de très jolis menus de démarrage, souvent graphiques. Mais comme elle a une portée pédagogique, elle est conservée.&lt;br /&gt;
&lt;br /&gt;
Voici en bonus un script qui lit les fichiers &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/etc/lilo.conf&amp;lt;/span&amp;gt; et &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/boot/message.modele&amp;lt;/span&amp;gt; et génère un fichier &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/boot/message&amp;lt;/span&amp;gt; (que vous pouvez ajouter à LILO via l&#039;option &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;message=/boot/message&amp;lt;/span&amp;gt;). L&#039;idée est la suivante : l&#039;invite de LILO n&#039;est pas très sympatique car elle ne précise pas les images bootables via lilo (à moins de presser pas la touche de tabulation). Le script suivant permet celà.&lt;br /&gt;
&lt;br /&gt;
=== Le script. ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt; #!/usr/bin/perl &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# utilisation : lilomsg.pl &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; # &amp;lt;br /&amp;gt; # lit les fichiers /etc/lilo.conf et /boot/message.modele pour &amp;lt;br /&amp;gt; # créer un fichier /etc/message en vue de l&#039;utiliser depuis la &amp;lt;br /&amp;gt; # commande message=/boot/message de lilo&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# dans le fichier /boot/message.modele on peut trouver les &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; # commandes suivantes (le caractère &amp;quot;$&amp;quot; est significatif) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# $iftimeout{chaine de caractère} : &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; # la &amp;quot;chaine de caractère&amp;quot; ne sera affichée que s&#039;il existe &amp;lt;br /&amp;gt; # un timeout dans /etc/lilo.conf&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# $timeout : &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; # la valeur du timeout de /etc/lilo.conf en secondes &amp;lt;br /&amp;gt; # (dans /etc/lilo.conf elle est en milisecondes)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# $config : &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; # les entrées (label) triées de /etc/lilo.conf &amp;lt;br /&amp;gt; # ce qui se trouve avant et après $config sur la ligne est &amp;lt;br /&amp;gt; # recopié pour chaque entrée à la meme place, cela permet d&#039;avoir &amp;lt;br /&amp;gt; # des &amp;quot;puces&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# $border{$type chaine de caractère} &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; # la &amp;quot;chaine de caractère&amp;quot; est affichée avec une bordure autour &amp;lt;br /&amp;gt; # d&#039;elle. $type est soit : $0, $1, $2 ... $7 ou rien &amp;lt;br /&amp;gt; # &amp;lt;br /&amp;gt; # $0 : bordure simple &amp;lt;br /&amp;gt; # $1 : bordure double &amp;lt;br /&amp;gt; # $2 : bordure horizontale double, verticale simple &amp;lt;br /&amp;gt; # $3 : bordure horizontale simple, verticale double &amp;lt;br /&amp;gt; # $4 : bordure simple, double en bas &amp;lt;br /&amp;gt; # $5 : bordure simple, double en haut &amp;lt;br /&amp;gt; # $6 : bordure simple, double à gauche &amp;lt;br /&amp;gt; # $7 : bordure simple, double à droite&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# attention, il faut modifier le source pour pourvoir ajouter des &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; # types $10, etc... &amp;lt;br /&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# bugs connus : &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#  avec $border : il ne peut y avoir qu&#039;une seule bordure par &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; #    ligne ! les autres sont tout bonnement ignorées.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;#  dans toutes les options il est impossible de passer un &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; #  caractère &amp;quot;}&amp;quot; car ce caractère détermine la fin des options &amp;lt;br /&amp;gt;   &amp;lt;br /&amp;gt;  &lt;br /&gt;
&lt;br /&gt;
open(LILO,&amp;quot;/etc/lilo.conf&amp;quot;) ; &amp;lt;br /&amp;gt; open(MODELE,&amp;quot;/boot/message.modele&amp;quot;) ; &amp;lt;br /&amp;gt; open(MESSAGE,&amp;quot;&amp;gt;/boot/message&amp;quot;) ;&lt;br /&gt;
&lt;br /&gt;
$default = &amp;quot;&amp;quot; ;&lt;br /&gt;
&lt;br /&gt;
@configs =() ;&lt;br /&gt;
&lt;br /&gt;
$timeout = &amp;quot;&amp;quot; ;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# codes ascii (inaffichables sous linux...) semi graphique &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
@cadre = qw(218 196 191 179 179 192 196 217 &amp;lt;br /&amp;gt;             201 205 187 186 186 200 205 188 &amp;lt;br /&amp;gt;             213 205 184 179 179 212 205 190 &amp;lt;br /&amp;gt;             214 196 183 186 186 211 196 189 &amp;lt;br /&amp;gt;             218 196 191 179 179 212 205 190 &amp;lt;br /&amp;gt;             213 205 184 179 179 192 196 217 &amp;lt;br /&amp;gt;             214 196 191 186 179 211 196 217 &amp;lt;br /&amp;gt;             218 196 183 179 186 192 196 189 &amp;lt;br /&amp;gt; ) ;&lt;br /&gt;
&lt;br /&gt;
sub draw_cadre { &amp;lt;br /&amp;gt;     local ($start,$msg,$type,$len1,$len2) = @_ ;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# affiche la chaine $msg dans un cadre en commençant après &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; # la chaine $start&lt;br /&gt;
&lt;br /&gt;
    $len1 = length($start) ; &amp;lt;br /&amp;gt;     $len2 = length($msg) ;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# utilisation de l&#039;opérateur x : multiplication d&#039;une chaine &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; # par un scalaire : c&#039;est à dire répétition !&lt;br /&gt;
&lt;br /&gt;
    print MESSAGE $start.chr($cadre[$type+0]). &amp;lt;br /&amp;gt;         (chr($cadre[$type+1]) x $len2). &amp;lt;br /&amp;gt;         chr($cadre[$type+2]).&amp;quot;\n&amp;quot; ; &amp;lt;br /&amp;gt;     print MESSAGE (&amp;quot; &amp;quot; x $len1).chr($cadre[$type+3]). &amp;lt;br /&amp;gt;         $msg.chr($cadre[$type+4]).&amp;quot;\n&amp;quot; ; &amp;lt;br /&amp;gt;     print MESSAGE (&amp;quot; &amp;quot; x $len1).chr($cadre[$type+5]). &amp;lt;br /&amp;gt;         (chr($cadre[$type+6]) x $len2).chr($cadre[$type+7]) ; &amp;lt;br /&amp;gt; }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# on récupère les entrées de /etc/lilo.conf &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; #  le timeout &amp;lt;br /&amp;gt; #  les labels &amp;lt;br /&amp;gt; #  le label par défaut&lt;br /&gt;
&lt;br /&gt;
while (&amp;lt;LILO&amp;gt;) { &amp;lt;br /&amp;gt;     if (/timeout\s*=\s*(.*)/) { &amp;lt;br /&amp;gt;         $timeout=$1/10 ; &amp;lt;br /&amp;gt;     } &amp;lt;br /&amp;gt;     if (/label\s*=\s*(.*)/) { &amp;lt;br /&amp;gt;         if ($default eq &amp;quot;&amp;quot;) { &amp;lt;br /&amp;gt;             $default = $1 ; &amp;lt;br /&amp;gt;         } &amp;lt;br /&amp;gt;         push(@configs,$1) ; &amp;lt;br /&amp;gt;     } &amp;lt;br /&amp;gt;     if (/default\s*=\s*(.*)/) { &amp;lt;br /&amp;gt;         $default = $1 ; &amp;lt;br /&amp;gt;     } &amp;lt;br /&amp;gt; }&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# on parse /boot/message.modele à la recherche de quelques &amp;lt;/nowiki&amp;gt;&amp;lt;br /&amp;gt; # mots clefs : &amp;lt;br /&amp;gt; #  $iftimeout{} &amp;lt;br /&amp;gt; #  $timeout &amp;lt;br /&amp;gt; #  $configs &amp;lt;br /&amp;gt; #  $default &amp;lt;br /&amp;gt; #  $border{}&lt;br /&gt;
&lt;br /&gt;
while ($line = &amp;lt;MODELE&amp;gt;) { &amp;lt;br /&amp;gt;     $line =~ s/\$default/$default/g ; &amp;lt;br /&amp;gt;     $line =~ s/\$timeout/$timeout/g ; &amp;lt;br /&amp;gt;     if ($timeout eq &amp;quot;&amp;quot;) { &amp;lt;br /&amp;gt;         $line =~ s/\$iftimeout\{.*?\}//g ; &amp;lt;br /&amp;gt;     } else { &amp;lt;br /&amp;gt;         $line =~ s/\$iftimeout\{(.*?)\}/$1/g ; &amp;lt;br /&amp;gt;     } &amp;lt;br /&amp;gt;     if ($line =~ /\$configs/) { &amp;lt;br /&amp;gt;         $start =  $` ; &amp;lt;br /&amp;gt;         $end = $&#039; ; &amp;lt;br /&amp;gt;         foreach (sort @configs) { &amp;lt;br /&amp;gt;             print MESSAGE &amp;quot;$start$_$end&amp;quot; ; &amp;lt;br /&amp;gt;         } &amp;lt;br /&amp;gt;     } else { &amp;lt;br /&amp;gt;         if ($line =~ /\$border\{(.*)\}/) { &amp;lt;br /&amp;gt;             $start = $` ; &amp;lt;br /&amp;gt;             $end = $&#039; ; &amp;lt;br /&amp;gt;             $msg = $1 ; &amp;lt;br /&amp;gt;             if ($msg =~ /^\$(\d)/) { &amp;lt;br /&amp;gt;                 $msg = $&#039; ; &amp;lt;br /&amp;gt;                 $typ = $1 ; &amp;lt;br /&amp;gt;             } else { &amp;lt;br /&amp;gt;                 $typ = 0 ; # type par défaut : $0 &amp;lt;br /&amp;gt;             } &amp;lt;br /&amp;gt;             draw_cadre($start,$msg,$typ*8) ; &amp;lt;br /&amp;gt;             print MESSAGE $end ; &amp;lt;br /&amp;gt;         } else { &amp;lt;br /&amp;gt;             print MESSAGE $line; &amp;lt;br /&amp;gt;         } &amp;lt;br /&amp;gt;     } &amp;lt;br /&amp;gt; }&lt;br /&gt;
&lt;br /&gt;
close MESSAGE ; &amp;lt;br /&amp;gt; close MODELE ; &amp;lt;br /&amp;gt; close LILO ;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;# on affiche le résultat et on demande confirmation ! &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
system(&amp;quot;cat /boot/message&amp;quot;); &amp;lt;br /&amp;gt; print &amp;quot;boot :\n&amp;quot; ; &amp;lt;br /&amp;gt; do { &amp;lt;br /&amp;gt;     print &amp;quot;\nCe message vous convient-il ? Je lance LILO ? &amp;quot; ; &amp;lt;br /&amp;gt;     $rep = &amp;lt;STDIN&amp;gt; &amp;lt;br /&amp;gt; } until ($rep =~ /^(yes|oui|non|no|n|y|o)$/i) ;&lt;br /&gt;
&lt;br /&gt;
if ($rep =~ /^(y|o)/i) { # ok ! &amp;lt;br /&amp;gt;     system(&amp;quot;/sbin/lilo&amp;quot;) ; &amp;lt;br /&amp;gt; }&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Mode d&#039;emploi. ===&lt;br /&gt;
&lt;br /&gt;
 Créer un fichier &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;/boot/message.modele&amp;lt;/span&amp;gt; du style : &amp;lt;br /&amp;gt;&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;font color=&amp;quot;#ff0000&amp;quot;&amp;gt;$border&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#ff9900&amp;quot;&amp;gt;{&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#ff0000&amp;quot;&amp;gt;$4&amp;lt;/font&amp;gt; Lilo demarrera la configuration\&amp;lt;br /&amp;gt;  &amp;lt;font color=&amp;quot;#ff0000&amp;quot;&amp;gt;$default$iftimeout&amp;lt;/font&amp;gt;&amp;lt;font color=&amp;quot;#ff9900&amp;quot;&amp;gt;{&amp;lt;/font&amp;gt;, dans &amp;lt;font color=&amp;quot;#ff0000&amp;quot;&amp;gt;$timeout&amp;lt;/font&amp;gt; secondes&amp;lt;font color=&amp;quot;#ff9900&amp;quot;&amp;gt;}&amp;lt;/font&amp;gt;. &amp;lt;font color=&amp;quot;#ff9900&amp;quot;&amp;gt;}&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/font&amp;gt;Vous pouvez choisir l&#039;une des configurations suivantes :&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;    - &amp;lt;font color=&amp;quot;#ff0000&amp;quot;&amp;gt;$configs&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt; &amp;lt;/font&amp;gt;Votre choix de&amp;lt;/div&amp;gt;&amp;lt;br /&amp;gt; (les deux premières lignes sont en fait sur une seule ligne, sans le &#039;\&#039; final) et vous lancez &amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;lilomsg.pl&amp;lt;/span&amp;gt; qui vous demandera si cet ecran de démarrage vous convient (attention les caractères du cadre ne sont pas ceux seront affichés au boot, ceux affichés au boot seront vraiment des caractères d&#039;encadrement...). Ce modèle vous donnera l&#039;invite suivante (ou ressemblante) : &amp;lt;br /&amp;gt;&amp;lt;div class=&amp;quot;code&amp;quot;&amp;gt;&amp;lt;br /&amp;gt;      +-------------------------------------------------------------+ &amp;lt;br /&amp;gt;      | Lilo demarrera la configuration linux2214, dans 5 secondes. | &amp;lt;br /&amp;gt;      +-------------------------------------------------------------+ &lt;br /&gt;
&lt;br /&gt;
Vous pouvez choisir l&#039;une des configurations suivantes :&lt;br /&gt;
&lt;br /&gt;
        - floppy &amp;lt;br /&amp;gt;         - linux &amp;lt;br /&amp;gt;         - linux2214 &amp;lt;br /&amp;gt;         - windows&lt;br /&gt;
&lt;br /&gt;
Votre choix de boot :&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Remarquez que LILO à rajouté &amp;quot;&amp;lt;span class=&amp;quot;code&amp;quot;&amp;gt;boot :&amp;lt;/span&amp;gt;&amp;quot; à la fin du modèle.&lt;br /&gt;
&lt;br /&gt;
Vous pouvez utilisez ce script en lieu et place de lilo (qui d&#039;ailleurs est appelé - après confirmation - par le script).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;note&amp;quot;&amp;gt;Note : le parseur de modèle est simpliste, si quelqu&#039;un se sent l&#039;envie de l&#039;améliorer, pour autoriser les cadres sur plusieurs lignes, l&#039;ajout de paramètres de type &amp;quot;}&amp;quot; dans les options, utiliser quelque chose de plus clair que $0 .. $7 comme type de bordures etc... libre à lui, il serait sympa de m&#039;envoyer ses modifications.&amp;lt;/div&amp;gt; &amp;lt;/div&amp;gt;&amp;lt;div class=&amp;quot;merci&amp;quot;&amp;gt;Cette page est issue de la documentation &#039;pré-wiki&#039; de Léa a été convertie avec HTML::WikiConverter. Elle fut créée par Frédéric Bonnaud le 01/05/2000.&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Copyright =&lt;br /&gt;
Copyright &amp;amp;copy; 01/05/2000, Fr&amp;amp;eacute;d&amp;amp;eacute;ric Bonnaud&lt;br /&gt;
{{CC-BY-NC-SA}}&lt;/div&gt;</summary>
		<author><name>Dupont</name></author>
	</entry>
</feed>