How to deblob vanilla Linux kernel (Debian way)

  • check out from Debians git
  • git clone git://anonscm.debian.org/git/kernel/linux.git
  • if you want to deblob not the current but an older kernel you have to look at the git log which commit fits. I want to deblob kernel 4.4.1, to which is commit 1ba618c3d3a87df99d39a28dfda677e24d8f959c is the appropriate revision, so I use:
    cd linux 
    git reset --hard 1ba618c3d3a87df99d39a28dfda677e24d8f959c
  • download kernel from kernel.org, in my case https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.4.1.tar.xz, put it in the parent directory of linux
  • Now execute the following command

    ./debian/bin/genorig.py ../linux-4.4.1.tar.xz
  • Now watch

    Using source name linux, version 4.4.1, dfsg 0
    Extracting tarball ../linux-4.4.1.tar.xz
    Patching source with debian patch (series orig)
    (+) OK debian/dfsg/arch-powerpc-platforms-8xx-ucode-disable.patch
    (+) OK debian/dfsg/drivers-media-dvb-dvb-usb-af9005-disable.patch
    (+) OK debian/dfsg/vs6624-disable.patch
    (+) OK debian/dfsg/drivers-net-appletalk-cops.patch
    (+) OK debian/dfsg/video-remove-nvidiafb-and-rivafb.patch
    (+) OK debian/dfsg/firmware-cleanup.patch
    (remove) OK Documentation/netlabel/draft-ietf-cipso-ipsecurity-01.txt
    (remove) OK firmware
    (remove) OK arch/powerpc/sysdev/micropatch.c
    (remove) OK drivers/media/usb/dvb-usb/af9005-script.h
    (remove) OK drivers/media/i2c/vs6624.c
    (remove) OK drivers/net/appletalk/cops.c
    (remove) OK drivers/net/appletalk/cops.h
    (remove) OK drivers/net/appletalk/cops_ffdrv.h
    (remove) OK drivers/net/appletalk/cops_ltdrv.h
    (remove) OK drivers/video/fbdev/nvidia/
    (remove) OK drivers/video/fbdev/riva/
    (X) OK debian/dfsg/files-1
    Generate tarball ../orig/linux_4.4.1.orig.tar.xz
  • Et voila, ../orig/linux_4.4.1.orig.tar.xz is the deblobbed Kernel tarball.