##// END OF EJS Templates
cleanups
Unknown -
r389:bc6d966f8243
parent child
Show More
@@ -9,7 +9,7 The following list of Debian packages must be installed on the build system beca
9 9
10 10 It is recommended to configure the `rpi23-gen-image.sh` script to build and install the latest Raspberry Pi Linux kernel. For the RPi3 this is mandatory. Kernel compilation and linking will be performed on the build system using an ARM (armhf) cross-compiler toolchain.
11 11
12 The script has been tested using the default `crossbuild-essential-armhf` toolchain meta package on Debian Linux and `stretch` build systems. Please check the [Debian CrossToolchains Wiki](https://wiki.debian.org/CrossToolchains) for further information.
12 The script has been tested using the default `crossbuild-essential-armhf` toolchain meta package on Debian Linux `stretch` build systems. Please check the [Debian CrossToolchains Wiki](https://wiki.debian.org/CrossToolchains) for further information.
13 13
14 14 ## Command-line parameters
15 15 The script accepts certain command-line parameters to enable or disable specific OS features, services and configuration settings. These parameters are passed to the `rpi23-gen-image.sh` script via (simple) shell-variables. Unlike environment shell-variables (simple) shell-variables are defined at the beginning of the command-line call of the `rpi23-gen-image.sh` script.
@@ -57,6 +57,10 A comma separated list of additional packages to be installed by apt after boots
57 57 ---
58 58
59 59 #### General system settings:
60 ##### `SET_ARCH`=32
61 Set Architecture to default 32bit. If you want to to compile 64bit (RPI3 or RPI3+) set it to `64`. This option will set every needed crosscompiler or boeard specific option for a successful build.
62 If you want to change e.g. cross-compiler -> Templates always override defaults
63
60 64 ##### `RPI_MODEL`=2
61 65 Specifiy the target Raspberry Pi hardware model. The script at this time supports the following Raspberry Pi models:
62 66 `0` = Used for Raspberry Pi 0 and Raspberry Pi 0 W
@@ -68,7 +72,7 Specifiy the target Raspberry Pi hardware model. The script at this time support
68 72 `BUILD_KERNEL`=true will automatically be set if the Raspberry Pi model `3` or `3P` is used.
69 73
70 74 ##### `RELEASE`="buster"
71 Set the desired Debian release name. The script at this time supports the bootstrapping of the Debian releases "stretch" and "buster". `BUILD_KERNEL`=true will automatically be set if the Debian releases `stretch` or `buster` are used.
75 Set the desired Debian release name. The script at this time supports the bootstrapping of the Debian releases `stretch` and `buster`.
72 76
73 77 ##### `RELEASE_ARCH`="armhf"
74 78 Set the desired Debian release architecture.
@@ -191,6 +195,9 Install Xorg open-source X Window System.
191 195 ##### `ENABLE_WM`=""
192 196 Install a user defined window manager for the X Window System. To make sure all X related package dependencies are getting installed `ENABLE_XORG` will automatically get enabled if `ENABLE_WM` is used. The `rpi23-gen-image.sh` script has been tested with the following list of window managers: `blackbox`, `openbox`, `fluxbox`, `jwm`, `dwm`, `xfce4`, `awesome`.
193 197
198 ##### `ENABLE_SYSVINIT`=false
199 Support for halt,init,poweroff,reboot,runlevel,shutdown,telinit commands
200
194 201 ---
195 202
196 203 #### Advanced system features:
@@ -243,7 +250,7 Path to a directory with scripts that should be run in the chroot before the ima
243 250 Create an initramfs that that will be loaded during the Linux startup process. `ENABLE_INITRAMFS` will automatically get enabled if `ENABLE_CRYPTFS`=true. This parameter will be ignored if `BUILD_KERNEL`=false.
244 251
245 252 ##### `ENABLE_IFNAMES`=true
246 Enable automatic assignment of predictable, stable network interface names for all local Ethernet, WLAN interfaces. This might create complex and long interface names. This parameter is only supported if the Debian releases `stretch` or `buster` are used.
253 Enable automatic assignment of predictable, stable network interface names for all local Ethernet, WLAN interfaces. This might create complex and long interface names.
247 254
248 255 ##### `DISABLE_UNDERVOLT_WARNINGS`=
249 256 Disable RPi2/3 under-voltage warnings and overlays. Setting the parameter to `1` will disable the warning overlay. Setting it to `2` will additionally allow RPi2/3 turbo mode when low-voltage is present.
@@ -269,8 +276,8 Add SSH (v2) public key(s) from specified file to `authorized_keys` file to enab
269 276 ---
270 277
271 278 #### Kernel compilation:
272 ##### `BUILD_KERNEL`=false
273 Build and install the latest RPi2/3 Linux kernel. Currently only the default RPi2/3 kernel configuration is used. `BUILD_KERNEL`=true will automatically be set if the Raspberry Pi model `3` is used.
279 ##### `BUILD_KERNEL`=true
280 Build and install the latest RPi2/3 Linux kernel. Currently only the default RPi2/3 kernel configuration is used.
274 281
275 282 ##### `CROSS_COMPILE`="arm-linux-gnueabihf-"
276 283 This sets the cross compile enviornment for the compiler.
@@ -483,10 +490,6 Start QEMU full system emulation with cryptfs, initramfs and output to console:
483 490 qemu-system-arm -m 2048M -M vexpress-a15 -cpu cortex-a15 -kernel kernel7.img -no-reboot -dtb vexpress-v2p-ca15_a7.dtb -sd ${IMAGE_NAME}.qcow2 -initrd "initramfs-${KERNEL_VERSION}" -append "root=/dev/mapper/secure cryptdevice=/dev/mmcblk0p2:secure rw rootfstype=ext4 console=ttyAMA0,115200 init=/bin/systemd" -serial stdio
484 491 ```
485 492
486 ## Weekly image builds
487 The image files are provided by JRWR'S I/O PORT and are built once a Sunday at midnight UTC!
488 * [Debian Stretch Raspberry Pi2/3 Weekly Image Builds](https://jrwr.io/doku.php?id=projects:debianpi)
489
490 493 ## External links and references
491 494 * [Debian worldwide mirror sites](https://www.debian.org/mirror/list)
492 495 * [Debian Raspberry Pi 2 Wiki](https://wiki.debian.org/RaspberryPi2)
@@ -82,7 +82,7 if [ "$BUILD_KERNEL" = true ] ; then
82 82 -e "s/\(^CONFIG_DRM.*\=\).*/\1n/"\
83 83 "${KERNEL_DIR}/.config"
84 84 fi
85
85
86 86 if [ "$KERNELSRC_CONFIG" = true ] ; then
87 87 # Load default raspberry kernel configuration
88 88 make -C "${KERNEL_DIR}" ARCH="${KERNEL_ARCH}" CROSS_COMPILE="${CROSS_COMPILE}" "${KERNEL_DEFCONFIG}"
@@ -209,7 +209,7 if [ "$BUILD_KERNEL" = true ] ; then
209 209 #https://github.com/torvalds/linux/blob/master/init/Kconfig#L848
210 210 # Enables BPF syscall for systemd-journald
211 211 if [ "$KERNEL_BPF" = true ] && { [ "$RPI_MODEL" = 3 ] || [ "$RPI_MODEL" = 3P ] ; } ; then
212 set_kernel_config CONFIG_BPF_SYSCALL y
212 set_kernel_config CONFIG_BPF_SYSCALL y
213 213 set_kernel_config CONFIG_CGROUP_BPF y
214 214 fi
215 215
@@ -237,7 +237,7 if [ "$BUILD_KERNEL" = true ] ; then
237 237 echo "CONFIG_CRYPTO_XTS=y"
238 238 echo "CONFIG_CRYPTO_SHA512=y"
239 239 echo "CONFIG_CRYPTO_MANAGER=y"
240 } >> "${KERNEL_DIR}/.config"
240 } >> "${KERNEL_DIR}"/.config
241 241 fi
242 242 fi
243 243
@@ -100,7 +100,7 if [ "$ENABLE_INITRAMFS" = true ] ; then
100 100 fi
101 101
102 102 # Disable RPi3 Bluetooth and restore ttyAMA0 serial device
103 if [ "$RPI_MODEL" = 3 ] || [ "$RPI_MODEL" = 3P ] || [ "$RPI_MODEL" = 3P ]; then
103 if [ "$RPI_MODEL" = 3 ] || [ "$RPI_MODEL" = 3P ] ; then
104 104 if [ "$ENABLE_CONSOLE" = true ] && [ "$ENABLE_UBOOT" = false ] ; then
105 105 echo "dtoverlay=pi3-disable-bt" >> "${BOOT_DIR}/config.txt"
106 106 echo "enable_uart=1" >> "${BOOT_DIR}/config.txt"
@@ -147,16 +147,10 if [ "$RPI_MODEL" = 3 ] || [ "$RPI_MODEL" = 3P ] || [ "$RPI_MODEL" = 3P ]; then
147 147 # install_readonly "${R}/tmp/pi-bluetooth/brcm43438.service" "${ETC_DIR}/systemd/system/brcm43438.service"
148 148 install_readonly "${R}/tmp/pi-bluetooth/debian/pi-bluetooth.bthelper@.service" "${ETC_DIR}/systemd/system/pi-bluetooth.bthelper@.service"
149 149 install_readonly "${R}/tmp/pi-bluetooth/debian/pi-bluetooth.hciuart.service" "${ETC_DIR}/systemd/system/pi-bluetooth.hciuart.service"
150
151
152 150 install_readonly "${R}/tmp/pi-bluetooth/99-com.rules" "${ETC_DIR}/udev/rules.d/99-com.rules"
153 151
154 152 # Remove temporary directory
155 153 rm -fr "${temp_dir}"
156
157 # Get /dev/serial back for compability
158
159
160 154 fi
161 155 fi
162 156
@@ -1,5 +1,5
1 1 # Set device tree fdtfile
2 setenv dtbfile bcm2710-rpi-3-b.dtb
2 setenv dtbfile bcm2709-rpi-2-b.dtb
3 3
4 4 # Tell Linux that it is booting on a Raspberry Pi2/3
5 5 setenv machid 0x00000c42
@@ -9,7 +9,7 saveenv
9 9
10 10 # Load the existing Linux kernel into RAM
11 11 mmc dev 0
12 fatload mmc 0:1 ${kernel_addr_r} Image
12 fatload mmc 0:1 ${kernel_addr_r} kernel7.img
13 13 fatload mmc 0:1 ${fdt_addr_r} ${dtbfile}
14 14 fatload mmc 0:1 ${ramdisk_addr_r} ${initramfs}
15 15
@@ -40,13 +40,13 echo -n -e "\n#\n# RPi2/3 Bootstrap Settings\n#\n"
40 40 set -x
41 41
42 42 # Raspberry Pi model configuration
43 export RPI_MODEL=${RPI_MODEL:=2}
43 RPI_MODEL=${RPI_MODEL:=2}
44 44
45 45 # Debian release
46 export RELEASE=${RELEASE:=buster}
46 RELEASE=${RELEASE:=buster}
47 47
48 48 #Kernel Branch
49 export KERNEL_BRANCH=${KERNEL_BRANCH:=""}
49 KERNEL_BRANCH=${KERNEL_BRANCH:=""}
50 50
51 51 # URLs
52 52 KERNEL_URL=${KERNEL_URL:=https://github.com/raspberrypi/linux}
@@ -86,6 +86,7 WLAN_FIRMWARE_DIR="${LIB_DIR}/firmware/brcm"
86 86
87 87 # Firmware directory: Blank if download from github
88 88 RPI_FIRMWARE_DIR=${RPI_FIRMWARE_DIR:=""}
89
89 90 # General settings
90 91 SET_ARCH=${SET_ARCH:=32}
91 92 HOSTNAME=${HOSTNAME:=rpi${RPI_MODEL}-${RELEASE}}
General Comments 0
Vous devez vous connecter pour laisser un commentaire. Se connecter maintenant