Il n'existe actuellement aucune doc pour créer soi-même son propre LiveUSB. Comme j'adore écrire des howto et que j'aime également avoir un LiveUSB de ma distro préférée sous la main, je me suis lancé dedans hier soir.
Grâce au fichier .img de la 2008.06, il suffit de faire un dd if=... of=/dev/sdb pour obtenir une clef bootable. Cependant, je voulais aller plus loin en modifiant l'image afin d'installer tout ce qui va bien : yaourt + des logiciels + X11 + Openbox et cie. Voici le déroulement des opérations :
Code : Tout sélectionner
# Étapes préliminaires
mkdir ~/live
cd ~/live
wget http://mir.archlinux.fr/iso/2008.06/archlinux-2008.06-core-i686.img
mkdir img system squashfs
# On monte l'image et on extrait le squashfs
sudo mount -t ext2 -o loop,offset=32256 archlinux-2008.06-core-i686.img img/
sudo mount -o loop -t squashfs img/archlive.sqfs squashfs/
sudo cp -ar squashfs/ system/
sudo umount squashfs/
# On se chroot dans le système
sudo mount --bind /proc system/proc/
sudo mount --bind /sys system/sys/
sudo cp /etc/resolv.conf system/etc/
sudo chroot system
# À partir de là, on fait les modifications que l'on veut :
# ajout de dépôts mises à jour, installation de logiciels, du serveur X, d'Openbox...
# On n'oublie pas de nettoyer avec pacman -Scc et on quitte le chroot :
rm /etc/resolv.conf
exit
# On démonte proc et sys
sudo umount system/proc/
sudo umount system/sys/
# On supprime l'ancien, puis on reconstruit le nouveau squashfs
sudo rm img/archlive.sqfs
sudo mksquashfs system/ img/archlive.sqfs -info
# On copie le nouveau vmlinuz26 s'il y a eu màj du kernel pendant le chroot
sudo cp system/boot/vmlinuz26 img/boot/
sudo extlinux -i /dev/sdb1
Ça boote, le système démarre, et j'ai le droit à un kernel panic comme quoi il ne trouve pas /lib/modules/2.6.27-ARCH/modules.dep et puis qu'il ne trouve pas le support USB sur lequel il vient de booter ...
Help ? Merci !