Commit | Line | Data |
---|---|---|
e0384e72 JV |
1 | Crux-arm RaspberryPi2 Linux Kernel |
2 | ||
70f63995 JV |
3 | NOTE: This README is wip. Some instructions are either vague or missing. |
4 | ||
f885aa39 | 5 | upstream sources: |
e0384e72 JV |
6 | https://www.kernel.org/pub/linux/kernel/v4.x |
7 | git://git.kernel.org/pub/scm/linux/kernel/git/statble/linux-stable.git | |
f885aa39 | 8 | https://github.com/raspberrypi/linux |
e0384e72 | 9 | |
70f63995 JV |
10 | Type make or make all to build kernel image, the device tree files/overlays, |
11 | modules and related files. You may also find some of the other targets useful; | |
12 | either for rebuilding only a certain target or possibly downloading files for | |
13 | later offline build. These currently include: | |
14 | ||
15 | all: build all targets | |
16 | clean: clean out built files/directories | |
17 | distclean: clean, plus remove even downloaded files also | |
18 | files: download all remote files | |
19 | config: unpatch the kernel and copy the default config into the kernel tree | |
20 | image: build zImage and rpi2 prep'd kernel image files | |
21 | dtb: build device tree database/overlay files, tarball | |
22 | modules: build kernel modules, tarball | |
23 | menuconfig: run menuconfig for kernel, starting with default kernel config | |
24 | ||
25 | For booting the kernel, you will also need to download these addition files: | |
26 | bootcode.bin: https://github.com/raspberrypi/firmware/raw/master/boot/bootcode.bin | |
27 | start.elf: https://github.com/raspberrypi/firmware/raw/master/boot/start.elf | |
23c365d9 JV |
28 | fixup.dat: https://github.com/raspberrypi/firmware/raw/master/boot/start.elf |
29 | ||
30 | (Two other files are needed in the boot partition: config.txt and cmdline.txt. | |
31 | I will add more about these files next edit, as well as provide links to | |
32 | existing official/semi-official documentation for this files) | |
70f63995 | 33 | |
241545a6 JV |
34 | my current config.txt: |
35 | disable_splash=1 | |
36 | gpu_mem=256 | |
37 | kernel=kernel7-4.5.4.img | |
38 | avoid_warnings=2 | |
39 | dtoverlay=vc4-kms-v3d | |
40 | ||
41 | my current cmdline.txt: | |
42 | dwg_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty root=/dev/mmcblk0p3 rootfstype=ext4 rootwait | |
43 | ||
44 | For the above two files, bare in mind that my sd card partition layout is as follows: | |
45 | mmcblk0p1: fat32, boot files (mounted to /boot in fstab) | |
46 | mmcblk0p2: swap | |
47 | mmcblk0p3: ext4, root filesystem | |
48 | ||
49 | Sd card layout (as found on most howtos in the wild): | |
70f63995 JV |
50 | |
51 | first partition, boot (fat32): | |
6c30d911 JV |
52 | kernel-$version.img, System.map-$version, bootcode.bin, start.elf, fixup.dat, |
53 | config.txt, and cmdline.txt | |
70f63995 JV |
54 | Untar the dtb tarball (dtb-$version.tar.*) to the boot partition. |
55 | ||
56 | second partition, root (ext{2,3,4}, xfs, btrfs, etc): | |
57 | Untar the modules tarball (modules-$version.tar.*) to the root partition. | |
58 | Untar all the package files created by crossrootfs and raspberrypi2-arm to | |
6c30d911 | 59 | the root partition. |
e0384e72 JV |
60 | |
61 | Generating the kernel patch: | |
62 | ||
63 | This is a stripped down description of how I generated the kernel patch. | |
64 | It is based on how I thought it might have been done by Alpine Linux for | |
65 | there raspberrypi kernel. | |
66 | ||
67 | git clone -b rpi-4.5.y https://github.com/raspberrypi/linux.git linux-rpi | |
68 | cd linux-rpi | |
69 | git remote add -b linux-4.5.y stable-4.5 \ | |
70 | git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git | |
71 | git pull stable-4.5 | |
3365836d | 72 | git diff linux-4.5.y..rpi-4.5.y > ../linux-4.5.y-rpi-$(date +%Y%m%d).patch |