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