[LiveUSB] Je bloque : kernel panic (résolu)

Questions et astuces concernant l'installation et la configuration d'archlinux
Répondre
Avatar de l’utilisateur
AddiKT1ve
Elfe
Messages : 543
Inscription : sam. 10 mai 2008, 22:46
Localisation : Lève les yeux...

[LiveUSB] Je bloque : kernel panic (résolu)

Message 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 :roll: ...

Help ? Merci !
Dernière modification par AddiKT1ve le sam. 22 nov. 2008, 22:59, modifié 1 fois.
Devenez colocataire de Rootards.
##hippie irc.freenode.net
Avatar de l’utilisateur
AddiKT1ve
Elfe
Messages : 543
Inscription : sam. 10 mai 2008, 22:46
Localisation : Lève les yeux...

Message 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 ?
Devenez colocataire de Rootards.
##hippie irc.freenode.net
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

arch = KISS n'a jamais été aussi vrai :P

en fait, le programme de création de l'iso d'archlinux est disponible pour tout le monde:

Code : Tout sélectionner

pacman -S archiso
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:

Code : Tout sélectionner

    /sbin/udevtrigger --subsystem-match=usb
    /sbin/udevsettle
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...
Avatar de l’utilisateur
AddiKT1ve
Elfe
Messages : 543
Inscription : sam. 10 mai 2008, 22:46
Localisation : Lève les yeux...

Message 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.
Devenez colocataire de Rootards.
##hippie irc.freenode.net
Avatar de l’utilisateur
AddiKT1ve
Elfe
Messages : 543
Inscription : sam. 10 mai 2008, 22:46
Localisation : Lève les yeux...

Message 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:~$
Devenez colocataire de Rootards.
##hippie irc.freenode.net
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message 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 ! )
Avatar de l’utilisateur
AddiKT1ve
Elfe
Messages : 543
Inscription : sam. 10 mai 2008, 22:46
Localisation : Lève les yeux...

Message par AddiKT1ve »

D'acc, on s'est expliqué sur l'IRC ^^

Merci !
Devenez colocataire de Rootards.
##hippie irc.freenode.net
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message 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
Avatar de l’utilisateur
AddiKT1ve
Elfe
Messages : 543
Inscription : sam. 10 mai 2008, 22:46
Localisation : Lève les yeux...

Message 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é :D.
Devenez colocataire de Rootards.
##hippie irc.freenode.net
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

Avatar de l’utilisateur
AddiKT1ve
Elfe
Messages : 543
Inscription : sam. 10 mai 2008, 22:46
Localisation : Lève les yeux...

Message par AddiKT1ve »

tuxce a écrit :au cas où: http://wiki.archlinux.fr/howto:live
:top:
Devenez colocataire de Rootards.
##hippie irc.freenode.net
Répondre