Crux-arm RaspberryPi2 Linux Kernel

NOTE: This README is wip. Some instructions are either vague or missing.

upstream sources:
  https://www.kernel.org/pub/linux/kernel/v4.x
  git://git.kernel.org/pub/scm/linux/kernel/git/statble/linux-stable.git
  https://github.com/raspberrypi/linux

Type make or make all to build kernel image, the device tree files/overlays,
modules and related files. You may also find some of the other targets useful;
either for rebuilding only a certain target or possibly downloading files for
later offline build. These currently include:

all:        build all targets
clean:      clean out built files/directories
distclean:  clean, plus remove even downloaded files also
files:      download all remote files
config:     unpatch the kernel and copy the default config into the kernel tree
image:      build zImage and rpi2 prep'd kernel image files
dtb:        build device tree database/overlay files, tarball
modules:    build kernel modules, tarball
menuconfig: run menuconfig for kernel, starting with default kernel config

For booting the kernel, you will also need to download these addition files:
bootcode.bin: https://github.com/raspberrypi/firmware/raw/master/boot/bootcode.bin
start.elf: https://github.com/raspberrypi/firmware/raw/master/boot/start.elf
fixup.dat: https://github.com/raspberrypi/firmware/raw/master/boot/start.elf

(Two other files are needed in the boot partition: config.txt and cmdline.txt.
 I will add more about these files next edit, as well as provide links to
 existing official/semi-official documentation for this files)

Sd card layout:

first partition, boot (fat32):
kernel-$version.img, System.map-$version, bootcode.bin, start.elf, config.txt, cmdline.txt
Untar the dtb tarball (dtb-$version.tar.*) to the boot partition.

second partition, root (ext{2,3,4}, xfs, btrfs, etc):
Untar the modules tarball (modules-$version.tar.*) to the root partition.
Untar all the package files created by crossrootfs and raspberrypi2-arm to
the root partition.

Generating the kernel patch:

This is a stripped down description of how I generated the kernel patch.
It is based on how I thought it might have been done by Alpine Linux for
there raspberrypi kernel.

git clone -b rpi-4.5.y https://github.com/raspberrypi/linux.git linux-rpi
cd linux-rpi
git remote add -b linux-4.5.y stable-4.5 \
	git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
git pull stable-4.5
git diff linux-4.5.y..rpi-4.5.y > ../linux-4.5.y-rpi-$(date +%Y%m%d).patch