@@ -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 |
|
|
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 |
|
|
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. |
|
|
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`= |
|
|
273 |
Build and install the latest RPi2/3 Linux kernel. Currently only the default RPi2/3 kernel configuration 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) |
@@ -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 ] |
|
|
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 bcm27 |
|
|
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} |
|
|
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 |
|
|
|
43 | RPI_MODEL=${RPI_MODEL:=2} | |
|
44 | 44 | |
|
45 | 45 | # Debian release |
|
46 |
|
|
|
46 | RELEASE=${RELEASE:=buster} | |
|
47 | 47 | |
|
48 | 48 | #Kernel Branch |
|
49 |
|
|
|
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