Cette méthode a été testée avec Slackware 13.0 et 13.1 en mode 32 et
64 bits. 
Merci à Eric Hameleers aka Alien BOB pour son script usbimg2disk.sh qui prépare un installateur Slackware sur un disque USB formaté en FAT. Je me suis inspiré de son travail en particulier l'adaptation des scripts d'install pour que les menus de setup présente les défauts corrects pour la localisation et le chemin d'accès au packages.
Ce travail est un premier pas pour la réalisation d'un disque USB auto-alimenté qui permettra de lancer simultanément des distributions telles que Slax (live) ou Salix OS (live ou installateur), des installateurs Slackware Linux, System Rescue CD (live)...
A l'heure des disques durs USB externes auto-alimentés, il devient intéressant de ne plus graver des DVD mais d'avoir sous la main plusieurs versions de l'installateur Slackware Linux...
Pour créer un disque dur XFS qui sache booter plusieurs installateurs Slackware, il faut disposer de GRUB2. Ce sera donc la première étape. Ensuite, il faudra correctement formater le disque dur, j'ai retenu XFS comme système de fichier. On verra que le label à de l'importance. Par la suite, il faut adapter l'installateur contenu dans initrd afin qu'il pointe directement sur les bonnes options et le bon chemin. La copie des fichiers contenus dans l'ISO et la configuration de GRUB terminerons le travail.
Dans la suite de ce document, vous êtes connecté root...
Installer GRUB2 sur sa Slackware n'est pas synonyme de disparition de LILO. Ainsi je garde LILO comme gestionnaire de démarrage, mais je n'ai pas réussi à booter correctement mon disque externe avec un autre produit que GRUB2...
GRUB2 (la version 1.98 lors de la rédaction de cet article) s'installe comme tout produit du domaine public.
Après avoir téléchargé sur le site gnu grub2, on déroule les opérations suivantes :
# tar xf .../grub-1.98.tar.gz
# cd grub-1.98
# ./configure --prefix=/usr
# make
# make install
Rien de très compliqué, mais il faut choisir son label avec soin, il servira par la suite... On suppose que le disque USB apparaît avec le nom /dev/sdb et que la partition retenue sera /dev/sdb1. Avant de commencer il faut s'assurer que le disque est démonté et qu'il ne contient plus aucune donnée à préserver...
# mkfs.xfs -f -L CrabsUsbBoot /dev/sdb1
# sfdisk -R /dev/sdb
On peut procéder au montage, on considèrera dans la suite de cette page que le point de montage sera /media/CrabsUsbBoot.
Nous effectuerons les opérations suivantes en partant du principe que nous travaillons avec Slackware 13.1 (32bits).
Il faut penser à adapter les "trucs" suivants pour changer de versions de Slackware :
Après avoir soigneusement téléchargé Slackware Linux (i-e. avoir vérifié au moins la signature), il faut procéder au montage de l'image.
adpater le nom de l'image ISO
# mount -o loop,ro slackware-13.1-install-dvd.iso /mnt/cdrom
Les étapes suivantes évitent d'avoir à monter la zone de packages et de saisir le chemin lors de l'installation.
on crée un dossier de travail
# mkdir initrd
# cd initrd
on extrait les fichiers contenu dans initrd
# gunzip -cd /mnt/cdrom/isolinux/initrd.img | cpio -i -d -H newc --no-absolute-filenames
modification des menus de l'installateur
# sed -i -e 's# --menu# --default-item 6 --menu#' usr/lib/setup/SeTmedia
Adpater si nécessaire slkins131 et/ou slackware
# sed -i -e "s# 2> \$TMP/sourcedir# /usbinstall/slkins131/slackware 2> \$TMP/sourcedir#" \ usr/lib/INSdir
ajout du montage du disque USB (adapter le label si vous n'avez pas utilisé CrabsUsbBoot)
# mkdir usbinstall
# echo "mount -t xfs -o ro \$(/sbin/blkid -t LABEL=CrabsUsbBoot | cut -f1 -d:)/usbinstall" \ >> etc/rc.d/rc.S
on crée le dossier qui accueille le boot (adapter si nécessaire)
# mkdir /media/CrabsUsbBoot/boot/slkins131
construction du initrd
# find . |cpio -o -H newc |gzip > /media/CrabsUsbBoot/boot/slkins131/initrd.img
Nous allons copier le contenu du DVD et les kernels
# rsync -rptHDL --exclude=isolinux /mnt/cdrom /media/CrabsUsbBoot
adapter si nécessaire le nom du dossier
# mv /media/CrabsUsbBoot/cdrom /media/CrabsUsbBoot/slkins131
la copie des kernels
# cp -a /mnt/cdrom/boot/huge* /media/CrabsUsbBoot/boot/slkins131
Faire une première installation de grub (adapter si nécessaire le point de montage et le device).
# grub-install --root-directory=/media/CrabsUsbRoot --modules=xfs /dev/sdb
Voici un exemple de fichier /media/CrabsUsbBoot/grub/grub.cfg, vous pouvez recopier les dernières lignes et adapter avec une autre version (label, dossier contenant initrd et les kernels).
insmod biosdisk
insmod part_acorn
insmod part_amiga
insmod part_apple
insmod part_gpt
insmod part_msdos
insmod part_sun
export prefix
export root
set timeout=20
set default=0
menuentry "Slackware 13.1 Installer hugesmp.s" {
linux /boot/slkins131/hugesmp.s/bzImage initrd=/boot/slkins131/initrd.img load_ramdisk=1 prompt_ramdisk=0 rw SLACK_KERNEL=hugesmp.s
initrd /boot/slkins131/initrd.img
}
menuentry "Slackware 13.1 Installer huge.s" {
linux /boot/slkins131/huge.s/bzImage initrd=/boot/slkins131/initrd.img load_ramdisk=1 prompt_ramdisk=0 rw SLACK_KERNEL=huge.s
initrd /boot/slkins131/initrd.img
}
Refaire une installation de grub.
# grub-install --root-directory=/media/CrabsUsbRoot --modules=xfs /dev/sdb
Y a plus qu'à booter sur le disque externe...
Renseignez-vous sur les brevets logiciels en Europe :
NoSoftWarePatents.com (en français)
Les images représentant des sociétes, des associations ou des marques restent associées, par un lien, à ces sociétés, associations ou marques. Elles ne signifie en rien que ces sociétés, associations ou marques soutiennent ce site.
Sauf précision contraire, le contenu de ce site est mis à disposition sous un contrat Creative Commons.
Les informations fournies le sont sans aucune garantie. L'auteur ne pourra être tenu responsable de leurs utilisations.
De par l'utilisation du HTML 4.01 Strict et des CSS 2.1, le monde de crabs sera correctement vu avec les navigateurs respectant ces normes, Mozilla ou FireFox par exemple.
| Site : | Le Monde de Crabs |
| Titre : | Installateur Slackware sur disque USB externe en XFS |
| Date du document : | 24/10/2010 |
| Auteur : | Christophe Cazajus |
| Mail : | crabs(mettre le @)crabs-world.com ou utiliser ce formulaire de contact |
| Mots-clé : | crabs, monde, francais, francophone, français, slackware, slackware 13.0, slackware 13.1, usb, disk, installer, grub2 |
| Description : | A l'heure des disques durs USB externes auto-alimentés, il devient intéressant de ne plus graver des DVD mais d'avoir sous la main plusieurs images de l'installateur de Slackware Linux... |
| Validation : | html, css |
Le calendrier et les scores du Stade Toulousain sont accessibles sur cette page : Le monde de crabs et le Stade Toulousain.