@@ -8,7 +8,7 | |||
|
8 | 8 | # Fetch and build latest raspberry kernel |
|
9 | 9 | if [ "$BUILD_KERNEL" = true ] ; then |
|
10 | 10 | # Setup source directory |
|
11 | mkdir -p "${R}/usr/src/linux" | |
|
11 | mkdir -p "${KERNEL_DIR}" | |
|
12 | 12 | |
|
13 | 13 | # Copy existing kernel sources into chroot directory |
|
14 | 14 | if [ -n "$KERNELSRC_DIR" ] && [ -d "$KERNELSRC_DIR" ] ; then |
@@ -83,6 +83,10 if [ "$BUILD_KERNEL" = true ] ; then | |||
|
83 | 83 | "${KERNEL_DIR}/.config" |
|
84 | 84 | fi |
|
85 | 85 | |
|
86 | if [ "$KERNELSRC_CONFIG" = true ] ; then | |
|
87 | # Load default raspberry kernel configuration | |
|
88 | make -C "${KERNEL_DIR}" ARCH="${KERNEL_ARCH}" CROSS_COMPILE="${CROSS_COMPILE}" "${KERNEL_DEFCONFIG}" | |
|
89 | ||
|
86 | 90 | #Switch to KERNELSRC_DIR |
|
87 | 91 | pushd "${KERNEL_DIR}" |
|
88 | 92 | |
@@ -93,7 +97,6 if [ "$BUILD_KERNEL" = true ] ; then | |||
|
93 | 97 | # requires activation via kernel parameter or sysfs |
|
94 | 98 | # see e.g. https://askubuntu.com/a/472227 for a summary of ZSWAP (vs ZRAM etc.) |
|
95 | 99 | # and e.g. https://wiki.archlinux.org/index.php/zswap for parameters etc. |
|
96 | ||
|
97 | 100 | set_kernel_config ZPOOL y |
|
98 | 101 | set_kernel_config ZSWAP y |
|
99 | 102 | set_kernel_config ZBUD y |
@@ -105,7 +108,6 if [ "$BUILD_KERNEL" = true ] ; then | |||
|
105 | 108 | if [ "$KERNEL_VIRT" = true ] && ( [ "$RPI_MODEL" = 3 ] || [ "$RPI_MODEL" = 3P ] ) ; then |
|
106 | 109 | # enable basic KVM support; see e.g. |
|
107 | 110 | # https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=210546&start=25#p1300453 |
|
108 | ||
|
109 | 111 | set_kernel_config VIRTUALIZATION y |
|
110 | 112 | set_kernel_config KVM y |
|
111 | 113 | set_kernel_config VHOST_NET m |
@@ -220,12 +222,9 if [ "$BUILD_KERNEL" = true ] ; then | |||
|
220 | 222 | set_kernel_config CONFIG_CGROUP_BPF y |
|
221 | 223 | fi |
|
222 | 224 | |
|
225 | #Revert to previous directory | |
|
223 | 226 |
popd |
|
224 | 227 | |
|
225 | if [ "$KERNELSRC_CONFIG" = true ] ; then | |
|
226 | # Load default raspberry kernel configuration | |
|
227 | make -C "${KERNEL_DIR}" ARCH="${KERNEL_ARCH}" CROSS_COMPILE="${CROSS_COMPILE}" "${KERNEL_DEFCONFIG}" | |
|
228 | ||
|
229 | 228 | # Set kernel configuration parameters to enable qemu emulation |
|
230 | 229 | if [ "$ENABLE_QEMU" = true ] ; then |
|
231 | 230 | echo "CONFIG_FHANDLE=y" >> "${KERNEL_DIR}"/.config |
@@ -396,7 +395,7 if [ "$KERNEL_ARCH" = arm64 ] && ( [ "$RPI_MODEL" = 3 ] || [ "$RPI_MODEL" = 3P ] | |||
|
396 | 395 | rm -fr "${temp_dir}" |
|
397 | 396 | |
|
398 | 397 | # Set permissions of the kernel sources |
|
399 | chown -R root:root "${R}/boot" | |
|
398 | chown -R root:root "${R}/boot/firmware" | |
|
400 | 399 | chown -R root:root "${R}/lib" |
|
401 | 400 | fi |
|
402 | 401 |
@@ -135,17 +135,17 ln -sf firmware/config.txt "${R}/boot/config.txt" | |||
|
135 | 135 | ln -sf firmware/cmdline.txt "${R}/boot/cmdline.txt" |
|
136 | 136 | |
|
137 | 137 | # Install and setup kernel modules to load at boot |
|
138 |
mkdir -p "${R} |
|
|
139 |
install_readonly files/modules/rpi2.conf "${R} |
|
|
138 | mkdir -p "${LIB_DIR}/modules-load.d/" | |
|
139 | install_readonly files/modules/rpi2.conf "${LIB_DIR}/modules-load.d/rpi2.conf" | |
|
140 | 140 | |
|
141 | 141 | # Load hardware random module at boot |
|
142 | 142 | if [ "$ENABLE_HWRANDOM" = true ] && [ "$BUILD_KERNEL" = false ] ; then |
|
143 |
sed -i "s/^# bcm2708_rng/bcm2708_rng/" "${R} |
|
|
143 | sed -i "s/^# bcm2708_rng/bcm2708_rng/" "${LIB_DIR}/modules-load.d/rpi2.conf" | |
|
144 | 144 | fi |
|
145 | 145 | |
|
146 | 146 | # Load sound module at boot |
|
147 | 147 | if [ "$ENABLE_SOUND" = true ] ; then |
|
148 |
sed -i "s/^# snd_bcm2835/snd_bcm2835/" "${R} |
|
|
148 | sed -i "s/^# snd_bcm2835/snd_bcm2835/" "${LIB_DIR}/modules-load.d/rpi2.conf" | |
|
149 | 149 | else |
|
150 | 150 | echo "dtparam=audio=off" >> "${BOOT_DIR}/config.txt" |
|
151 | 151 | fi |
@@ -153,16 +153,16 fi | |||
|
153 | 153 | # Enable I2C interface |
|
154 | 154 | if [ "$ENABLE_I2C" = true ] ; then |
|
155 | 155 | echo "dtparam=i2c_arm=on" >> "${BOOT_DIR}/config.txt" |
|
156 |
sed -i "s/^# i2c-bcm2708/i2c-bcm2708/" "${R} |
|
|
157 |
sed -i "s/^# i2c-dev/i2c-dev/" "${R} |
|
|
156 | sed -i "s/^# i2c-bcm2708/i2c-bcm2708/" "${LIB_DIR}/modules-load.d/rpi2.conf" | |
|
157 | sed -i "s/^# i2c-dev/i2c-dev/" "${LIB_DIR}/modules-load.d/rpi2.conf" | |
|
158 | 158 | fi |
|
159 | 159 | |
|
160 | 160 | # Enable SPI interface |
|
161 | 161 | if [ "$ENABLE_SPI" = true ] ; then |
|
162 | 162 | echo "dtparam=spi=on" >> "${BOOT_DIR}/config.txt" |
|
163 |
echo "spi-bcm2708" >> "${R} |
|
|
163 | echo "spi-bcm2708" >> "${LIB_DIR}/modules-load.d/rpi2.conf" | |
|
164 | 164 | if [ "$RPI_MODEL" = 3 ] || [ "$RPI_MODEL" = 3P ]; then |
|
165 |
sed -i "s/spi-bcm2708/spi-bcm2835/" "${R} |
|
|
165 | sed -i "s/spi-bcm2708/spi-bcm2835/" "${LIB_DIR}/modules-load.d/rpi2.conf" | |
|
166 | 166 | fi |
|
167 | 167 | fi |
|
168 | 168 |
@@ -83,7 +83,7 ETC_DIR="${R}/etc" | |||
|
83 | 83 | LIB_DIR="${R}/lib" |
|
84 | 84 | BOOT_DIR="${R}/boot/firmware" |
|
85 | 85 | KERNEL_DIR="${R}/usr/src/linux" |
|
86 |
WLAN_FIRMWARE_DIR="${R} |
|
|
86 | WLAN_FIRMWARE_DIR="${LIB_DIR}/firmware/brcm" | |
|
87 | 87 | |
|
88 | 88 | # Firmware directory: Blank if download from github |
|
89 | 89 | RPI_FIRMWARE_DIR=${RPI_FIRMWARE_DIR:=""} |
General Comments 0
Vous devez vous connecter pour laisser un commentaire.
Se connecter maintenant