Persistent LiveCD : toujours là…
C’est reparti une nouvelle fois pour essayer de booter le LiveCD Kubuntu 8.04.1 en mode persistant.
Dans tous les cas, il semble qu’il faille modifier l’iso car le bug décrit est réparé pour Intrepid, soit la version suivante d’Ubuntu.
Pour résumer les étapes que je vais essayer de suivre :
- ouvrir l’iso de base (on est le 11 juillet, il ne semble pas que ma version 8.04.1 soit obsolète) avec un “mount -o loop” et copier son contenu dans “$test/iso”
- créer un répertoire “$test/squashfs” pour y décompresser le squash (après l’avoir monté ailleurs, on l’y copie)
- mettre à jour ce qu’il faut en faisant un “apt-get dist-upgrade” en chroot
- déplier le initrd.gz
- décompresser le casper 1.135 récupéré ici, mettre les fichiers au bon endroit
- recréer un fichier initrd.gz, soit avec la méthode “find . | cpio -o -H newc | gzip -9 > initrd.gz“, soit avec la méthode “update-initramfs -k all -u“, cette seconde méthode étant plus “boîte noire”
- le passer à la moulinette du script “casper-new-uuid” qui va l’ouvrir, mettre à jour les uuid (spécifier “$test/iso/.disk” comme répertoire cible pour le fichier uuid) et reformer le initrd.gz là où précisé.
- hop, on reforme le squashfs,
- on crée l’iso,
- et là, en théorie, ça marche. En théorie.
C’est parti…
N.b.: a priori, le passage par “casper-new-uuid” semble superflu étant donné que les iso créées jusque là avec initrd modifié mais sans passer par “casper-new-uuid” ont marché… Mais c’est plus propre de passer par là. C’est comme mettre à jour les sommes MD5 du CD, ce n’est pas indispensable non plus, mais c’est plus propre en le faisant.
Quelques remarques en passant :
- pas besoin de déplier le “initrd.gz” finalement si on utilise “update-initramfs -k all -u“.
- Le script de casper “casper-new-uuid” n’est pas dans le path vu qu’on est sorti du chroot quand il faut le lancer.
- Ce script (casper-new-uuid) prend comme argument le chemin absolu du “initrd.gz” à modifier.
Ça marche avec la virtualbox !!!
Si ça marche pour de vrai en dur (gravé), je vous remets au propre la procédure complète (misère, ça va être long). Le CD test est en cours de gravure. Alea jacta est.
En fait, ça ne marche pas complètement. Ça se passe bien quand on a un volume qui s’appelle “home-rw” en ext2 sur la clef USB, mais dès qu’il s’appelle “casper-rw” (toujours en ext2), ça ne marche pas. Je vais essayer en ext3…
Ça ne marche pas non plus. “casper.log” : Il n’arrive pas à ouvrir ni “/dev/sdb” ni “/dev/sdb1″ ?!? Tentative avec l’USB en FAT32 et un fichier “casper-rw” à monter en loopback en ext3 (voir ici, “using a loopback file”). Ça ne marche pas non plus. Il reste du boulot…
2 commentaires jusqu'à maintenant
Laissez une réponse
Pourquoi ce site Web n’ont pas l’autre appui de langues ?
Good question…
I’m sorry, my mother tongue being french, I wrote it in french.
In fact, I should post a summary of the complete process in english.
Is that a specific dark point that I can directly explain, without translating it all?