@@ -0,0 +1,4 | |||||
|
1 | # Configuration template file used by rpi23-gen-image.sh | |||
|
2 | RPI_MODEL=2 | |||
|
3 | RELEASE=buster | |||
|
4 | BUILD_KERNEL=true |
@@ -0,0 +1,4 | |||||
|
1 | # Configuration template file used by rpi23-gen-image.sh | |||
|
2 | RPI_MODEL=3 | |||
|
3 | RELEASE=buster | |||
|
4 | BUILD_KERNEL=true |
@@ -1,6 +1,8 | |||||
1 | # rpi23-gen-image |
|
1 | # rpi23-gen-image | |
2 | ## Introduction |
|
2 | ## Introduction | |
3 | `rpi23-gen-image.sh` is an advanced Debian Linux bootstrapping shell script for generating Debian OS images for Raspberry Pi 2 (RPi2) and Raspberry Pi 3 (RPi3) computers. The script at this time supports the bootstrapping of the Debian (armhf) releases `jessie` and `stretch`. This fork enables also `buster` release. Raspberry Pi 3 images are generated for 32-bit mode only. Raspberry Pi 3 64-bit images can be generated using custom configuration parameters (```templates/rpi3-stretch-arm64-4.11.y raspife3-buster-arm64```). |
|
3 | ||
|
4 | `rpi23-gen-image.sh` is an advanced Debian Linux bootstrapping shell script for generating Debian OS images for Raspberry Pi 2 (RPi2) and Raspberry Pi 3 (RPi3) computers. The script at this time supports the bootstrapping of the Debian (armhf) releases `jessie`, `stretch` and `buster`. Raspberry Pi 3 images are generated for 32-bit mode only. Raspberry Pi 3 64-bit images can be generated using custom configuration parameters (```templates/rpi3-stretch-arm64-4.11.y```). | |||
|
5 | ||||
4 |
|
6 | |||
5 | ## Build dependencies |
|
7 | ## Build dependencies | |
6 | The following list of Debian packages must be installed on the build system because they are essentially required for the bootstrapping process. The script will check if all required packages are installed and missing packages will be installed automatically if confirmed by the user. |
|
8 | The following list of Debian packages must be installed on the build system because they are essentially required for the bootstrapping process. The script will check if all required packages are installed and missing packages will be installed automatically if confirmed by the user. | |
@@ -70,7 +72,7 A comma separated list of additional packages to be installed by apt after boots | |||||
70 | Specifiy the target Raspberry Pi hardware model. The script at this time supports the Raspberry Pi models `2` and `3`. `BUILD_KERNEL`=true will automatically be set if the Raspberry Pi model `3` is used. |
|
72 | Specifiy the target Raspberry Pi hardware model. The script at this time supports the Raspberry Pi models `2` and `3`. `BUILD_KERNEL`=true will automatically be set if the Raspberry Pi model `3` is used. | |
71 |
|
73 | |||
72 | ##### `RELEASE`="jessie" |
|
74 | ##### `RELEASE`="jessie" | |
73 |
Set the desired Debian release name. The script at this time supports the bootstrapping of the Debian releases "jessie" and " |
|
75 | Set the desired Debian release name. The script at this time supports the bootstrapping of the Debian releases "jessie", "stretch" and "buster". `BUILD_KERNEL`=true will automatically be set if the Debian releases `stretch` or `buster` are used. | |
74 |
|
76 | |||
75 | ##### `RELEASE_ARCH`="armhf" |
|
77 | ##### `RELEASE_ARCH`="armhf" | |
76 | Set the desired Debian release architecture. |
|
78 | Set the desired Debian release architecture. | |
@@ -236,7 +238,7 Path to a directory with scripts that should be run in the chroot before the ima | |||||
236 | 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. |
|
238 | 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. | |
237 |
|
239 | |||
238 | ##### `ENABLE_IFNAMES`=true |
|
240 | ##### `ENABLE_IFNAMES`=true | |
239 |
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 release `stretch` |
|
241 | 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. | |
240 |
|
242 | |||
241 | ##### `DISABLE_UNDERVOLT_WARNINGS`= |
|
243 | ##### `DISABLE_UNDERVOLT_WARNINGS`= | |
242 | 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. |
|
244 | 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. |
@@ -73,7 +73,7 else | |||||
73 | CMDLINE="${CMDLINE} net.ifnames=1" |
|
73 | CMDLINE="${CMDLINE} net.ifnames=1" | |
74 | fi |
|
74 | fi | |
75 |
|
75 | |||
76 |
# Set init to systemd if required by Debian release |
|
76 | # Set init to systemd if required by Debian release | |
77 | if [ "$RELEASE" = "stretch" ] || [ "$RELEASE" = "buster" ] ; then |
|
77 | if [ "$RELEASE" = "stretch" ] || [ "$RELEASE" = "buster" ] ; then | |
78 | CMDLINE="${CMDLINE} init=/bin/systemd" |
|
78 | CMDLINE="${CMDLINE} init=/bin/systemd" | |
79 | fi |
|
79 | fi |
@@ -56,7 +56,7 fi | |||||
56 | # Remove empty settings from network configuration |
|
56 | # Remove empty settings from network configuration | |
57 | sed -i "/.*=\$/d" "${ETC_DIR}/systemd/network/eth.network" |
|
57 | sed -i "/.*=\$/d" "${ETC_DIR}/systemd/network/eth.network" | |
58 |
|
58 | |||
59 |
# Move systemd network configuration if required by Debian release |
|
59 | # Move systemd network configuration if required by Debian release | |
60 | if [ "$RELEASE" = "stretch" ] || [ "$RELEASE" = "buster" ] ; then |
|
60 | if [ "$RELEASE" = "stretch" ] || [ "$RELEASE" = "buster" ] ; then | |
61 | mv -v "${ETC_DIR}/systemd/network/eth.network" "${LIB_DIR}/systemd/network/10-eth.network" |
|
61 | mv -v "${ETC_DIR}/systemd/network/eth.network" "${LIB_DIR}/systemd/network/10-eth.network" | |
62 | rm -fr "${ETC_DIR}/systemd/network" |
|
62 | rm -fr "${ETC_DIR}/systemd/network" |
@@ -30,6 +30,8 if [ "$ENABLE_FBTURBO" = true ] ; then | |||||
30 | # Install Xorg build dependencies |
|
30 | # Install Xorg build dependencies | |
31 | if [ "$RELEASE" = "jessie" ] || [ "$RELEASE" = "stretch" ] || [ "$RELEASE" = "buster" ] ; then |
|
31 | if [ "$RELEASE" = "jessie" ] || [ "$RELEASE" = "stretch" ] || [ "$RELEASE" = "buster" ] ; then | |
32 | chroot_exec apt-get -q -y --no-install-recommends install xorg-dev xutils-dev x11proto-dri2-dev libltdl-dev libtool automake libdrm-dev |
|
32 | chroot_exec apt-get -q -y --no-install-recommends install xorg-dev xutils-dev x11proto-dri2-dev libltdl-dev libtool automake libdrm-dev | |
|
33 | elif [ "$RELEASE" = "stretch" ] || [ "$RELEASE" = "buster" ] ; then | |||
|
34 | chroot_exec apt-get -q -y --no-install-recommends --allow-unauthenticated install xorg-dev xutils-dev x11proto-dri2-dev libltdl-dev libtool automake libdrm-dev | |||
33 | fi |
|
35 | fi | |
34 |
|
36 | |||
35 | # Build and install fbturbo driver inside chroot |
|
37 | # Build and install fbturbo driver inside chroot |
@@ -46,7 +46,7 if [ "$ENABLE_REDUCE" = true ] ; then | |||||
46 |
|
46 | |||
47 | # Replace bash shell by dash shell (experimental) |
|
47 | # Replace bash shell by dash shell (experimental) | |
48 | if [ "$REDUCE_BASH" = true ] ; then |
|
48 | if [ "$REDUCE_BASH" = true ] ; then | |
49 | if [ "$RELEASE" = "stretch" ] ; then |
|
49 | if [ "$RELEASE" = "stretch" ] || [ "$RELEASE" = "buster" ] ; then | |
50 | echo "Yes, do as I say!" | chroot_exec apt-get purge -qq -y --allow-remove-essential bash |
|
50 | echo "Yes, do as I say!" | chroot_exec apt-get purge -qq -y --allow-remove-essential bash | |
51 | else |
|
51 | else | |
52 | echo "Yes, do as I say!" | chroot_exec apt-get purge -qq -y --force-yes bash |
|
52 | echo "Yes, do as I say!" | chroot_exec apt-get purge -qq -y --force-yes bash |
@@ -66,6 +66,8 chroot_install_cc() { | |||||
66 |
|
66 | |||
67 | if [ "$RELEASE" = "jessie" ] || [ "$RELEASE" = "stretch" ] || [ "$RELEASE" = "buster" ] ; then |
|
67 | if [ "$RELEASE" = "jessie" ] || [ "$RELEASE" = "stretch" ] || [ "$RELEASE" = "buster" ] ; then | |
68 | chroot_exec apt-get -q -y --no-install-recommends install ${COMPILER_PACKAGES} |
|
68 | chroot_exec apt-get -q -y --no-install-recommends install ${COMPILER_PACKAGES} | |
|
69 | elif [ "$RELEASE" = "stretch" ] || [ "$RELEASE" = "buster" ] ; then | |||
|
70 | chroot_exec apt-get -q -y --allow-unauthenticated --no-install-recommends install ${COMPILER_PACKAGES} | |||
69 | fi |
|
71 | fi | |
70 | fi |
|
72 | fi | |
71 | } |
|
73 | } |
@@ -3,7 +3,7 | |||||
3 | ######################################################################## |
|
3 | ######################################################################## | |
4 | # rpi23-gen-image.sh 2015-2017 |
|
4 | # rpi23-gen-image.sh 2015-2017 | |
5 | # |
|
5 | # | |
6 |
# Advanced Debian "jessie" |
|
6 | # Advanced Debian "jessie", "stretch" and "buster" bootstrap script for RPi2/3 | |
7 | # |
|
7 | # | |
8 | # This program is free software; you can redistribute it and/or |
|
8 | # This program is free software; you can redistribute it and/or | |
9 | # modify it under the terms of the GNU General Public License |
|
9 | # modify it under the terms of the GNU General Public License | |
@@ -12,7 +12,7 | |||||
12 | # |
|
12 | # | |
13 | # Copyright (C) 2015 Jan Wagner <mail@jwagner.eu> |
|
13 | # Copyright (C) 2015 Jan Wagner <mail@jwagner.eu> | |
14 | # |
|
14 | # | |
15 |
# Big thanks for patches and enhancements by |
|
15 | # Big thanks for patches and enhancements by 20+ github contributors! | |
16 | ######################################################################## |
|
16 | ######################################################################## | |
17 |
|
17 | |||
18 | # Are we running as root? |
|
18 | # Are we running as root? | |
@@ -214,12 +214,6 CHROOT_SCRIPTS=${CHROOT_SCRIPTS:=""} | |||||
214 | APT_INCLUDES=${APT_INCLUDES:=""} |
|
214 | APT_INCLUDES=${APT_INCLUDES:=""} | |
215 | APT_INCLUDES="${APT_INCLUDES},apt-transport-https,apt-utils,ca-certificates,debian-archive-keyring,dialog,sudo,systemd,sysvinit-utils" |
|
215 | APT_INCLUDES="${APT_INCLUDES},apt-transport-https,apt-utils,ca-certificates,debian-archive-keyring,dialog,sudo,systemd,sysvinit-utils" | |
216 |
|
216 | |||
217 | # Package apt-transport-https has been removed from Debian Buster release |
|
|||
218 | # this induces qemu error 383 which does not prevent building an image |
|
|||
219 | if [ "$RELEASE" = "buster" ] ; then |
|
|||
220 | APT_INCLUDES="$(echo ${APT_INCLUDES} | sed "s/apt-transport-https,//")" |
|
|||
221 | fi |
|
|||
222 |
|
||||
223 | # Packages required for bootstrapping |
|
217 | # Packages required for bootstrapping | |
224 | REQUIRED_PACKAGES="debootstrap debian-archive-keyring qemu-user-static binfmt-support dosfstools rsync bmap-tools whois git bc psmisc dbus sudo" |
|
218 | REQUIRED_PACKAGES="debootstrap debian-archive-keyring qemu-user-static binfmt-support dosfstools rsync bmap-tools whois git bc psmisc dbus sudo" | |
225 | MISSING_PACKAGES="" |
|
219 | MISSING_PACKAGES="" | |
@@ -257,7 +251,7 if [ ! -z "$DISABLE_UNDERVOLT_WARNINGS" ] ; then | |||||
257 | fi |
|
251 | fi | |
258 |
|
252 | |||
259 | # Build RPi2/3 Linux kernel if required by Debian release |
|
253 | # Build RPi2/3 Linux kernel if required by Debian release | |
260 | if [ "$RELEASE" = "stretch" ] ; then |
|
254 | if [ "$RELEASE" = "stretch" ] || [ "$RELEASE" = "buster" ] ; then | |
261 | BUILD_KERNEL=true |
|
255 | BUILD_KERNEL=true | |
262 | fi |
|
256 | fi | |
263 |
|
257 |
General Comments 0
Vous devez vous connecter pour laisser un commentaire.
Se connecter maintenant