[Problème] Patch Kernel (Arch: amd64)

Demande d'aide : c'est ici.
Répondre
Drthrax74
Messages : 3
Inscription : 11 janv. 2024, 18:32
Status : Hors-ligne

Bonjour,

Souhaitant compiler mon Kernel, j'ai téléchargé les sources du Kernel 6.15.0 puis appliquer les patchs.

Le patch 6.15.1 est bien passé, mais le patch 6.15.2 m'indique un message que je ne comprends pas.

Quelle serait la méthodologie et la logique pour bien appliquer les patchs.

Merci d'avance.


Préparation :

Code : Tout sélectionner

clear;
cd $HOME;
rm -r  /mnt/data/kernel 2>/dev/null;
mkdir -p /mnt/data/kernel;
cd /mnt/data/kernel;

Téléchargement des fichiers :
clear;

Code : Tout sélectionner

wget https://www.kernel.org/pub/linux/kernel/v6.x/linux-6.15.tar.xz;
wget https://www.kernel.org/pub/linux/kernel/v6.x/patch-6.15.xz;
wget https://www.kernel.org/pub/linux/kernel/v6.x/patch-6.15.1.xz; 
wget https://www.kernel.org/pub/linux/kernel/v6.x/patch-6.15.2.xz;
wget https://www.kernel.org/pub/linux/kernel/v6.x/patch-6.15.3.xz;
wget https://www.kernel.org/pub/linux/kernel/v6.x/patch-6.15.4.xz;
wget https://www.kernel.org/pub/linux/kernel/v6.x/patch-6.15.5.xz;
wget https://www.kernel.org/pub/linux/kernel/v6.x/patch-6.15.6.xz;
wget https://www.kernel.org/pub/linux/kernel/v6.x/patch-6.15.7.xz;
wget https://www.kernel.org/pub/linux/kernel/v6.x/patch-6.15.8.xz;
wget https://www.kernel.org/pub/linux/kernel/v6.x/patch-6.15.9.xz;

Extraction :

Code : Tout sélectionner

clear;
tar xf ./linux-6.15.tar.xz;
unxz  patch-6.15.xz;
unxz patch-6.15.1.xz;
unxz patch-6.15.2.xz;
unxz patch-6.15.3.xz;
unxz patch-6.15.4.xz;
unxz patch-6.15.5.xz;
unxz patch-6.15.6.xz;
unxz patch-6.15.7.xz;
unxz patch-6.15.8.xz;
unxz patch-6.15.9.xz;
Version du Kernel:

Code : Tout sélectionner

clear;
cd ./linux-6.15;
make kernelversion;
# 6.15.0
Patch 1:

Code : Tout sélectionner

patch -p1 < ../patch-6.15.1
make kernelversion;
# 6.15.1
checking file Makefile
checking file arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi
checking file arch/arm64/boot/dts/qcom/ipq9574.dtsi
checking file arch/arm64/boot/dts/qcom/sa8775p.dtsi
checking file arch/arm64/boot/dts/qcom/sm8350.dtsi
checking file arch/arm64/boot/dts/qcom/sm8450.dtsi
checking file arch/arm64/boot/dts/qcom/sm8550.dtsi
checking file arch/arm64/boot/dts/qcom/sm8650.dtsi
checking file arch/arm64/boot/dts/qcom/x1e001de-devkit.dts
checking file arch/arm64/boot/dts/qcom/x1e80100-asus-vivobook-s15.dts
checking file arch/arm64/boot/dts/qcom/x1e80100-dell-xps13-9345.dts
checking file arch/arm64/boot/dts/qcom/x1e80100-hp-omnibook-x14.dts
checking file arch/arm64/boot/dts/qcom/x1e80100-lenovo-yoga-slim7x.dts
checking file arch/arm64/boot/dts/qcom/x1e80100-qcp.dts
checking file arch/arm64/boot/dts/qcom/x1e80100.dtsi
checking file arch/arm64/boot/dts/rockchip/rk3399-puma.dtsi
checking file arch/arm64/boot/dts/rockchip/rk3576.dtsi
checking file arch/arm64/boot/dts/ti/k3-am62-main.dtsi
checking file arch/arm64/boot/dts/ti/k3-am62a-main.dtsi
checking file arch/arm64/boot/dts/ti/k3-am62p-j722s-common-main.dtsi
checking file arch/arm64/boot/dts/ti/k3-am62x-sk-csi2-imx219.dtso
checking file arch/arm64/boot/dts/ti/k3-am62x-sk-csi2-ov5640.dtso
checking file arch/arm64/boot/dts/ti/k3-am62x-sk-csi2-tevi-ov5640.dtso
checking file arch/arm64/boot/dts/ti/k3-am65-main.dtsi
checking file arch/arm64/boot/dts/ti/k3-am68-sk-base-board.dts
checking file arch/arm64/boot/dts/ti/k3-j721e-sk-csi2-dual-imx219.dtso
checking file arch/arm64/boot/dts/ti/k3-j721e-sk.dts
checking file arch/arm64/boot/dts/ti/k3-j722s-evm.dts
checking file arch/arm64/boot/dts/ti/k3-j722s-main.dtsi
checking file arch/arm64/boot/dts/ti/k3-j784s4-j742s2-main-common.dtsi
checking file drivers/iommu/iommu.c
checking file drivers/perf/arm-cmn.c
checking file fs/coredump.c
checking file fs/pidfs.c
checking file include/linux/coredump.h
checking file include/linux/iommu.h
checking file net/sched/sch_hfsc.c

