[Kernel] Appliquer patch

Salut tout le monde,

suite à une précédente discussion et afin de ne pas la polluer, j’ai décidé d’ouvrir ce thread.

J’ai une question, je disposes d’un kernel de kernel.org (2.6.24) et non celui des dépôts debian. Donc j’ai décidé de recompiler mon actuel mais en utilisant celui de Debian (faut de toute façon que je le recompile, j’ai des modules à rajouter pour l’imprimante). Du coup, j’ai récupéré les sources :

/usr/src# ll drwxr-sr-x 21 root src 4096 fév 16 18:54 linux-2.6-2.6.24 -rw-r--r-- 1 root src 3631758 fév 11 14:02 linux-2.6_2.6.24-4.diff.gz -rw-r--r-- 1 root src 4297 fév 11 14:02 linux-2.6_2.6.24-4.dsc -rw-r--r-- 1 root src 58426772 jan 26 13:17 linux-2.6_2.6.24.orig.tar.gz

Comment appliquer le patch ? Je suppose que le répertoire linux-2.6-2.6.24 est la base du noyau de kernel.org, non?

Merci

pour patcher:

patch -p1 --dry-run <[fichier-patch] (pour tester)
patch -p1 < [fichier_de_patch] (pour installer)
patch -R < [fichier_de_patch] (pour enlever un patch)

Aussi simple que ça…

Merci :slightly_smiling:

C’est presque bon, en effet, lorsque je lance la compilation :

[quote]po2debconf debian/templates.master > debian/templates
/bin/sh: debian/templates: est un répertoire
make[1]: *** [debian/linux-image-2.6.24] Erreur 1
make[1]: quittant le répertoire « /usr/src/linux-2.6-2.6.24 »
make: *** [binary/linux-image-2.6.24] Erreur 2[/quote]
:question:

Merci

Non, les headers constituent une partie de l’arborescence source, c’est elle que tu vois sous le répertoire linux-2.6-2.6.24.
Pour les sources, tu fais

$ tar xzf linux-2.6_2.6.24.orig.tar.gz

et là tu as une repertoire
linux-source-2.6.24 qui est le repertoire de tes sources, tu vas dedans et tu fais comme sur un kernel.org

À quoi sert le patch (.diff) fourni avec alors?

Le fichier orig signifie bien que c’est l’original, non? Si je ne fais que décompresser le .orig.tar.gz ça revient à prendre celui de kernel.org, non?

Houla, j’avais mal vu. Là tu as chargé le paquet source du noyau et non les sources noyau… différence subtile:

  • Les sources sont composés des sources originaux et des patchs et sert à faire tous les paquets y compres les paquets udeb qui t’indiffèrent.
  • le paquet source lui est un paquet linux-source…deb que tu installe par

apt-get install linux-source-2.6.24

et que tu met juste une archive
linux-source-2.6.24.tar.bz2 dans /usr/src. C’est tout

Cette archive, tu la déplies et dedans tu as les sources debian patchés avec l’arborescence debian pour compiler.

PS: à titre indicatif, les premier source se déplie via
$ dpkg-source -x linux…etc.dsc mais tu n’as pas intérêt à faire ça, ça ne t’apportera rien.

[quote=“fran.b”]Houla, j’avais mal vu. Là tu as chargé le paquet source du noyau et non les sources noyau… différence subtile:

  • Les sources sont composés des sources originaux et des patchs et sert à faire tous les paquets y compres les paquets udeb qui t’indiffèrent.
  • le paquet source lui est un paquet linux-source…deb que tu installe par

apt-get install linux-source-2.6.24

et que tu met juste une archive
linux-source-2.6.24.tar.bz2 dans /usr/src. C’est tout

Cette archive, tu la déplies et dedans tu as les sources debian patchés avec l’arborescence debian pour compiler.

PS: à titre indicatif, les premier source se déplie via
$ dpkg-source -x linux…etc.dsc mais tu n’as pas intérêt à faire ça, ça ne t’apportera rien.[/quote]

J’ai suivi jusqu’au premier point (*) mais apres j’avoue ne plus avoir compris :frowning:

Il ne faut pas confondre source permettant de faire les paquets debian (orig.tar.gz, + diff.gz + .dsc) et paquet linux-source contenant les source du noyau. Tu as installé les premiers alors qu’il te faut les seconds:

apt-get install linux-source-uname -r

quand tu as installé le paquet des sources, tu vas dans /usr/src, ou il y a le fichier linux-source-2.6.24.tar.bz2, que tu décompresses.
Dans le répertoire linux-source-2.6.24 qui se déploie, tu as les sources déjà patchées avec les patchs debian.
Là, tu compiles ton noyau comme d’hab avec make-kpkg.

Si tu as besoin d’installer encore d’autres patchs comme par exemple debianlogo qui te fait apparaitre pour chaque processeur un manchot avec la spirale debian au boot, regardes dans le man de make-kpkg l’option --added-patches.

Z’êtes des chefs