#1 Le 06/07/2010, à 17:21
- doodz
[resolu] Live USB et non maj du noyau
Bonjour,
Je suis en train de me faire un liveusb avec la version netbook pour gagner en rapidité.
Tout fonctionne a merveille mais par 2x je me suis fais avoir en mettant a jour le noyau.
je voudrais donc savoir quel fichier je dois interdire de mettre a jour
de cette facon avec le fichier /etc/apt/preferences je n aurais plus de question a me poser.
merci
j ai mis ces fichiers , est ce que vous pensez que ca suffit ?
Package: linux-headers-generic
Pin: version 2.6.32.21.22
Pin-priority: 1001
Package: linux-generic
Pin: version 2.6.32.21.22
Pin-priority: 1001
Package: linux-firmware
Pin: version 1.34
Pin-priority: 1001
Package: linux-image-generic
Pin: version 2.6.32.21.22
Pin-priority: 1001
Dernière modification par doodz (Le 09/07/2010, à 14:34)
Hors ligne
#2 Le 07/07/2010, à 00:00
- jamesbad000
Re : [resolu] Live USB et non maj du noyau
Salut.
A ma connaissance, il n'y a que trois packages concernés. Par exemple :
linux-headers-2.6.31-22 install ok installed
linux-headers-2.6.31-22-generic install ok installed
linux-image-2.6.31-22-generic install ok installed
Mais je crois comprendre que tu tente te prémunir contre les mise à jour automatiques de distributions. Hors les n° de versions de kernel changent à chaque mise à jour de kernel...
Plutôt que d'éliminer le dernier kernel, tu peux l'intégrer dans ton live usb :
echo "install le kernel dans casper"
cp -v squashFs/boot/vmlinuz-*-generic extractCd/casper/vmlinuz
cp -v squashFs/boot/initrd.img-*-generic extractCd/casper/initrd.gz
gzip -dc extractCd/casper/initrd.gz | lzma -7 > extractCd/casper/initrd.lz
rm -v extractCd/casper/initrd.gz
Cette manip copie les fichiers mis à jour dans le squashfs lors de dist-upgrade vers le répertoire correspondant à l'image iso.
Edit : telle quelle cette manip peu s'avérer foireuse si on n'a pas éliminé les anciens kernel AVANT. Ce que je fais avec ceci (en mode chroot):
# Extrait et affiche liste des versions de kernel installés, triée par n° de version
kernelList=`dpkg-query -W --showformat='${Package} ${Status}\n' linux-image-*-generic | sed -e "/ installed/!d" -e "s/linux-image-\(.*\)-generic.*/\1/"|sort`
echo "liste des versions de kernel:"
echo "$kernelList" # entre guillemet pour préserver les sauts de lignes
# extrait dernière version de kernel
lastKernel=`echo "$kernelList" | tail -n 1`
echo "dernière version kernel: $lastKernel"
# liste des anciennes version de kernel entre 2 '*'
oldKernel=`echo "$kernelList" | sed -e "/$lastKernel/d" -e "s/\(.*\)$/*\1*/"`
echo "anciennes versions kernel: $oldKernel"
# S'il existe des packages d'anciens kernel, les désinstaller
if [ "$oldKernel" != "" ]; then
apt-get -V remove `dpkg-query -W --showformat='${Package} ' $oldKernel`
fi
Dernière modification par jamesbad000 (Le 07/07/2010, à 16:33)
L'espace et le temps sont les modes par lesquels nous pensons, et non les conditions dans lesquelles nous vivons. (Signé Albert)
Hors ligne
#3 Le 07/07/2010, à 05:30
- doodz
Re : [resolu] Live USB et non maj du noyau
OMG je ne savais pas qu on pouvait faire ca, ca a l air génial.
Par contre, just a little petite question, je dois l appeler comment et le mettre ou ce fichier ?
Hors ligne
#4 Le 07/07/2010, à 16:29
- jamesbad000
Re : [resolu] Live USB et non maj du noyau
Petit question, mais réponse par forcément simple. Tout dépend comment tu constuit l'image de ton live usb, et surtout comment tu fais la mise à jour.
A la limite, il est possible que tu ne puisse rien faire de ces bouts de scripts
Je vais plutôt t'expliquer ce que moi je fais, et tu verra s'il est possible de faire le parallèle avec ta méthode :
J'ai fais une série de scripts pour faciliter la customisation et la la mise à jour d'ubuntu pour construire mon live usb à partir d'une édition standard. En m'inspirant fortement du lien suivant : http://doc.ubuntu-fr.org/personnaliser_livecd
Donc, à grosse mailles :
- j'extrais l'image iso d'un cd d'install ubuntu dans un répertoire nomé extractCd
- j'extrais le linux du système de fichier squash pour le placer dans un repertoire nomé squashFs
- je passe en chroot sur le répertoire squashFs, et à partir de la je fais la mise à jour de distrib avec "apt-get dist-upgrade"
- éventuellement je fais quelques adaptations spécifique (install, retrait de package...)
- ensuite toujours en chroot dans le squashfs, j'exécute le script qui me supprime les éventuels anciens kernels
- puis j'exécute le script qui recopie vmlinuz et initrd dans le répertoire casper de l'image iso
- puis je recomprime mon squashfs pour le remettre dans le répertoire extractCd à partir duquel je reconstruit l'image iso
J'ajoute que le fichier initrd peut être modifié en dehors d'une mise à jour de kernel proprement dite. L'installation ou la mise à jour de certain package ou même des modif de paramètres peuvent entrainer la reconstruction du initrd avec un contenu différent. Donc il y a toujours interret à le recopier dans le casper du cd pour que les modifications soient prisent en compte...
L'espace et le temps sont les modes par lesquels nous pensons, et non les conditions dans lesquelles nous vivons. (Signé Albert)
Hors ligne
#5 Le 07/07/2010, à 17:57
- doodz
Re : [resolu] Live USB et non maj du noyau
Petit question, mais réponse par forcément simple. Tout dépend comment tu constuit l'image de ton live usb, et surtout comment tu fais la mise à jour.
ben justement , je ne veux pas passer par une image. ma clé est fonctionnelle. J'arrive a faire les maj en direct sur ma clef. Je ne veux pas être obligé de repasser a chaque par la recreation d'une iso pour mettre le noyau a jour.
C'est pour ca qu au début je voulais juste savoir quels paquets faisaient partis du noyau (ou ceux utilisé dans casper en fait si je comprends le truc )
merci pour tes reponses en tout cas
Hors ligne
#6 Le 07/07/2010, à 18:25
- jamesbad000
Re : [resolu] Live USB et non maj du noyau
Ben si tu as installé ubuntu normalement au lieu d'une image, j'ai du mal à comprendre en quoi les mises à jour de kernel sont un problème ?
L'espace et le temps sont les modes par lesquels nous pensons, et non les conditions dans lesquelles nous vivons. (Signé Albert)
Hors ligne
#7 Le 07/07/2010, à 18:44
- doodz
Re : [resolu] Live USB et non maj du noyau
je reprends depuis le début, ca sera plus clair.
Je me suis fait un liveusb persistent (a partir d'une image)
Je démarre dessus, je l'utilise, je mets mes paquets qui vont bien (vlc, tweaks, gimp etc etc ) ,tout marche nickel. je change mon fond d'ecran, je regle mes mails etc etc
Je redémarre dessus, ma clef est a jour (donc jusque la , no problem)
Par contre, il ne faut pas que je mette le noyau a jour car lui est compressé dans le /casper et si je fais cela, au prochain boot ca ne marche plus , pb dans le vmlinuz (et je me suis fait avoir 2x comme ca parce que c est pas facile de repérer les paquets du noyau quand tu fais la mise a jour de 250 paquets d un coup)
Dans ta reponse precedente j avais cru comprendre que tu avais un moyen de mettre a jour le noyau en live donc depuis ma clef usb
Dernière modification par doodz (Le 07/07/2010, à 18:45)
Hors ligne
#8 Le 08/07/2010, à 00:31
- jamesbad000
Re : [resolu] Live USB et non maj du noyau
Ok, j'avais zappé le mode persistant. Donc là effectivement c'est mort...
L'espace et le temps sont les modes par lesquels nous pensons, et non les conditions dans lesquelles nous vivons. (Signé Albert)
Hors ligne