@@ -156,6 +156,9 Path to a directory with scripts that should be run in the chroot before the ima | |||||
156 | ##### `BUILD_KERNEL`=false |
|
156 | ##### `BUILD_KERNEL`=false | |
157 | Build and install the latest RPi2 linux kernel. Currently only the default RPi2 kernel configuration is used. Detailed configuration parameters for customizing the kernel and minor bug fixes still need to get implemented. feel free to help. |
|
157 | Build and install the latest RPi2 linux kernel. Currently only the default RPi2 kernel configuration is used. Detailed configuration parameters for customizing the kernel and minor bug fixes still need to get implemented. feel free to help. | |
158 |
|
158 | |||
|
159 | ##### `KERNEL_HEADERS`=true | |||
|
160 | If true, also install kernel headers with built kernel. | |||
|
161 | ||||
159 | ## Logging of the bootstrapping process |
|
162 | ## Logging of the bootstrapping process | |
160 | All information related to the bootstrapping process and the commands executed by the `rpi2-gen-image.sh` script can easily be saved into a logfile. The common shell command `script` can be used for this purpose: |
|
163 | All information related to the bootstrapping process and the commands executed by the `rpi2-gen-image.sh` script can easily be saved into a logfile. The common shell command `script` can be used for this purpose: | |
161 |
|
164 |
@@ -7,26 +7,31 | |||||
7 | # Fetch and build latest raspberry kernel |
|
7 | # Fetch and build latest raspberry kernel | |
8 | if [ "$BUILD_KERNEL" = true ] ; then |
|
8 | if [ "$BUILD_KERNEL" = true ] ; then | |
9 | # Fetch current raspberrypi kernel sources |
|
9 | # Fetch current raspberrypi kernel sources | |
10 |
git -C $R/ |
|
10 | git -C $R/usr/local/src clone --depth=1 https://github.com/raspberrypi/linux | |
11 |
|
11 | |||
12 | # Load default raspberry kernel configuration |
|
12 | # Load default raspberry kernel configuration | |
13 |
make -C $R/ |
|
13 | make -C $R/usr/local/src/linux ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig | |
14 |
|
14 | |||
15 | # Cross compile kernel and modules |
|
15 | # Cross compile kernel and modules | |
16 |
make -C $R/ |
|
16 | make -C $R/usr/local/src/linux -j$(grep -c processor /proc/cpuinfo) ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs | |
17 |
|
17 | |||
18 | # Install kernel modules |
|
18 | # Install kernel modules | |
19 |
make -C $R/ |
|
19 | make -C $R/usr/local/src/linux ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=../.. modules_install | |
|
20 | ||||
|
21 | # Install kernel headers | |||
|
22 | if [ "$KERNEL_HEADERS" = true ]; then | |||
|
23 | make -C $R/usr/local/src/linux ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_HDR_PATH=../../usr headers_install | |||
|
24 | fi | |||
20 |
|
25 | |||
21 | # Copy and rename compiled kernel to boot directory |
|
26 | # Copy and rename compiled kernel to boot directory | |
22 | mkdir $R/boot/firmware/ |
|
27 | mkdir $R/boot/firmware/ | |
23 |
$R/ |
|
28 | $R/usr/local/src/linux/scripts/mkknlimg $R/usr/local/src/linux/arch/arm/boot/zImage $R/boot/firmware/kernel7.img | |
24 |
|
29 | |||
25 | # Copy dts and dtb device definitions |
|
30 | # Copy dts and dtb device definitions | |
26 | mkdir $R/boot/firmware/overlays/ |
|
31 | mkdir $R/boot/firmware/overlays/ | |
27 |
cp $R/ |
|
32 | cp $R/usr/local/src/linux/arch/arm/boot/dts/*.dtb $R/boot/firmware/ | |
28 |
cp $R/ |
|
33 | cp $R/usr/local/src/linux/arch/arm/boot/dts/overlays/*.dtb* $R/boot/firmware/overlays/ | |
29 |
cp $R/ |
|
34 | cp $R/usr/local/src/linux/arch/arm/boot/dts/overlays/README $R/boot/firmware/overlays/ | |
30 |
|
35 | |||
31 | # Install raspberry bootloader and flash-kernel |
|
36 | # Install raspberry bootloader and flash-kernel | |
32 | chroot_exec apt-get -qq -y --no-install-recommends install raspberrypi-bootloader-nokernel |
|
37 | chroot_exec apt-get -qq -y --no-install-recommends install raspberrypi-bootloader-nokernel |
@@ -79,6 +79,7 ENABLE_IPTABLES=${ENABLE_IPTABLES:=false} | |||||
79 |
|
79 | |||
80 | # Kernel compilation settings |
|
80 | # Kernel compilation settings | |
81 | BUILD_KERNEL=${BUILD_KERNEL:=false} |
|
81 | BUILD_KERNEL=${BUILD_KERNEL:=false} | |
|
82 | KERNEL_HEADERS=${KERNEL_HEADERS:=true} | |||
82 |
|
83 | |||
83 | # Image chroot path |
|
84 | # Image chroot path | |
84 | R=${BUILDDIR}/chroot |
|
85 | R=${BUILDDIR}/chroot |
General Comments 0
Vous devez vous connecter pour laisser un commentaire.
Se connecter maintenant