OVH Cloud OVH Cloud

pb pour patcher mon noyau

6 réponses
Avatar
Zanton
Bonjour,

je souhaite patcher mon 2.6.7 pour passer en 2.6.8.1 qui vient de sortir
mais malheureusement, ça bloque et je ne comprends pas pourquoi :s Ca
marchait très bien avant... (je suis sous debian sid)

J'ai téléchargé le patch sur kernel.org puis je l'ai décompressé dans
/usr/src . Je me place dans ce répertoier er j'utilise mon script
préféré, patch-kernel : #/usr/src/linux/scripts/patch-kernel
et là il me retourne un Current kernel version is 2.6.7
Tiens, il me faisait jamais ça avant :s Je réessaie et idem. Bon, je me
mets dans /usr/src/linux/ et je fais un #patch -p1 ../patch-2.6.8.1 et
là, j'attends mais alors j'attends longtemps et rien ne se passe
(normalement, il met 30s à me patcher mon noyau). Tant pis, je fais un
Ctrl+C et j'essaie de rebooter en espérant ne pas avoir cassé le
"patchage". C'est bon, ça passe et je suis toujours en 2.6.7 :s

Je voudrais donc savoir si d'autres que moi ont se problème ou si on
peut me donner la méthode pour le résoudre.

Merci,

Zanton

6 réponses

Avatar
Frédéric BISSON
je souhaite patcher mon 2.6.7 pour passer en 2.6.8.1 qui vient de sortir
mais malheureusement, ça bloque et je ne comprends pas pourquoi :s Ca
marchait très bien avant... (je suis sous debian sid)
Es-tu passé par la case 2.6.8 ?

