Novena linux-kernel

From Studio Kousagi Wiki
Revision as of 03:11, 15 June 2015 by Xobs (talk | contribs)
Jump to: navigation, search

The mainline Linux kernel contains Make targets to build .deb packages. We extend this slightly to also include DTB files, and to allow for an arbitrary kernel installation directory.

The Novena kernel is relatively close to mainline. It has a few additional patches, most of which will eventually get merged.

The kernel's github page is present at https://github.com/xobs/novena-linux, though be warned that it undergoes frequent rebasing. This could make your "git pull" fail.

To build a new kernel, perform the following steps:

  1. git clone https://github.com/xobs/novena-linux.git (or git clone git@github.com:xobs/novena-linux.git)
  2. cd novena-linux
  3. git branch -r # List remote branches
  4. git checkout [branchname] # e.g. git checkout v3.19-novena-etnadrm-r3
  5. make novena_defconfig
  6. make -j4 zImage
  7. make -j4 modules
  8. sudo make -j4 modules_install

Then, copy arch/arm/boot/zImage to /boot/

If you need to modify device tree files, run the following:

  1. make dtbs

Then, copy arch/arm/boot/dts/imx6q-novena.dtb to your boot device as novena.dtb.

Debian Packages

We use the following script to build kernel packages:

   #!/bin/sh
   threads=2
   version=1.4
   make -j${threads} \
           LD=gold \
           KBUILD_DEBARCH=armhf \
           KBUILD_IMAGE=zImage \
           KBUILD_DTB=imx6q-novena.dtb \
           KBUILD_DESTDIR=usr/share/linux-novena \
           KDEB_PKGVERSION=${version} \
           EMAIL="xobs@kosagi.com" \
           NAME="Sean Cross" \
           dtbs || exit 1
   make -j${threads} \
           LD=gold \
           KBUILD_DEBARCH=armhf \
           KBUILD_IMAGE=zImage \
           KBUILD_DTB=imx6q-novena.dtb \
           KBUILD_DESTDIR=usr/share/linux-novena \
           KDEB_PKGVERSION=${version} \
           EMAIL="xobs@kosagi.com" \
           NAME="Sean Cross" \
           deb-pkg