Changeset 668 for branches

Sep 7, 2015, 6:23:19 AM (4 years ago)

Introduce patches for Debian's 3.16 kernel. These are merely the generic
patches for kernel 3.16, so device-specific patches will be needed on top
of these. Currently these are untested, but folks wishing to try porting
for their device are invited to start the work.

228 added
3 edited


  • branches/contrib/debian/package-build/linux-patch-openwrt/README

    r599 r668  
    1 Currently this is at perhaps an alpha state and very much a work in progress.
     1Currently this is at perhaps a beta state and very much a work in progress.
    33The goal is to generate and package a set of patches to the Debian-patched
    1010First, on your build system you will need to install the packages
    11 linux-source-3.2, kernel-package, and c-compiler-mipsel-linux-gnu.  Second,
    12 unpack the kernel source (/usr/src/linux-3.2.tar.bz2) into a build directory of
    13 your choice.  Then apply these patches in the order: linux-patch-openwrt,
    14 linux-patch-yaffs2, linux-patch-ocf, linux-patch-brcm47xx, and finally
    15 linux-patch-brcm4716 (people on non-4716 devices can skip the last step).  The
    16 suggested patch application method is to use the script
     11linux-source-3.2, kernel-package, and c-compiler-mipsel-linux-gnu (or
     12c-compiler:mipsel if you're on testing).  Second, unpack the kernel source
     13(/usr/src/linux-3.2.tar.bz2) into a build directory of your choice.  Then apply
     14these patches in the order: linux-patch-openwrt, linux-patch-yaffs2,
     15linux-patch-ocf, and linux-patch-bcm47xx.  People using Broadcom 4716-type
     16devices with kernel 3.2 will aditionally need to install linux-patch-bcm4716.
     17The suggested patch application method is to use the script
    1718`/usr/src/linux-patch-<piece>/scripts/apply <dir>` included with each patch.
    1819The process can be done manually by first unpacking the files-3.2.tar.xz
    2425`make-kpkg --arch mipsel --cross-compile mipsel-linux-gnu- kernel_image`
    26 While these patches are known to successfully boot an ASUS RT-N16 (Broadcom
    27 4718) they lack support for the switch chip and as a result the device won't be
    28 network visible (you'll need a TTL-level serial cable).  The kernel
    29 command-line has been found to be ignored.  The kernel will be installed as
    30 /boot/vmlinux-<version>, this file will be ELF-format and appropriate for use
    31 with KEXEC, however; an additional symlink will be needed to cause DebWRT to
    32 automatically KEXEC this kernel.
     27At the moment the suggested way to build a RT-N16 kernel is to use the target
     28debian/linux-image/rt-n16, this will build the currently known to work
     29configuration.  There is an experimental configuration for the WL500GPv1 which
     30is suspected to work, but this hasn't been confirmed.
     32These patches contain code that is known to successfully boot an ASUS RT-N16
     33(Broadcom 4718, a type of 4716 and needs the 4716 patches).  The code to handle
     34the switch chip on most devices is in the separate kernel module
     35"linux-module-switch-source", unless you install this module the device won't
     36be network visible (you'll need a TTL-level serial cable to talk to the device,
     37or reinstall an older kernel).
     39The kernel command-line has been found to be ignored, experimentation seems to
     40suggest the kernel command-line is just plain broken with these patches.
     41Hopefully this will be fixed with later patch/kernel versions.  The kernel will
     42be installed as /boot/vmlinux-<version>, this file will be ELF-format and
     43appropriate for use with KEXEC; however, a link named "/boot/vmlinux" will be
     44needed to cause DebWRT to automatically KEXEC this kernel.
    3547Major issues at the moment:
    37         - I need to explore Debian-helper so these turn into /actual/ packages,
    38         rather than just a collection of kernel patches.
    4049        - I'm usure of how to "properly" handle kernel patch packages at this
    4251        option and dh-kpatches is effectively orphaned.
    44         - Kernel configuration for these embedded systems is going to be rather
    45         non-trivial.  For the moment people will likely have to steal .config
    46         files from OpenWRT.
    4853Minor issues at the moment:
    50         - The OpenWRT patches really should be broken up.  During the first
    51         pass at developing these patches, it turned out to be easy to split the
    52         files/patches for the Open Cryptographic Framework into a separate
    53         group.  I suspect there are quite a few other groups of patches that
    54         can be split off.  I'm unsure whether including the OCF patch is a
    55         benefit to DebWRT or not (looks like a no-op, but I do not know /where/
    56         in OpenWRT it was used).
     55        - There will need to be support for the 3.16 (grr, OpenWRT why are you
     56        targeting 3.14 and 3.18, unlike nearly all other distribution!) or
     57        possibly a later kernel in the future.
    58         - There will need to be support for the 3.10 or possibly a later kernel
    59         in the future.
    61 Copyright (C) 2014 Elliott Mitchell
     60Kernel 3.2 versions:
     62        The patches to the Debian's Linux 3.2 kernel are based off of OpenWRT's
     63        patches, available at svn://
     64        The revisions of note are 31727 and 31781
     66Kernel 3.16 versions: (Alpha status!)
     68        OpenWRT skiped Linux kernel version 3.16, which Debian's most recent
     69        release was based on.  Due to this, these patches had to be derived
     70        from OpenWRT's 3.14 and 3.18 kernel patches.  OpenWRT's 3.14 source is
     71        available at svn://
     72        OpenWRT's 3.18 source is available at
     73        svn://
     76Copyright (C) 2015 Elliott Mitchell
  • branches/contrib/debian/package-build/linux-patch-openwrt/debian/changelog

    r653 r668  
     1linux-patch-openwrt (0.2) unstable; urgency=low
     3  * Add files/patches for Debian's 3.16 kernel.  Note these are completely
     4    untested at this time, beware everything may fail spectacularly if you try
     5    using this version.
     7 -- Elliott Mitchell <>  Sun, 06 Sep 2015 21:06:22 -0700
    19linux-patch-openwrt (0.1.3) unstable; urgency=low
  • branches/contrib/debian/package-build/linux-patch-openwrt/scripts/apply

    r640 r668  
    82 for pat in ${srcdir}/patches-${version}/[0-9][0-9][0-9]*-*
     82for pat in ${srcdir}/patches-${version}/[0-9][0-9][0-9]*-*.patch
    8383do if ! patch -d ${target} -p1 < ${pat} > /dev/null
    8484        then echo $0\: error\: failed during application of patch\: `basename ${pat}` 1>&2
Note: See TracChangeset for help on using the changeset viewer.