Difference between revisions of "Novena linux-kernel"
(Created page with "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 dire...") |
|||
(One intermediate revision by the same user not shown) | |||
Line 1: | Line 1: | ||
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 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: | ||
+ | |||
+ | # git clone https://github.com/xobs/novena-linux.git (or git clone git@github.com:xobs/novena-linux.git) | ||
+ | # cd novena-linux | ||
+ | # git branch -r # List remote branches | ||
+ | # git checkout [branchname] # e.g. git checkout v3.19-novena-etnadrm-r3 | ||
+ | # make novena_defconfig | ||
+ | # make -j4 zImage | ||
+ | # make -j4 modules | ||
+ | # sudo make -j4 modules_install | ||
+ | |||
+ | Then, copy arch/arm/boot/zImage to /boot/ | ||
+ | |||
+ | If you need to modify device tree files, run the following: | ||
+ | |||
+ | # 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: | We use the following script to build kernel packages: | ||
+ | |||
+ | ./package-kernel.sh | ||
+ | |||
+ | It is stored in the root of the kernel source, and will automatically tag and rebuild everything. A build takes about two hours, and does a fresh checkout of the tree. | ||
+ | |||
+ | The script is something along these lines: | ||
#!/bin/sh | #!/bin/sh |
Latest revision as of 00:24, 16 March 2017
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:
- git clone https://github.com/xobs/novena-linux.git (or git clone git@github.com:xobs/novena-linux.git)
- cd novena-linux
- git branch -r # List remote branches
- git checkout [branchname] # e.g. git checkout v3.19-novena-etnadrm-r3
- make novena_defconfig
- make -j4 zImage
- make -j4 modules
- sudo make -j4 modules_install
Then, copy arch/arm/boot/zImage to /boot/
If you need to modify device tree files, run the following:
- 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:
./package-kernel.sh
It is stored in the root of the kernel source, and will automatically tag and rebuild everything. A build takes about two hours, and does a fresh checkout of the tree.
The script is something along these lines:
#!/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