Page 1 sur 1
[LiveUSB] Je bloque : kernel panic (résolu)
Publié : sam. 22 nov. 2008, 16:43
par AddiKT1ve
Hi

.
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/
Et voilà... Là, je bloque plus ou moins. J'ai créé une partition vierge en ext2 sur ma clef USB, puis j'y ai copié tous les fichiers du répertoire img/ - j'ai ensuite rendu la clef bootable grâce à extlinux :
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 !
Publié : sam. 22 nov. 2008, 19:13
par AddiKT1ve
Comme on l'a dit sur le chan #archlinux-fr avec tuxce, il faudrait regénérer archlive.img (l'initrd), cependant impossible de trouver quoi que ce soit à ce sujet. Quelqu'un saurait comment faire ?
Publié : sam. 22 nov. 2008, 22:47
par tuxce
arch = KISS n'a jamais été aussi vrai
en fait, le programme de création de l'iso d'archlinux est disponible pour tout le monde:
2 petites choses, le programme est fait en fonction du cd 2008.06 donc par rapport au programme de la même période, du coup, des modifs sont nécéssaires, notamment dans /lib/initcpio/hooks/boot-usb, il faut remplacer:
par
Code : Tout sélectionner
/sbin/udevadm trigger --subsystem-match=usb
/sbin/udevadm settle
ensuite la démarche est relativement simple (en root):
Code : Tout sélectionner
modprobe loop
mkdir traitement
cd traitement
cp -a /usr/share/archiso/* .
edite archiso-mkinitcpio.conf pour commenter/décommenter les hooks pour l'iso ou l'usb
eventuellement, rajoute dans MODULES ceux nécessaire à la reconnaissance des disques en sda
edite "packages.list" pour y mettre ce que tu veux dedans et meme enlever des paquets obsolètes comme "ipw3945"
change la config par défaut dans "default-config/"
et il n'y a plus qu'a lancer la création:
Code : Tout sélectionner
# il faut s'assurer que le archiso-mkinitcpio.conf a boot-cd dans les hooks
mkarchiso all iso archlive.iso
# il faut s'assurer que le archiso-mkinitcpio.conf a boot-usb dans les hooks
mkusbimg iso/img/ archlive.img
bon, faudrait agencer ca pour une petite page wiki du coup...
Publié : sam. 22 nov. 2008, 22:58
par AddiKT1ve
Ce serait encore plus KISS si c'était quelque part dans le wiki Anglophone (c'est quand même la base). Dingue

!
En tout cas merci beaucoup tuxce, je t'aime

. Résolu.
Publié : sam. 22 nov. 2008, 23:53
par AddiKT1ve
C'est quoi ce bordel encore ?!
addikt1ve@shesmovedon:~$ sudo mkusbimg traitement/ archlinux-doneed.img
11806+0 enregistrements lus
11806+0 enregistrements écrits
6044672 octets (6,0 MB) copiés, 0,111606 s, 54,2 MB/s
mke2fs 1.41.3 (12-Oct-2008)
Étiquette de système de fichiers=
Type de système d'exploitation : Linux
Taille de bloc=1024 (log=0)
Taille de fragment=1024 (log=0)
1480 i-noeuds, 5900 blocs
0 blocs (0.00%) réservés pour le super utilisateur
Premier bloc de données=1
Nombre maximum de blocs du système de fichiers=6291456
1 groupe de bloc
8192 blocs par groupe, 8192 fragments par groupe
1480 i-noeuds par groupe
Écriture des tables d'i-noeuds : complété
Écriture des superblocs et de l'information de comptabilité du système de
fichiers : complété
Le système de fichiers sera automatiquement vérifié tous les 29 montages ou
après 180 jours, selon la première éventualité. Utiliser tune2fs -c ou -i
pour écraser la valeur.
63+0 enregistrements lus
63+0 enregistrements écrits
32256 octets (32 kB) copiés, 0,000390343 s, 82,6 MB/s
AVERTISSEMENT: archlinux-doneed.img n'est pas un périphérique fonctionnant par blocs
Disque archlinux-doneed.img: ne peut obtenir la géométrie
Disque archlinux-doneed.img: 0 cylindres, 255 têtes, 63 secteurs/piste
sfdisk: ERREUR: secteur 0 n'a pas un signature MS-DOS
archlinux-doneed.img: type non reconnu de table de partition
Vieille situation:
Aucune partition repérée
AVERTISSEMENT: la taille donnée (11806) excède la taille maximale allouable (0)
Nouvelle situation:
AVERTISSEMENT: la table de partitions semble avoir été créée
pour C/H/S=*/189/25 (au lieu de 0/255/63).
Pour ce rapport, la géométrie suivante sera assumée.
Unités= secteurs de 512 octets, décompte à partir de 0
Périph Amorce Début Fin #secteurs Id Système
archlinux-doneed.img1 * 63 11868 11806 83 Linux
début: (c,h,s) expecté (0,2,14) trouvé (0,1,1)
fin: (c,h,s) expecté (2,96,19) trouvé (0,188,25)
archlinux-doneed.img2 0 - 0 0 Vide
archlinux-doneed.img3 0 - 0 0 Vide
archlinux-doneed.img4 0 - 0 0 Vide
AVERTISSEMENT: la partition 1 s'étend au delà de la fin du disque
Succès d'écriture de la nouvelle table de partitions
Relecture de la table de partitions ...
BLKRRPART: Ioctl() inappropré pour un périphérique
Si vous créez ou modifiez une partition DOS, /dev/foo7, par exemple, alors
utiliser dd(1) pour mettre à zéro les premiers 512 octets:
dd if=/dev/zero of=/dev/foo7 bs=512 count=1
(Consulter fdisk(8).)
Probing devices to guess BIOS drives. This may take a long time.
GNU GRUB version 0.97 (640K lower / 3072K upper memory)
[ Minimal BASH-like line editing is supported. For the first word, TAB
lists possible command completions. Anywhere else TAB lists the possible
completions of a device/filename. ]
grub> device (hd0) archlinux-doneed.img
grub> root (hd0,0)
Filesystem type is ext2fs, partition type 0x83
grub> setup (hd0)
Checking if "/boot/grub/stage1" exists... no
Checking if "/grub/stage1" exists... no
Error 15: File not found
grub> addikt1ve@shesmovedon:~$
Publié : dim. 23 nov. 2008, 14:01
par tuxce
AddiKT1ve a écrit :C'est quoi ce bordel encore ?!
addikt1ve@shesmovedon:~$ sudo mkusbimg traitement/ archlinux-doneed.img
si tu utilises le répertoire "traitement" comme ce que j'ai indiqué dans mon post, c'est pas celui ci que tu dois indiquer pour "mkusbimg", le répertoire à indiquer est le sous repertoire "img" du répertoire indiqué dans mkarchiso
AddiKT1ve a écrit :Ce serait encore plus KISS si c'était quelque part dans le wiki Anglophone (c'est quand même la base). Dingue

!
eh bien dans peu de temps, il y en aura un sous le wiki fr... (sinon question base, il ne faut pas oublier que ce n'est que du bénévolat ! )
Publié : dim. 23 nov. 2008, 14:23
par AddiKT1ve
D'acc, on s'est expliqué sur l'IRC ^^
Merci !
Publié : dim. 23 nov. 2008, 16:34
par tuxce
après de plus amples recherches, il semblerait que archiso permet de faire un live mais pas de cd/clé d'install, c'est un autre programme qui s'en charge: archboot
Publié : dim. 23 nov. 2008, 20:56
par AddiKT1ve
En effet... Bon, j'ai perdu trop de temps là-dessus ce week-end. Je te remercie énormément tuxce, et je te tiendrai au courant de mes avancements dès que... j'aurai avancé

.
Publié : dim. 23 nov. 2008, 23:12
par tuxce
Publié : mar. 25 nov. 2008, 21:20
par AddiKT1ve