Loadlin
Utilisation de LOADLIN (LOAD LINux)
par Fred
Normalement, les puristes de Linux n'utilisent que LILO, mais il y a des cas où l'utilisation de LOADLIN est la seule solution.
Qu'est-ce que LOADLIN
LOADLIN est un programme conçu pour permettre le démarrage de Linux depuis la ligne de commande de MS/DOS (et donc de la ligne de commande de Windows). Normalement, le chargement de Linux est laissé à LILO, mais parfois, il est essentiel de pouvoir démarrer Linux depuis la ligne de commande de Windows.
Par exemple, vous avez compilé un nouveau noyau, et pris par l'euphorie de l'installation de ce nouveau Linux, vous avez oublié de conserver une entrée dans /etc/lilo.conf pour l'ancien noyau (Linux c'est hyper stable et tout et tout ;), mais en compilant ce noyau vous avez oublié d'activer un driver nécessaire au démarrage du noyau. Résultat : vous obtenez un superbe : Kernel Panic (i.e. impossible de démarrer) ! Comme par hasard, la disquette de démarrage que vous avez pris soin de créer lors de l'installation de votre distribution est introuvable ? Que faire ? Si vous avez installé LOADLIN sur votre partition Windows, pas de problème : utilisez le pour démarrer votre ancien noyau.
Un autre exemple, vous utilisez une carte ISA PNP (Plug aNd Play) qui n'est pas encore reconnue par le PNP (Plug aNd Pray) de Linux. La solution : démarrez votre PC sous Windows, activez vos cartes PNP puis démarrez Linux avec LOADLIN.
Encore un autre exemple : vous n'avez pas envie d'installer LILO, ou pour une raison ou une autre, LILO refuse de fonctionner : essayez d'utiliser LOADLIN !
Installation de LOADLIN
L'installation est pour le moins triviale : cherchez sur le CD de votre distribution un fichier nommé : loadlin.exe, copiez le dans un répertoire de votre disque C: par exemple dans C:\loadlin (vous pouvez indifféremment utiliser Linux - cp /mnt/cdrom/dosutils/loadlin.exe /mnt/hda1_DOSC - ou bien DOS ou Windows pour cela).
Il vous faut aussi une image de votre noyau, vous pouvez par exemple copier celle qui est utilisée par LILO pour le démarrage de Linux de manière automatique (par exemple, depuis Linux : cp /boot/vmlinuz-2.2.14-15mdk /mnt/hda1_DOSC/loadlin/vmlinuz).
Enfin, si vous utilisez le RAM disque initial (initrd), copiez aussi /boot/initrd vers /mnt/hda1_DOSC/loadlin/initrd.
Voilà c'est tout, LOADLIN est installé !
Démarrage de Linux avec LOADLIN
Le démarrage de Linux avec LOADLIN installé comme décrit plus haut est également trivial : démarrez Windows en mode ligne de commande (pressez F8 au démarrage de Windows et choisissez le mode ligne de commande), puis à l'invite tapez :
C:\LOADLIN\> loadlin vmlinuz root=/dev/hda2
si vous avez installé Linux sur la seconde partition du premier disque IDE. Pour savoir par quoi remplacer /dev/hda2 utilisez, sous Linux, la commande :
Vous devez voir apparaître des lignes comme :
/dev/hda3 / ext2 defaults 1 1
/dev/hda5 /usr ext2 defaults 1 2
/dev/hda6 /home ext2 defaults 1 2
/dev/hda7 swap swap defaults 0 0
/mnt/disquette /mnt/disquette supermount fs=vfat,dev=/dev/fd0 0 0
/mnt/cdrom /mnt/cdrom supermount fs=iso9660,dev=/dev/scd0 0 0
Dans ce cas dans /etc/fstab il est précisé que /dev/hda3 est monté sur le répertoire / (c'est donc la racine de votre installation - root en anglais), vous devez donc précisez : /dev/hda3 à la place de /dev/hda2 dans la commande loadlin vue plus haut.
Normalement tout doit bien se passer et Linux doit démarrer correctement ; si ce n'est pas le cas vérifiez à nouveau que tous les fichiers ont bien été copiés comme indiqué précédemment et que vous avez indiqué la bonne partition root à LOADLIN.
évidemment cette méthode de chargement de Linux est un peu pénible, car vous devez taper une longue ligne de commande.
Première solution simple : créez un fichier linux.bat dans C:\LOADLIN contenant sur une seule ligne :
en adaptant bien sûr les valeurs à votre propre configuration ; la partie en italique (initrd=...) étant optionnelle.Ensuite, ajoutez le répertoire C:\LOADLIN à votre PATH (dans autoexec.bat, sur une ligne du type PATH=...).
Ainsi, pour lancer Linux, il suffira de démarrer en mode texte (touche F8 lors du boot), puis de taper simplement :
Nous allons voir ci-dessous une autre méthode qui offrira un menu de boot plus convivial.
Automatisation
Tout ce que fait Micro$oft n'est pas forcément nul ;). Le programme de démarrage de M$ est capable de nous fournir un menu de démarrage très correct. Pour cela il faut modifier le fichier C:\CONFIG.SYS. Vous pouvez par exemple modifier votre fichier config.sys de la manière suivante :
menuitem=windows,Démarrer Windows
menuitem=linux,Démarrer Linux
menudefault=windows,5
[windows}
REM ci-dessous doit se trouver tout ce qui ce trouvait
REM dans config.sys avant que vous n'y touchiez
....
....
[linux]
REM ici doit se trouver une copie de toutes les lignes
REM DEVICE qui initialisent des cartes PNP.
REM S'il n'y en a pas, laissez cette section vide.
...
...
Il faut aussi que vous modifiez un peu votre fichier C:\AUTOEXEC.BAT, de la manière suivante :
goto %config%
:linux
echo Démarrage de Linux dans quelques instants
REM lancez ici les programmes qui initialisent
REM vos périphériques PNP (s'il y en a)
...
...
cd c:\loadlin
loadlin vmlinuz root=/dev/hda2
:windows
echo Démarrage de Windows dans quelques heures ;)
REM laissez ici tout votre ancien autoexec.bat
...
...
Voilà, maintenant, que vous utilisiez LILO ou pas, au démarrage de Windows, vous aurez un menu vous demandant si vous souhaitez démarrer Linux ou Windows.
Remarque : Le paramètre menudefault=<item>,<delay> dans la section menu de config.sys permet de choisir quel système on démarre par défaut, et pendant combien de secondes on affiche le menu avant de démarrer le système par défaut (ici Windows au bout de 5 secondes).
Même si vous êtes obligé de réinstaller le MBR de Windows (par exemple en tapant fdisk /mbr), ce qui supprime LILO, vous pourrez démarrer Linux grâce à LOADLIN.
Je vous conseille, même si vous préférez cette méthode pour démarrer Linux que celle utilisant LILO, d'installer LILO sur la partition racine (i.e. root) de Linux, en précisant comme paramètre boot : boot=/dev/hda2, de cette façon même en cas de problème de Windows (ce qui peut arriver, même avec un système commercial propriétaire, vous savez ;), il vous suffit d'activer, à l'aide d'une disquette bootable et de fdisk, la partition de Linux pour pouvoir démarrer Linux : deux précautions valent mieux qu'une.
{{Copy|20/06/2000|[[Utilisateur:Fred|Frédéric Bonnaud|CC-BY-SA}}