Avant de démarrer, assurez-vous d'avoir accès au lecteur ZIP; soit en ayant le pilote ppa du port parallèle dans le noyau ou en faisant charger le module correspondant. Un moyen facile de le vérifier est d'interroger dmesg :
==> dmesg
On peut rediriger la sortie vers less vu que dmesg a tendance à être un peu long. Voici un extrait du mien :
scsi0 : PPA driver version 0.26 using 4-bit mode on port 0x3bc.
scsi : 1 host.
Vendor: IOMEGA Model: ZIP 100 Rev: D.08
Type: Direct-Access ANSI SCSI revision: 02
Detected scsi removable disk sda at scsi0, channel 0, id 6, lun 0
SCSI device sda: hdwr sector= 512 bytes. Sectors= 196608 [96 MB] [0.1 GB]
sda: Write Protect is off
sda: sda1 sda2
Si vous voyez seulement quelque-chose du genre :
scsi : 0 hosts.
scsi : detected total.
Alors vous avez le support SCSI mais le lecteur ZIP n'a pas été détecté.
Pour partitionner le disque ZIP, lancer fdisk
==> fdisk /dev/sda
Voici un aperçu de la table de partition que j'ai faite :
Disk /dev/sda: 64 heads, 32 sectors, 96 cylinders
Units = cylinders of 2048 * 512 bytes
Device Boot Begin Start End Blocks Id System
/dev/sda1 1 1 81 82928 83 Linux native
/dev/sda2 82 82 96 15360 82 Linux swap
J'ai décidé d'utiliser une partition de swap afin de
pouvoir l'utiliser sur n'importe quelle machine (système portable).
Aprés avoir utilisé fdisk, formater la nouvelle partition :
==> mke2fs -c /dev/sda1
Ensuite, créer la partition de swap (15360 blocs comme le montre fdisk)
==> mkswap -c 15360 /dev/sda2
Finalement, monter le disque ZIP
==> mount /dev/sda1 /iomega -t ext2
Étant donné que le lecteur ZIP sur port parallèle n'est pas un vrai périphérique SCSI, ce n'est pas un périphérique bootable, et donc, il nécessite une disquette de démarrage qui possède le pilote ppa dans le noyau et non sous forme de module.
D'abord, il faut configurer et compiler un noyau qui a le pilote ppa du port parallèle actif et pas comme un module chargeable. Afin d'obtenir l'option port parallèle, sélectionner le support des périphériques SCSI :
SCSI support (CONFIG_SCSI) [Y/m/n/?]
Puis, le support des disques SCSI:
SCSI disk support (CONFIG_BLK_DEV_SD) [Y/m/n/?]
Et finalement, sous la rubrique des pilotes SCSI de bas niveau (SCSI low-level drivers), on trouve le pilote ppa pour port parallèle.
IOMEGA Parallel Port ZIP drive SCSI support (CONFIG_SCSI_PPA) [Y/m/n/?]
Encore une fois, il ne faut pas utiliser le pilote pour port parallèle en module, mais bien inclus dans le noyau. Jusqu'ici, sans le patch noyau PortPar (voir 1.4), le pilote du port parallèle ne permettra pas d'utiliser le port passif du lecteur ZIP pour une imprimante, donc il est alors préférable de désactiver le support pour imprimante sur port parallèle :
Parallel printer support (CONFIG_PRINTER) [N/y/m/?]
NOTE/ : Pour plus d'informations sur le pilote du port parallèle,
prière de se reporter au ZIP-Drive mini-HOWTO.<newline>
Une fois le noyau configuré, le compiler ainsi :
==> make dep; make clean; make zImage
Le nouveau noyau devrait se trouver dans arch/i386/boot/zImage.
Après avoir du me coltiner 4 disquetes différentes, en raison de différents noyaux nécessitant différents paramètres, (ainsi qu'après avoir lu le magnifique e-mail m'expliquant comment le faire), j'ai inclus une section sur LILO comme étant un des moyens de créer un disque de démarrage.
Pour ceux qui ont besoin, ou pour ceux que ça intéresserait, d'avoir plusieurs noyaux sur une disquette (ces derniers temps, les miens sont trop gros) ou qui veulent juste pouvoir passer des arguments (comme le mode utilisateur unique (single)), j'ai reçu un email détaillant comment installer LILO sur une disquette.
Pour créer un système de fichier ext2 sur une disquette, utiliser juste la même commande que pour e disque ZIP
==> mke2fs -t /dev/fd0
D'abord, s'assurer qu'il y ait un dossier cible pour le montage, et monter la disquette (j'utilise /dev/floppy) :
==> mount /dev/fd0 /mnt/floppy -t ext2
Pour démarrer correctement, vous avez besoin des mêmes fichiers que ceux que LILO utilise sur votre installation de Linux actuelle.
NOTE : Les chemins de fichiers donnés ici sont ceux
de ma machine et peuvent ne pas être les mêmes pour tout
le monde
==> cp /boot/boot.b /mnt/floppy
==> cp /boot/map /mnt/floppy
==> cp /usr/src/linux/arch/i386/boot/zImage /dev/fd0 /mnt/floppy/vmlinuzDESK
Maintenant, pour créer le fichier de configuration pour LILO, à ce point, j'ignore le programme liloconfig... (merci à Javier Rodriguez pour cette information). Premièrement, créer le fichier de configuration de LILO, /mnt/floppy/lilo.conf, pour le(s) noyau(x) pour le lecteur ZIP. Voici ce que j'ai utilisé et qui m'a permis d'avoir plusieurs noyaux à tester :
boot=/dev/fd0
map=/mnt/floppy/map
install=/mnt/floppy/boot.b
prompt
compact
timeout=50
image=/mnt/floppy/vmlinuzLAP
label=Laptop
root=/dev/sda1
read-only
image=/mnt/floppy/vmlinuzDESK
label=Desktop
root=/dev/sda1
read-only
image=/mnt/floppy/vmlinuzDESK
label=rescue
root=/dev/hdc1
read-only
J'ai ainsi deux noyaux. Un pour mon portable 486 qui a besoin de l'émulation
du co-processeur mathématique dans le noyau, et l'autre pour mon ordinateur de bureau. Le "rescue"
me permet de faire un démarrage dde secours sur le disque dur.
Enfin et surtout, lancer LILO pour l'installer sur la disquette grace à la commande :
==> lilo -C /mnt/floppy/lilo.conf
Une fois LILO installé sur la disquette, sauter les deux étapes suivantes, sauf si vous avez envie de tout recommencer :).
NOTE : Ceci n'a rien à voir avec l'installation
via LILO.
Copier le nouveau noyau sur une disquette :
==> cp arch/i386/boot/zImage /dev/fd0
ou
==> cat arch/i386/boot/zImage > /dev/fd0
Bien sur, il existe pléthore de manières de copier un noyau sur une disquette, mais la dernière, ma favorite, est un peu plus cryptique. Essayez de ne pas oublier le > sauf si vous adorez voir des fichiers binaires.
NOTE : Ceci n'a rien à voir avec l'installation
via LILO.
Une fois que le noyau est sur la disquette, il faut définir le répertoire racine comme étant sur le disque ZIP :
==> rdev /dev/fd0 /dev/sda1
Je ne suis pas sur que l'option suivante soit nécessaire, quoiqu'il en soit, je le fais. Pour définir le swap :
==> rdev -s /dev/fd0 /dev/sda2