L'application des correctifs au noyau Linux - La documentation du noyau Linux

Ce document est obsolète. Dans la plupart des cas, plutôt que d'utiliser patcher, vous voudrez certainement envisager d'utiliser Git à la place.

Une question fréquemment posée sur la liste de diffusion du noyau Linux est de savoir comment appliquer un patch pour le noyau ou, plus précisément, ce noyau de base un patch pour l'un des nombreux arbres / branches devraient être appliquées à. Espérons que ce document vous expliquer cela.

En plus d'expliquer comment appliquer et patches revenir, une brève description des différents arbres du noyau (et des exemples de la façon d'appliquer leurs correctifs spécifiques) est également fourni.

Qu'est-ce qu'un patch? ¶

Un patch est un petit document texte contenant un delta de changements entre deux versions différentes d'un arbre source. Les correctifs sont créés avec le programme diff.

Pour appliquer correctement un patch dont vous avez besoin de savoir quelle base il a été généré à partir et ce que la nouvelle version du patch changera l'arbre source dans. Ceux-ci devraient tous deux être présents dans les métadonnées du fichier de patch ou être possible d'en déduire le nom du fichier.

Comment puis-je appliquer un patch ou revenir? ¶

Vous appliquez un patch avec le programme de patch. Le programme patch lit un fichier diff (ou patch) et apporte les modifications à l'arbre source décrite.

Les correctifs pour le noyau Linux sont générés par rapport au répertoire parent maintenant la source du noyau dir.

Cela signifie que les chemins vers des fichiers à l'intérieur du fichier patch contiennent le nom des répertoires source du noyau, il a été généré contre (ou d'autres noms de répertoire comme « a / » et « b / »).

Comme il est peu probable de faire correspondre le nom du répertoire source du noyau sur votre machine locale (mais souvent des informations utiles pour voir quelle version d'une pièce autrement sans étiquette a été générée contre), vous devez changer dans votre répertoire source du noyau et la bande, le premier élément de le chemin de noms de fichiers dans le fichier patch lors de l'application (l'argument -p1 patcher fait cela).

Pour revenir un patch appliqué précédemment, utilisez l'argument -R de patch. Donc, si vous avez appliqué un patch comme ceci:

Vous pouvez revenir (retour) comme ceci:

Articles Liés