Objectif :
Créer une clé USB bootable Linux
Environnement utilisé pour la création de cette clé :
CentOS 5.4
Système d'exploitation installé sur la clé USB :
Toutou linux ( http://toutoulinux.free.fr/ )
Pré-requis :
Une clé USB ( celle utilisé dans ce tutoriel est de 4Go ) ( Attention toutes les données initiales de cette clé vont être supprimées, prendre la précaution si nécessaire de faire une copie , une sauvegarde du contenu de cette clé )
Le fichier iso de la distribution que l'on souhaite installée sur la clé
Le paquetage syslinux pour rendre la clé bootable.
Les étapes de la création de la clé USB
Préparation de la clé
On se connecte en tant que « root » sur le système linux à partir duquel on installe un système linux sur la clé .
On insère la clé.
Si cette clé contient déjà un file-sytem , il est probable que ce file-system est fait l'objet d'un montage automatique sur le système sur lequel on travaille.
Si c'est le cas il est préférable de démonter cette clé avant de poursuivre :
Dans un terminal :
# fdisk -l
Disque /dev/sda: 100.0 Go, 100030242816 octets
255 heads, 63 sectors/track, 12161 cylinders
Unités = cylindres de 16065 * 512 = 8225280 octets
Périphérique Amorce Début Fin Blocs Id Système
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 8937 71682030 83 Linux
/dev/sda3 8938 9192 2048287+ 82 Linux swap / Solaris
Disque /dev/sdb: 4008 Mo, 4008706048 octets
124 heads, 62 sectors/track, 1018 cylinders
Unités = cylindres de 7688 * 512 = 3936256 octets
Périphérique Amorce Début Fin Blocs Id Système
/dev/sdb1 * 1 1018 3913161 e W95 FAT16 (LBA)
Commentaires :
fdisk -l renvoie la liste des périphériques de stockage de masse reconnus par le système , ici 2 périphériques /dev/sda et /dev/sdb
/dev/sda correspond au disque du interne , celui sur lequel on a booté , celui sur lequel on travaille actuellement
/dev/sdb est la clé USB que l'on vient d'insérer.
On vérifie si cette clé a fait l'objet d'un montage :
# mount
/dev/sda2 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/sdb1 on /media/disk type vfat (rw,noexec,nosuid,nodev,shortname=winnt,uid=0)
Commentaires :
la dernière ligne affiche :
/dev/sdb1 on /media/disk type vfat (rw,noexec,nosuid,nodev,shortname=winnt,uid=0)
la partition /dev/sdb1 a été monté sur le répertoire /media/disk .
On démonte :
# umount /dev/sdb1
Attention :
Pour que cette opération se passe correctement, il faut qu'aucun processus n'utilisent les fichiers de la clé et notamment il faut ne pas s'être positionné dessus.
Commentaires :
La fenêtre qui s'était ouverte au moment de l'insertion de la clé s'est refermée.
On va maintenant préparer la clé à recevoir les fichiers du système d'exploitation que l'on veut installer dessus
# fdisk /dev/sdb << on accède à la table de partitions de la clé >>
Commande (m pour l'aide): p << on affiche la table de partitions de la clé >>
Disque /dev/sdb: 4008 Mo, 4008706048 octets
124 heads, 62 sectors/track, 1018 cylinders
Unités = cylindres de 7688 * 512 = 3936256 octets
Périphérique Amorce Début Fin Blocs Id Système
/dev/sdb1 * 1 1018 3913161 e W95 FAT16 (LBA)
Commande (m pour l'aide): d << on supprime la partition de la clé >>
Partition sélectionnée 1
Commande (m pour l'aide): p << on constate que la clé ne contient plus de partitions >>
Disque /dev/sdb: 4008 Mo, 4008706048 octets
124 heads, 62 sectors/track, 1018 cylinders
Unités = cylindres de 7688 * 512 = 3936256 octets
Périphérique Amorce Début Fin Blocs Id Système
Commande (m pour l'aide): n << on crée une nouvelle partition >>
Action de commande
e étendue
p partition primaire (1-4)
p << on crée une nouvelle partition primaire >>
Numéro de partition (1-4): 1 << cette partition primaire utilise la première entrée de la table de partitions >>
Premier cylindre (1-1018, par défaut 1):
Utilisation de la valeur par défaut 1
Dernier cylindre ou +taille or +tailleM ou +tailleK (1-1018, par défaut 1018): ←
Utilisation de la valeur par défaut 1018 << cette partition primaire utilise par défaut tous les cylindres de la clé >>
Commande (m pour l'aide): p << on vérifie le résultat obtenu >>
Disque /dev/sdb: 4008 Mo, 4008706048 octets
124 heads, 62 sectors/track, 1018 cylinders
Unités = cylindres de 7688 * 512 = 3936256 octets
Périphérique Amorce Début Fin Blocs Id Système
/dev/sdb1 1 1018 3913161 83 Linux
Commande (m pour l'aide): t << on marque « t pour tague », la partition >>
Partition sélectionnée 1
Code Hex (taper L pour lister les codes): e << e = W95 FAT16 >>
Type de partition système modifié de 1 à e (W95 FAT16 (LBA))
Commande (m pour l'aide): a << on rend cette partition amorçable >>
Numéro de partition (1-4): 1
Commande (m pour l'aide): p << vérifie le résultat >>
Disque /dev/sdb: 4008 Mo, 4008706048 octets
124 heads, 62 sectors/track, 1018 cylinders
Unités = cylindres de 7688 * 512 = 3936256 octets
Périphérique Amorce Début Fin Blocs Id Système
/dev/sdb1 * 1 1018 3913161 e W95 FAT16 (LBA)
Commande (m pour l'aide): w << on enregistre ces modifications >>
La table de partitions a été altérée!
Appel de ioctl() pour relire la table de partitions.
AVERTISSEMENT: la re-lecture de la table de partitions a échoué avec l'erreur 16: Périphérique ou ressource occupé.
Le kernel va continuer d'utiliser l'ancienne table.
La nouvelle table sera utilisé lors du prochain réamorçage.
AVERTISSEMENT: si vous avez créé ou modifié une partition DOS 6.x,
svp consulter les pages du manuel de fdisk pour des informations
additionnelles.
Synchronisation des disques.
Commentaires :
Il se peut que la re-création de cette partition provoque le remontage automatique du file-système qu'il contient .
On ne veut pas prendre en compte cette éventuelle précedente configuration de la clé.
Donc, si le file-système a été monté automatiquement , on le démonte :
# umount /dev/sdb1
On formate la partition de la clé usb :
# mkfs.vfat /dev/sdb1
mkfs.vfat 2.11 (12 Mar 2005)
Installation du système Toutou Linux dur la clé
On vérifie que le packetage syslinux est déjà présent sur le système :
# rpm -qa | grep syslinux
syslinux-3.84-1.el5.rf
Si ce paquetage n'est pas présent , on l'installe :
# yum install syslinux
L'installation de ce paquetage met à disposition la commande syslinux et des fichiers stockés dans le répertoire /usr/share/syslinux.
Pour poursuivre cette procédure , on va également récupérer le fichier iso d'une « petite » distribution linux « Toutou Linux » ( mais grande pas les possibilités qu'elle offre ....) : http://toutoulinux.f...fr/download.php
Dans cette procédure , on a créé un répertoire /install sous la racine dans lequel on a téléchargé le fichier iso de toutoulinux.
On crée 2 repertoires dans /mnt :
# mkdir /mnt/fat
# mkdir /mnt/toutou
/mnt/fat va permettre le montage manuel de la clé ucb que l'on vient de formater
/mnt/toutou va permettre de monter le fichier iso de la dsitribution Toutou.
On procéde a ces 2 montages :
# mount /dev/sdb1 /mnt/fat
# mount -o loop /install/ToutouLinux-431.iso /mnt/toutou/
On vérifie :
# mount
/dev/sda2 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
/dev/sdb1 on /mnt/fat type vfat (rw)
/install/ToutouLinux-431.iso on /mnt/toutou type iso9660 (rw,loop=/dev/loop0)
On copie le contenu du fichier iso à la racine de la clé :
# cp -vr /mnt/toutou/* /mnt/fat
`/mnt/toutou/boot.cat' -> `/mnt/fat/boot.cat'
`/mnt/toutou/boot.msg' -> `/mnt/fat/boot.msg'
`/mnt/toutou/fr.ktl' -> `/mnt/fat/fr.ktl'
`/mnt/toutou/help.msg' -> `/mnt/fat/help.msg'
`/mnt/toutou/initrd.gz' -> `/mnt/fat/initrd.gz'
`/mnt/toutou/isolinux.bin' -> `/mnt/fat/isolinux.bin'
`/mnt/toutou/isolinux.cfg' -> `/mnt/fat/isolinux.cfg'
`/mnt/toutou/logo.16' -> `/mnt/fat/logo.16'
`/mnt/toutou/ttl-431.sfs' -> `/mnt/fat/ttl-431.sfs'
`/mnt/toutou/vmlinuz' -> `/mnt/fat/vmlinuz'
#
On installe les structures syslinux nécessaire à la phase de boot sur la clé :
# syslinux /dev/sdb1
On crée le fichier syslinux.cfg ( équivalent de grub.conf pour grub ) à partir du fichier isolinux.cfg fournit par la distribution Toutou Linux:
# cp /mnt/fat/isolinux.cfg /mnt/fat/syslinux.cfg
Un petit coup d'oeil sur le fichier :
# cat /mnt/fat/syslinux.cfg
kbdmap fr.ktl
default puppy
display boot.msg
prompt 1
timeout 80
F1 boot.msg
F2 help.msg
label puppy
kernel vmlinuz
append initrd=initrd.gz pmedia=cd
On démonte le file système de la clé USB :
# cd
# umount /dev/sdb1
Dernière étape :
on met en place le Master Boot Record de la clé USB :
# dd if=/usr/share/syslinux/mbr.bin of=/dev/sdb
0+1 enregistrements lus
0+1 enregistrements écrits
440 octets (440
Notre clé est prête à être utilisée, ne reste plus qu'à la tester .
Ne pas oublier pour çà , lors du reboot de la machine, de paramétrer le bios de la machine pour booter sur le périphérique usb.
Pour la prise en main du système Toutou Linux , consulter la document fournie sur le site de cette distribution .
Connexion
Inscription
Aide


Retour en haut
Multi-citation