Compilation d'un kernel.org avec patch

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:

    # 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

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

    # 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

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