La 2.6.8.1 est sortie le 14 août 2004 à 4h13 peu de temps après la
2.6.8 le 13 août 2004 à 23h10... (correction d'un bug dans le module nfs).

Or le patch 2.6.8.1 fait 422 octets (et pour cause, il n'y a en gros
qu'une ligne à corriger dans un fichier .c) tandis que le patch 2.6.8
fait 3.5 Mo...

Si tu veux patcher ton 2.6.7, tu dois d'abord télécharger le fichier
http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.8.bz2
et ensuite le fichier
http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.8.1.bz2

Je voudrais donc savoir si d'autres que moi ont se problème ou si on
peut me donner la méthode pour le résoudre.
J'utilise une méthode "bourin" : je n'applique jamais de patch, je

télécharge complètement le nouveau noyau, je recopie le fichier .config
dans le répertoire et je vérifie (make menuconfig) que tout est OK et je
lance une compilation.

@+

Frédéric BISSON

Avatar
Zanton
Frédéric BISSON wrote:
je souhaite patcher mon 2.6.7 pour passer en 2.6.8.1 qui vient de sortir
mais malheureusement, ça bloque et je ne comprends pas pourquoi :s Ca
marchait très bien avant... (je suis sous debian sid)


Es-tu passé par la case 2.6.8 ?
La 2.6.8.1 est sortie le 14 août 2004 à 4h13 peu de temps après la
2.6.8 le 13 août 2004 à 23h10... (correction d'un bug dans le module nfs).

Or le patch 2.6.8.1 fait 422 octets (et pour cause, il n'y a en gros
qu'une ligne à corriger dans un fichier .c) tandis que le patch 2.6.8
fait 3.5 Mo...

Si tu veux patcher ton 2.6.7, tu dois d'abord télécharger le fichier
http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.8.bz2
et ensuite le fichier
http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.8.1.bz2


Je voudrais donc savoir si d'autres que moi ont se problème ou si on
peut me donner la méthode pour le résoudre.


J'utilise une méthode "bourin" : je n'applique jamais de patch, je
télécharge complètement le nouveau noyau, je recopie le fichier .config
dans le répertoire et je vérifie (make menuconfig) que tout est OK et je
lance une compilation.

@+

Frédéric BISSON


Bon, j'ai téléchargé le 2.6.8 et j'ai fait le patch-kernel et ça a
marché, je suis en 2.6.8 Par contre, rien ne m'indique que le patch
2.6.8.1 a bien été appliqué. J'ai tenté un patch -p1 dessus mais il
bloque, il ne fait rien :s
Y'a un moyen de savoir si ça a bien fonctionné pour le 2.6.8.1 ?


Avatar
Frédéric BISSON
Bon, j'ai téléchargé le 2.6.8 et j'ai fait le patch-kernel et ça a
marché, je suis en 2.6.8
On avance ! ;-)


Par contre, rien ne m'indique que le patch
2.6.8.1 a bien été appliqué. J'ai tenté un patch -p1 dessus mais il
bloque, il ne fait rien :s
Comme je l'ai dit dans le précédent mail, si tu n'utilises pas nfs

(Network File System, partage de fichiers en réseau dans le même
ordre d'idée que Samba/SMB) la version 2.6.8.1 ne t'apportera ABSOLUMENT
RIEN par rapport à la 2.6.8.

Y'a un moyen de savoir si ça a bien fonctionné pour le 2.6.8.1 ?
Que te répond uname -r ?


Voici les lignes qui ont changé dans fs/nfs/file.c :
@@ -72,7 +72,7 @@

static int nfs_check_flags(int flags)
{
- if (flags & (O_APPEND | O_DIRECT))
+ if ((flags & (O_APPEND | O_DIRECT)) == (O_APPEND | O_DIRECT))
return -EINVAL;

return 0;
@@ -89,7 +89,7 @@
int res;

res = nfs_check_flags(filp->f_flags);
- if (!res)
+ if (res)
return res;

lock_kernel();

Donc, si le patch se passe mal, un petit coup de vi, tu modifies les
lignes correspondantes et 3 minutes plus tard l'affaire est réglée.

@+

Frédéric BISSON

Avatar
Zanton
Frédéric BISSON wrote:
Bon, j'ai téléchargé le 2.6.8 et j'ai fait le patch-kernel et ça a
marché, je suis en 2.6.8


On avance ! ;-)


Par contre, rien ne m'indique que le patch
2.6.8.1 a bien été appliqué. J'ai tenté un patch -p1 dessus mais il
bloque, il ne fait rien :s


Comme je l'ai dit dans le précédent mail, si tu n'utilises pas nfs
(Network File System, partage de fichiers en réseau dans le même
ordre d'idée que Samba/SMB) la version 2.6.8.1 ne t'apportera ABSOLUMENT
RIEN par rapport à la 2.6.8.


Y'a un moyen de savoir si ça a bien fonctionné pour le 2.6.8.1 ?


Que te répond uname -r ?

Voici les lignes qui ont changé dans fs/nfs/file.c :
@@ -72,7 +72,7 @@

static int nfs_check_flags(int flags)
{
- if (flags & (O_APPEND | O_DIRECT))
+ if ((flags & (O_APPEND | O_DIRECT)) == (O_APPEND | O_DIRECT))
return -EINVAL;

return 0;
@@ -89,7 +89,7 @@
int res;

res = nfs_check_flags(filp->f_flags);
- if (!res)
+ if (res)
return res;

lock_kernel();

Donc, si le patch se passe mal, un petit coup de vi, tu modifies les
lignes correspondantes et 3 minutes plus tard l'affaire est réglée.

@+

Frédéric BISSON

merci de ton aide :)



Avatar
Jean-Marie Bonnet
Le Sun, 15 Aug 2004 12:17:15 +0200 ,
Zanton a écrit:

Bonjour,

je fais un #patch -p1 ../patch-2.6.8.1 et
là, j'attends mais alors j'attends longtemps et rien ne se passe


Et tu peux attendre des lustres, il ne se passera jamais rien!
La commande est patch -p1 < patch
patch attend les données de l'entrée standard.

JMB

Avatar
Pierre Thorel

Le Sun, 15 Aug 2004 12:17:15 +0200 ,
Zanton a écrit:

Bonjour,

je fais un #patch -p1 ../patch-2.6.8.1 et
là, j'attends mais alors j'attends longtemps et rien ne se passe


Et tu peux attendre des lustres, il ne se passera jamais rien!
La commande est patch -p1 < patch
patch attend les données de l'entrée standard.


On peut aussi les passer en argument à condition de le prévenir:
patch -Np1 -i ../patch-2.6.8.1


Cordialement, Pierre Thorel