====== Clé USB bootable pour Debian ======
{{tag> usb debian}}
L'objectif de cet article est de décrire les étapes - qui ont marchées pour moi - afin de créer une clé usb bootable pour l'installeur de debian.
les sources :
- [[http://www.coagul.org/spip.php?article584|http://www.coagul.org/spip.php?article584]]
- [[http://nsaunders.wordpress.com/2006/11/06/a-usb-stick-grub-and-ubuntu/|http://nsaunders.wordpress.com/2006/11/06/a-usb-stick-grub-and-ubuntu/]]
===== Partionnement de la clé =====
La machine sur laquelle je veux booter est un vieux chipset VIA, et si son bios supporte le boot sur USB-HDD, ce dernier est un peu capricieux.
En effet, il faut que la partition USB sur la clé contiennent exactement 16 heads et 63 sectors ([[http://en.wikipedia.org/wiki/Cylinder-head-sector|wikipedia pour le CHS]]).
La partition doit être en FAT16.
Les étapes via fdisk sont basiques, juste quelques points :
* Pour modifier le nombre de secteur (sectors) et de tetes (heads), passer en mode expert (x) puis utiliser (s) pour les sectors et (h) pour les heads
* Le type FAT 16 est le type 6
* Pour formater en FAT 16, utiliser mkfs.vfat -F 16
Reste à monter la clé dans /mnt
arael:/# mount /dev/sda1 /mnt
===== Récupération de l'installeur debian =====
Il faut prendre les fichiers de l'installeur et le cd d'installation dans la meme version (ici, lenny) sinon des problemes de compatibilite entre les modules dans initrd et ceux du cd d'installatio vont bloquer le processus d'installation.
Les fichiers pour Lenny sont ici : [[ftp://ftp.debian.org/debian/dists/lenny/main/installer-i386/current/images/hd-media/|ftp://ftp.debian.org/debian/dists/lenny/main/installer-i386/current/images/hd-media/]]
On récupère les fichiers suivants **vmlinuz** et **initrd.gz**
vmlinuz - un noyau Linux Debian standard
initrd.gz - un ramdisk avec l’installeur de base (sans le support reseau)
et un module permettant de charger n’importe quelle image ISO de CD ou
DVD d’installation Debian.
On place ces deux fichiers dans /mnt directement.
Puis on récupère une image ISO de l'installeur Debian, la NetInstall par exemple [[http://cdimage.debian.org/debian-cd/current/i386/iso-cd/|la dernière netinstall]], et on la place également dans /mnt.
===== Grub =====
Il faut créer un mbr sur /dev/sda puis installer grub sur la partition sda1.
Voici les étapes à suivre, elles nécessitent le paquet "mbr".
On installe un MBR vierge, puis on créer le répertoire grub dans /boot sur la clé, on y copie les librairies grub.
Ensuite, on y positionne le fichier device.map et enfin on installe le mbr de grub dans sda.
arael:/# install-mbr /dev/sda
arael:/# mkdir -p /mnt/boot/grub
arael:/# cp /usr/lib/grub/i386-pc/* /mnt/boot/grub/
arael:/# echo "(hd0) /dev/sda" > /mnt/boot/grub/device.map
arael:/# grub-install --root-directory=/mnt/ /dev/sda
Installation finished. No error reported.
This is the contents of the device map /mnt//boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.
(hd0) /dev/sda
Enfin, on crée un fichier menu.lst dans /mnt/boot/grub qui appel les fichiers que l'on a copié sur la clé.
arael:/# cat /mnt/boot/grub/menu.lst
title DebUsbInstall
root (hd0,0)
kernel /vmlinuz root=/dev/rd/0 /init=/linuxrc rw
initrd /initrd.gz
boot
Et a la fin, on a donc l'arborescence suivante:
arael:~# tree /mnt/
/mnt/
|-- boot
| `-- grub
| |-- default
| |-- device.map
| |-- e2fs_stage1_5
| |-- fat_stage1_5
| |-- jfs_stage1_5
| |-- menu.lst
| |-- minix_stage1_5
| |-- reiserfs_stage1_5
| |-- stage1
| |-- stage2
| |-- stage2_eltorito
| `-- xfs_stage1_5
|-- debian-502a-i386-netinst.iso
|-- initrd.gz
`-- vmlinuz
~~DISCUSSION~~