Patch 2:

Code : Tout sélectionner

patch -p1 < ../patch-6.15.2
patching file Documentation/devicetree/bindings/phy/fsl,imx8mq-usb-phy.yaml
patching file Documentation/devicetree/bindings/pwm/adi,axi-pwmgen.yaml
patching file Documentation/devicetree/bindings/remoteproc/qcom,sm8150-pas.yaml
patching file Documentation/devicetree/bindings/usb/cypress,hx3.yaml
patching file Documentation/firmware-guide/acpi/dsd/data-node-references.rst
patching file Documentation/firmware-guide/acpi/dsd/graph.rst
patching file Documentation/firmware-guide/acpi/dsd/leds.rst
patching file Makefile
Hunk #1 FAILED at 1.
1 out of 1 hunk FAILED -- saving rejects to file Makefile.rej
patching file arch/arm64/boot/dts/intel/socfpga_agilex5.dtsi
Reversed (or previously applied) patch detected! Assume -R? [n]
---------------------------------------------------------------------------------------------------

Tentative de compilation du Kernel 6.15.0 : (KO)
Sans patch

Code : Tout sélectionner

clear;

export ARCH=x86_64

KERNEL=6.15
WORKDIR=/mnt/data/kernel


cd       $HOME;
rm -r    $WORKDIR 2>/dev/null;
mkdir -p $WORKDIR;
cd       $WORKDIR;

wget https://www.kernel.org/pub/linux/kernel/v6.x/linux-$KERNEL.tar.xz  2>/dev/null;
tar xf ./linux-$KERNEL.tar.xz;
cd $WORKDIR/linux-$KERNEL;

make mrproper;
make oldconfig;
make menuconfig;
make oldconfig;
make prepare;

make -j$(nproc) bzImage;
make -j$(nproc) modules;

sudo make headers_install
sudo make modules_install;

sudo make install;
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 5977
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : En ligne

Comme indiqué dans le message d'erreur, tu tentes d'appliquer un patch déja appliqué, ou annullé.
Drthrax74
Messages : 3
Inscription : 11 janv. 2024, 18:32
Status : Hors-ligne

Bonjour,

Si j'ai bien compris le patch 2 est un ajout du patch 1 dans ce cas présent et donc la partie déjà appliquée pourrait être ignoré ?

Comment on peut savoir si un patch a été annulé ?
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 5977
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : En ligne

Si tu n'as jamais compilé de kernel, tu devrais commencer par plus simple: compiler le kernel déja patché par debian
https://wiki.debian.org/BuildADebianKernelPackage
Et si tout est OK, tu pourras ajouter d'autres patch. De quelle fonctionnalité ssupplémentaires as tu besoin qui ne seraient pas dans le noyau debian ?
Tu peux aussi t'inspirer de ce que font les personnes de chez https://liquorix.net/
Drthrax74
Messages : 3
Inscription : 11 janv. 2024, 18:32
Status : Hors-ligne

Bonjour,

Je souhaite apprends le patchage et pas avoir un kernel tout prêt.
Avatar de l’utilisateur
piratebab
Site Admin
Site Admin
Messages : 5977
Inscription : 24 avr. 2016, 18:41
Localisation : sud ouest
Status : En ligne

Inspire toi de https://kernel-team.pages.debian.net/ke ... n-official et décortique leur script de configuration des patch. Ca te fera une première expérience
Répondre