mirror of https://framagit.org/kyodev/kyopages.git
211 lines
8.2 KiB
Markdown
211 lines
8.2 KiB
Markdown
# Compilation d'un kernel.org avec patch
|
|
|
|
* destination debian
|
|
|
|
## préparation
|
|
|
|
dans kernel.org, on récupére la nouvelle version de la même branche du noyau :
|
|
4.10.15 => patch incrémental = 4.10.14-15
|
|
|
|
**Rq**:
|
|
|
|
* **incr. patch**, patch incrémental, est pour une **même branche** (4.10.15 à partir de 4.10.14 par exemple), **version par version**
|
|
* **patch** est pour upgrader une **branche inférieure** (4.10.15 à partir de 4.9.27)
|
|
* un petit avantage de patcher au fur et à mesure est de voir quels fichiers sont impactés
|
|
|
|
```shell
|
|
# répertoire racine des noyaux à compiler
|
|
# adapter si besoin. Ex: en sous-dossier: linux-4.10.14
|
|
cd ~/kernel
|
|
|
|
# **/!\** modifier la version du kernel à patcher et celle du patch
|
|
# passer de version à version une par une
|
|
# ne pas changer de branche
|
|
kversion=4.10.14
|
|
kpatch=4.10.15
|
|
```
|
|
|
|
## téléchargement
|
|
|
|
```shell
|
|
cd ~/kernel/linux-$kversion
|
|
kpatchSuff=$(echo $kpatch | awk -F "." '{print $3}')
|
|
kload=$kversion'-'$kpatchSuff
|
|
kcore=$(echo $kversion | awk -F "." '{print $1}')
|
|
|
|
wget "https://cdn.kernel.org/pub/linux/kernel/v$kcore.x/incr/patch-$kload.xz"
|
|
|
|
# décompression
|
|
xz -d patch-$kload.xz
|
|
|
|
# localisation patch
|
|
if [ -f "patch-$kload/data" ]; then patchDiff=patch-$kload/data; else patchDiff=patch-$kload; fi
|
|
if [ ! -f "patch-$kload" ]; then echo "Patch Introuvable, continuer manuellement"; fi
|
|
```
|
|
|
|
## patch / ménage
|
|
|
|
si patch localisé automatiquement, sinon chercher manuellement où est le patch
|
|
```shell
|
|
# patch
|
|
patch -p1 -b -i $patchDiff
|
|
|
|
# ménage, on remontre, renomme le dossier et redescend pour compiler
|
|
cd ..
|
|
mv linux-$kversion linux-$kpatch
|
|
cd linux-$kpatch
|
|
```
|
|
|
|
exemple sortie en patchant 4.10.14 avec 4.10.15
|
|
```text
|
|
patching file Makefile
|
|
patching file arch/arm/boot/dts/am57xx-idk-common.dtsi
|
|
patching file arch/arm/boot/dts/bcm958522er.dts
|
|
patching file arch/arm/boot/dts/bcm958525er.dts
|
|
patching file arch/arm/boot/dts/bcm958525xmc.dts
|
|
patching file arch/arm/boot/dts/bcm958622hr.dts
|
|
patching file arch/arm/boot/dts/bcm958623hr.dts
|
|
patching file arch/arm/boot/dts/bcm958625hr.dts
|
|
patching file arch/arm/boot/dts/bcm988312hr.dts
|
|
patching file arch/arm/boot/dts/imx6sx-udoo-neo.dtsi
|
|
patching file arch/arm/boot/dts/qcom-ipq8064.dtsi
|
|
patching file arch/arm/boot/dts/sun7i-a20-lamobo-r1.dts
|
|
patching file arch/arm/mach-omap2/omap-headsmp.S
|
|
patching file arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
|
|
patching file arch/arm/mach-pxa/ezx.c
|
|
patching file arch/arm64/boot/dts/renesas/r8a7795.dtsi
|
|
patching file arch/arm64/include/asm/pgtable.h
|
|
patching file arch/arm64/kernel/topology.c
|
|
patching file arch/arm64/net/bpf_jit_comp.c
|
|
patching file arch/mips/kernel/mips-r2-to-r6-emul.c
|
|
patching file arch/powerpc/Kconfig
|
|
patching file arch/powerpc/include/asm/reg.h
|
|
patching file arch/powerpc/kernel/Makefile
|
|
patching file arch/powerpc/kvm/book3s_hv.c
|
|
patching file arch/powerpc/mm/mmu_context_iommu.c
|
|
patching file arch/powerpc/perf/core-book3s.c
|
|
patching file arch/powerpc/perf/isa207-common.c
|
|
patching file arch/powerpc/perf/isa207-common.h
|
|
patching file arch/powerpc/perf/power9-pmu.c
|
|
patching file arch/powerpc/platforms/powernv/opal-wrappers.S
|
|
patching file arch/sparc/kernel/head_64.S
|
|
patching file arch/sparc/lib/GENbzero.S
|
|
patching file arch/sparc/lib/NGbzero.S
|
|
patching file arch/x86/events/intel/pt.c
|
|
patching file arch/x86/include/asm/xen/events.h
|
|
patching file arch/x86/kernel/apic/io_apic.c
|
|
patching file arch/x86/kernel/kprobes/common.h
|
|
patching file arch/x86/kernel/kprobes/core.c
|
|
patching file arch/x86/kernel/kprobes/opt.c
|
|
patching file arch/x86/kernel/pci-calgary_64.c
|
|
patching file arch/x86/kvm/cpuid.c
|
|
patching file arch/x86/kvm/vmx.c
|
|
patching file arch/x86/pci/xen.c
|
|
patching file arch/x86/platform/intel-mid/device_libs/platform_mrfld_wdt.c
|
|
patching file arch/x86/xen/enlighten.c
|
|
patching file arch/x86/xen/smp.c
|
|
patching file arch/x86/xen/time.c
|
|
patching file block/blk-integrity.c
|
|
patching file block/partition-generic.c
|
|
patching file drivers/char/tpm/tpm-chip.c
|
|
patching file drivers/char/tpm/tpm.h
|
|
patching file drivers/char/tpm/tpm2-cmd.c
|
|
patching file drivers/clk/Makefile
|
|
patching file drivers/clk/rockchip/clk-rk3036.c
|
|
patching file drivers/crypto/caam/caamhash.c
|
|
patching file drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_fbdev.c
|
|
patching file drivers/gpu/drm/mxsfb/mxsfb_drv.c
|
|
patching file drivers/gpu/drm/sti/sti_gdp.c
|
|
patching file drivers/gpu/drm/ttm/ttm_bo_vm.c
|
|
patching file drivers/hwmon/it87.c
|
|
patching file drivers/leds/leds-ktd2692.c
|
|
patching file drivers/mtd/nand/Kconfig
|
|
patching file drivers/net/ethernet/broadcom/bnxt/bnxt.c
|
|
patching file drivers/net/ethernet/cadence/macb.c
|
|
patching file drivers/net/geneve.c
|
|
patching file drivers/net/macsec.c
|
|
patching file drivers/net/phy/mdio-mux-bcm-iproc.c
|
|
patching file drivers/net/usb/qmi_wwan.c
|
|
patching file drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c
|
|
patching file drivers/net/wireless/intel/iwlwifi/iwl-6000.c
|
|
patching file drivers/net/wireless/intel/iwlwifi/mvm/d3.c
|
|
patching file drivers/net/wireless/intel/iwlwifi/mvm/debugfs.c
|
|
patching file drivers/net/wireless/intel/iwlwifi/mvm/fw-dbg.c
|
|
patching file drivers/net/wireless/intel/iwlwifi/mvm/fw.c
|
|
patching file drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
|
|
patching file drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c
|
|
patching file drivers/net/wireless/intel/iwlwifi/mvm/sta.c
|
|
patching file drivers/net/wireless/intel/iwlwifi/mvm/tx.c
|
|
patching file drivers/net/wireless/intel/iwlwifi/pcie/internal.h
|
|
patching file drivers/net/wireless/intel/iwlwifi/pcie/trans.c
|
|
patching file drivers/net/wireless/intel/iwlwifi/pcie/tx.c
|
|
patching file drivers/net/wireless/marvell/mwifiex/11n_aggr.c
|
|
patching file drivers/net/wireless/marvell/mwifiex/debugfs.c
|
|
patching file drivers/net/wireless/marvell/mwifiex/main.c
|
|
patching file drivers/net/wireless/marvell/mwifiex/sta_ioctl.c
|
|
patching file drivers/phy/Kconfig
|
|
patching file drivers/platform/x86/intel_pmc_core.c
|
|
patching file drivers/power/supply/bq24190_charger.c
|
|
patching file drivers/power/supply/lp8788-charger.c
|
|
patching file drivers/scsi/Kconfig
|
|
patching file drivers/scsi/qedi/qedi_debugfs.c
|
|
patching file drivers/scsi/qedi/qedi_fw.c
|
|
patching file drivers/scsi/qedi/qedi_gbl.h
|
|
patching file drivers/scsi/qedi/qedi_iscsi.c
|
|
patching file drivers/scsi/qla2xxx/qla_os.c
|
|
patching file drivers/scsi/smartpqi/smartpqi_init.c
|
|
patching file drivers/spi/spi-armada-3700.c
|
|
patching file drivers/staging/emxx_udc/emxx_udc.c
|
|
patching file drivers/staging/lustre/lustre/llite/lproc_llite.c
|
|
patching file drivers/staging/lustre/lustre/ptlrpc/pack_generic.c
|
|
patching file drivers/staging/wlan-ng/p80211netdev.c
|
|
patching file drivers/tty/serial/8250/8250_omap.c
|
|
patching file drivers/usb/chipidea/ci.h
|
|
patching file drivers/usb/chipidea/core.c
|
|
patching file drivers/usb/chipidea/otg.c
|
|
patching file drivers/usb/dwc2/core.c
|
|
patching file drivers/usb/host/ehci-exynos.c
|
|
patching file drivers/usb/host/ohci-exynos.c
|
|
patching file drivers/usb/serial/ark3116.c
|
|
patching file drivers/usb/serial/ch341.c
|
|
patching file drivers/usb/serial/digi_acceleport.c
|
|
patching file drivers/usb/serial/ftdi_sio.c
|
|
patching file drivers/usb/serial/io_edgeport.c
|
|
patching file drivers/usb/serial/keyspan_pda.c
|
|
patching file drivers/usb/serial/mct_u232.c
|
|
patching file drivers/usb/serial/quatech2.c
|
|
patching file drivers/usb/serial/ssu100.c
|
|
patching file drivers/usb/serial/ti_usb_3410_5052.c
|
|
patching file drivers/xen/events/events_base.c
|
|
patching file drivers/xen/platform-pci.c
|
|
patching file fs/9p/acl.c
|
|
patching file fs/block_dev.c
|
|
patching file fs/f2fs/super.c
|
|
patching file include/linux/f2fs_fs.h
|
|
patching file include/linux/genhd.h
|
|
patching file include/linux/usb/chipidea.h
|
|
patching file include/net/addrconf.h
|
|
patching file include/net/ip6_route.h
|
|
patching file include/xen/xen.h
|
|
patching file kernel/bpf/verifier.c
|
|
patching file lib/test_bpf.c
|
|
patching file net/core/rtnetlink.c
|
|
patching file net/core/skbuff.c
|
|
patching file net/ipv4/raw.c
|
|
patching file net/ipv4/tcp_lp.c
|
|
patching file net/ipv4/tcp_minisocks.c
|
|
patching file net/ipv4/tcp_output.c
|
|
patching file net/ipv6/addrconf.c
|
|
patching file net/ipv6/raw.c
|
|
patching file net/ipv6/route.c
|
|
patching file net/openvswitch/vport-internal_dev.c
|
|
patching file sound/pci/hda/hda_intel.c
|
|
patching file tools/power/cpupower/utils/helpers/cpuid.c
|
|
patching file tools/testing/selftests/bpf/test_verifier.c
|
|
patching file tools/testing/selftests/x86/Makefile
|
|
```
|
|
|
|
## compilation
|
|
|
|
voir [compilation kernel.org](kernel-compil)
|