@@ -176,7 +176,7 Install and enable OpenSSH service. The default configuration of the service doe | |||||
176 | Allow the installation of non-free Debian packages that do not comply with the DFSG. This is required to install closed-source firmware binary blobs. |
|
176 | Allow the installation of non-free Debian packages that do not comply with the DFSG. This is required to install closed-source firmware binary blobs. | |
177 |
|
177 | |||
178 | ##### `ENABLE_WIRELESS`=false |
|
178 | ##### `ENABLE_WIRELESS`=false | |
179 |
Download and install the [closed-source firmware binary blob](https://github.com/RPi-Distro/firmware-nonfree/ |
|
179 | Download and install the [closed-source firmware binary blob](https://github.com/RPi-Distro/firmware-nonfree/raw/master/brcm) that is required to run the internal wireless interface of the Raspberry Pi model `3`. This parameter is ignored if the specified `RPI_MODEL` is not `3`. | |
180 |
|
180 | |||
181 | ##### `ENABLE_RSYSLOG`=true |
|
181 | ##### `ENABLE_RSYSLOG`=true | |
182 | If set to false, disable and uninstall rsyslog (so logs will be available only |
|
182 | If set to false, disable and uninstall rsyslog (so logs will be available only | |
@@ -200,6 +200,9 Install Xorg open-source X Window System. | |||||
200 | ##### `ENABLE_WM`="" |
|
200 | ##### `ENABLE_WM`="" | |
201 | 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`. |
|
201 | 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`. | |
202 |
|
202 | |||
|
203 | ##### `ENABLE_SYSVINIT`=false | |||
|
204 | Support for halt,init,poweroff,reboot,runlevel,shutdown,telinit commands | |||
|
205 | ||||
203 | --- |
|
206 | --- | |
204 |
|
207 | |||
205 | #### Advanced system features: |
|
208 | #### Advanced system features: |
@@ -7,7 +7,6 | |||||
7 |
|
7 | |||
8 | VARIANT="" |
|
8 | VARIANT="" | |
9 | COMPONENTS="main" |
|
9 | COMPONENTS="main" | |
10 | EXCLUDES="" |
|
|||
11 |
|
10 | |||
12 | # Use non-free Debian packages if needed |
|
11 | # Use non-free Debian packages if needed | |
13 | if [ "$ENABLE_NONFREE" = true ] ; then |
|
12 | if [ "$ENABLE_NONFREE" = true ] ; then | |
@@ -19,13 +18,8 if [ "$ENABLE_MINBASE" = true ] ; then | |||||
19 | VARIANT="--variant=minbase" |
|
18 | VARIANT="--variant=minbase" | |
20 | fi |
|
19 | fi | |
21 |
|
20 | |||
22 | # Exclude packages if required by Debian release |
|
|||
23 | if [ "$RELEASE" = "stretch" ] || [ "$RELEASE" = "buster" ] ; then |
|
|||
24 | EXCLUDES="--exclude=init,systemd-sysv" |
|
|||
25 | fi |
|
|||
26 |
|
||||
27 | # Base debootstrap (unpack only) |
|
21 | # Base debootstrap (unpack only) | |
28 | http_proxy=${APT_PROXY} debootstrap ${EXCLUDES} --arch="${RELEASE_ARCH}" --foreign ${VARIANT} --components="${COMPONENTS}" --include="${APT_INCLUDES}" "${RELEASE}" "${R}" "http://${APT_SERVER}/debian" |
|
22 | http_proxy=${APT_PROXY} debootstrap ${APT_EXCLUDES} --arch="${RELEASE_ARCH}" --foreign ${VARIANT} --components="${COMPONENTS}" --include="${APT_INCLUDES}" "${RELEASE}" "${R}" "http://${APT_SERVER}/debian" | |
29 |
|
23 | |||
30 | # Copy qemu emulator binary to chroot |
|
24 | # Copy qemu emulator binary to chroot | |
31 | install -m 755 -o root -g root "${QEMU_BINARY}" "${R}${QEMU_BINARY}" |
|
25 | install -m 755 -o root -g root "${QEMU_BINARY}" "${R}${QEMU_BINARY}" |
@@ -28,10 +28,10 if [ $(echo "$APT_INCLUDES" | grep ",locales") ] ; then | |||||
28 | chroot_exec update-locale LANG="${DEFLOCAL}" |
|
28 | chroot_exec update-locale LANG="${DEFLOCAL}" | |
29 |
|
29 | |||
30 | # Install and setup default keyboard configuration |
|
30 | # Install and setup default keyboard configuration | |
31 | if [ "$XKB_MODEL" != "" ] ; then |
|
31 | if [ "$XKB_MODEL" != "pc105" ] ; then | |
32 | sed -i "s/^XKBMODEL.*/XKBMODEL=\"${XKB_MODEL}\"/" "${ETC_DIR}/default/keyboard" |
|
32 | sed -i "s/^XKBMODEL.*/XKBMODEL=\"${XKB_MODEL}\"/" "${ETC_DIR}/default/keyboard" | |
33 | fi |
|
33 | fi | |
34 | if [ "$XKB_LAYOUT" != "" ] ; then |
|
34 | if [ "$XKB_LAYOUT" != "us" ] ; then | |
35 | sed -i "s/^XKBLAYOUT.*/XKBLAYOUT=\"${XKB_LAYOUT}\"/" "${ETC_DIR}/default/keyboard" |
|
35 | sed -i "s/^XKBLAYOUT.*/XKBLAYOUT=\"${XKB_LAYOUT}\"/" "${ETC_DIR}/default/keyboard" | |
36 | fi |
|
36 | fi | |
37 | if [ "$XKB_VARIANT" != "" ] ; then |
|
37 | if [ "$XKB_VARIANT" != "" ] ; then |
@@ -95,7 +95,7 if [ "$ENABLE_INITRAMFS" = true ] ; then | |||||
95 | fi |
|
95 | fi | |
96 |
|
96 | |||
97 | # Disable RPi3 Bluetooth and restore ttyAMA0 serial device |
|
97 | # Disable RPi3 Bluetooth and restore ttyAMA0 serial device | |
98 | if [ "$RPI_MODEL" = 3 ] || [ "$RPI_MODEL" = 3P ]; then |
|
98 | if [ "$RPI_MODEL" = 3 ] || [ "$RPI_MODEL" = 3P ] ; then | |
99 | if [ "$ENABLE_CONSOLE" = true ] && [ "$ENABLE_UBOOT" = false ] ; then |
|
99 | if [ "$ENABLE_CONSOLE" = true ] && [ "$ENABLE_UBOOT" = false ] ; then | |
100 | echo "dtoverlay=pi3-disable-bt" >> "${BOOT_DIR}/config.txt" |
|
100 | echo "dtoverlay=pi3-disable-bt" >> "${BOOT_DIR}/config.txt" | |
101 | echo "enable_uart=1" >> "${BOOT_DIR}/config.txt" |
|
101 | echo "enable_uart=1" >> "${BOOT_DIR}/config.txt" |
@@ -107,7 +107,7 if [ "$ENABLE_WIRELESS" = true ] ; then | |||||
107 | as_nobody wget -q -O "${temp_dir}/brcmfmac43455-sdio.bin" "${WLAN_FIRMWARE_URL}/brcmfmac43455-sdio.bin" |
|
107 | as_nobody wget -q -O "${temp_dir}/brcmfmac43455-sdio.bin" "${WLAN_FIRMWARE_URL}/brcmfmac43455-sdio.bin" | |
108 | as_nobody wget -q -O "${temp_dir}/brcmfmac43455-sdio.txt" "${WLAN_FIRMWARE_URL}/brcmfmac43455-sdio.txt" |
|
108 | as_nobody wget -q -O "${temp_dir}/brcmfmac43455-sdio.txt" "${WLAN_FIRMWARE_URL}/brcmfmac43455-sdio.txt" | |
109 | as_nobody wget -q -O "${temp_dir}/brcmfmac43455-sdio.clm_blob" "${WLAN_FIRMWARE_URL}/brcmfmac43455-sdio.clm_blob" |
|
109 | as_nobody wget -q -O "${temp_dir}/brcmfmac43455-sdio.clm_blob" "${WLAN_FIRMWARE_URL}/brcmfmac43455-sdio.clm_blob" | |
110 | else |
|
110 | elif [ "$RPI_MODEL" = 3 ] || [ "$RPI_MODEL" = 0 ] ; then | |
111 | # Fetch firmware binary blob for RPI3 |
|
111 | # Fetch firmware binary blob for RPI3 | |
112 | as_nobody wget -q -O "${temp_dir}/brcmfmac43430-sdio.bin" "${WLAN_FIRMWARE_URL}/brcmfmac43430-sdio.bin" |
|
112 | as_nobody wget -q -O "${temp_dir}/brcmfmac43430-sdio.bin" "${WLAN_FIRMWARE_URL}/brcmfmac43430-sdio.bin" | |
113 | as_nobody wget -q -O "${temp_dir}/brcmfmac43430-sdio.txt" "${WLAN_FIRMWARE_URL}/brcmfmac43430-sdio.txt" |
|
113 | as_nobody wget -q -O "${temp_dir}/brcmfmac43430-sdio.txt" "${WLAN_FIRMWARE_URL}/brcmfmac43430-sdio.txt" | |
@@ -116,7 +116,7 if [ "$ENABLE_WIRELESS" = true ] ; then | |||||
116 | # Move downloaded firmware binary blob |
|
116 | # Move downloaded firmware binary blob | |
117 | if [ "$RPI_MODEL" = 3P ] ; then |
|
117 | if [ "$RPI_MODEL" = 3P ] ; then | |
118 | mv "${temp_dir}/brcmfmac43455-sdio."* "${WLAN_FIRMWARE_DIR}/" |
|
118 | mv "${temp_dir}/brcmfmac43455-sdio."* "${WLAN_FIRMWARE_DIR}/" | |
119 | else |
|
119 | elif [ "$RPI_MODEL" = 3 ] || [ "$RPI_MODEL" = 0 ] ; then | |
120 | mv "${temp_dir}/brcmfmac43430-sdio."* "${WLAN_FIRMWARE_DIR}/" |
|
120 | mv "${temp_dir}/brcmfmac43430-sdio."* "${WLAN_FIRMWARE_DIR}/" | |
121 | fi |
|
121 | fi | |
122 |
|
122 | |||
@@ -127,7 +127,7 if [ "$ENABLE_WIRELESS" = true ] ; then | |||||
127 | if [ "$RPI_MODEL" = 3P ] ; then |
|
127 | if [ "$RPI_MODEL" = 3P ] ; then | |
128 | chown root:root "${WLAN_FIRMWARE_DIR}/brcmfmac43455-sdio."* |
|
128 | chown root:root "${WLAN_FIRMWARE_DIR}/brcmfmac43455-sdio."* | |
129 | chmod 600 "${WLAN_FIRMWARE_DIR}/brcmfmac43455-sdio."* |
|
129 | chmod 600 "${WLAN_FIRMWARE_DIR}/brcmfmac43455-sdio."* | |
130 | else |
|
130 | elif [ "$RPI_MODEL" = 3 ] || [ "$RPI_MODEL" = 0 ] ; then | |
131 | chown root:root "${WLAN_FIRMWARE_DIR}/brcmfmac43430-sdio."* |
|
131 | chown root:root "${WLAN_FIRMWARE_DIR}/brcmfmac43430-sdio."* | |
132 | chmod 600 "${WLAN_FIRMWARE_DIR}/brcmfmac43430-sdio."* |
|
132 | chmod 600 "${WLAN_FIRMWARE_DIR}/brcmfmac43430-sdio."* | |
133 | fi |
|
133 | fi |
@@ -10,9 +10,9 if [ "$ENABLE_IPTABLES" = true ] ; then | |||||
10 | mkdir -p "${ETC_DIR}/iptables" |
|
10 | mkdir -p "${ETC_DIR}/iptables" | |
11 |
|
11 | |||
12 | # make sure iptables-legacy,iptables-legacy-restore and iptables-legacy-save are the used alternatives |
|
12 | # make sure iptables-legacy,iptables-legacy-restore and iptables-legacy-save are the used alternatives | |
13 | chroot_exec update-alternatives --verbose --set iptables /usr/bin/iptables-legacy |
|
13 | chroot_exec update-alternatives --verbose --set iptables /usr/sbin/iptables-legacy | |
14 | chroot_exec update-alternatives --verbose --set iptables-save /usr/bin/iptables-legacy-save |
|
14 | chroot_exec update-alternatives --verbose --set iptables-save /usr/sbin/iptables-legacy-save | |
15 | chroot_exec update-alternatives --verbose --set iptables-restore /usr/bin/iptables-legacy-restore |
|
15 | chroot_exec update-alternatives --verbose --set iptables-restore /usr/sbin/iptables-legacy-restore | |
16 |
|
16 | |||
17 | # Install iptables systemd service |
|
17 | # Install iptables systemd service | |
18 | install_readonly files/iptables/iptables.service "${ETC_DIR}/systemd/system/iptables.service" |
|
18 | install_readonly files/iptables/iptables.service "${ETC_DIR}/systemd/system/iptables.service" |
@@ -176,6 +176,7 ENABLE_USER=${ENABLE_USER:=true} | |||||
176 | USER_NAME=${USER_NAME:="pi"} |
|
176 | USER_NAME=${USER_NAME:="pi"} | |
177 | ENABLE_ROOT=${ENABLE_ROOT:=false} |
|
177 | ENABLE_ROOT=${ENABLE_ROOT:=false} | |
178 | ENABLE_QEMU=${ENABLE_QEMU:=false} |
|
178 | ENABLE_QEMU=${ENABLE_QEMU:=false} | |
|
179 | ENABLE_SYSVINIT=${ENABLE_SYSVINIT:=false} | |||
179 |
|
180 | |||
180 | # SSH settings |
|
181 | # SSH settings | |
181 | SSH_ENABLE_ROOT=${SSH_ENABLE_ROOT:=false} |
|
182 | SSH_ENABLE_ROOT=${SSH_ENABLE_ROOT:=false} | |
@@ -244,6 +245,9 CHROOT_SCRIPTS=${CHROOT_SCRIPTS:=""} | |||||
244 | APT_INCLUDES=${APT_INCLUDES:=""} |
|
245 | APT_INCLUDES=${APT_INCLUDES:=""} | |
245 | APT_INCLUDES="${APT_INCLUDES},apt-transport-https,apt-utils,ca-certificates,debian-archive-keyring,dialog,sudo,systemd,sysvinit-utils" |
|
246 | APT_INCLUDES="${APT_INCLUDES},apt-transport-https,apt-utils,ca-certificates,debian-archive-keyring,dialog,sudo,systemd,sysvinit-utils" | |
246 |
|
247 | |||
|
248 | #Packages to exclude from chroot build environment | |||
|
249 | APT_EXCLUDES=${APT_EXCLUDES:=""} | |||
|
250 | ||||
247 | # Packages required for bootstrapping |
|
251 | # Packages required for bootstrapping | |
248 | REQUIRED_PACKAGES="debootstrap debian-archive-keyring qemu-user-static binfmt-support dosfstools rsync bmap-tools whois git bc psmisc dbus sudo" |
|
252 | REQUIRED_PACKAGES="debootstrap debian-archive-keyring qemu-user-static binfmt-support dosfstools rsync bmap-tools whois git bc psmisc dbus sudo" | |
249 | MISSING_PACKAGES="" |
|
253 | MISSING_PACKAGES="" | |
@@ -253,6 +257,11 COMPILER_PACKAGES="" | |||||
253 |
|
257 | |||
254 | set +x |
|
258 | set +x | |
255 |
|
259 | |||
|
260 | #If init and systemd-sysv are wanted e.g. halt/reboot/shutdown scripts | |||
|
261 | if [ "$ENABLE_SYSVINIT" = false ] ; then | |||
|
262 | APT_EXCLUDES="--exclude=${APT_EXCLUDES},init,systemd-sysv" | |||
|
263 | fi | |||
|
264 | ||||
256 | # Set Raspberry Pi model specific configuration |
|
265 | # Set Raspberry Pi model specific configuration | |
257 | if [ "$RPI_MODEL" = 0 ] ; then |
|
266 | if [ "$RPI_MODEL" = 0 ] ; then | |
258 | DTB_FILE=${RPI0_DTB_FILE} |
|
267 | DTB_FILE=${RPI0_DTB_FILE} | |
@@ -306,9 +315,9 if [ "$BUILD_KERNEL" = true ] ; then | |||||
306 | if [ "$RELEASE_ARCH" = "armhf" ]; then |
|
315 | if [ "$RELEASE_ARCH" = "armhf" ]; then | |
307 | REQUIRED_PACKAGES="${REQUIRED_PACKAGES} crossbuild-essential-armhf" |
|
316 | REQUIRED_PACKAGES="${REQUIRED_PACKAGES} crossbuild-essential-armhf" | |
308 | fi |
|
317 | fi | |
309 | if [ "$RELEASE_ARCH" = "arm64" ]; then |
|
318 | fi | |
310 | REQUIRED_PACKAGES="${REQUIRED_PACKAGES} crossbuild-essential-arm64" |
|
319 | if [ "$RELEASE_ARCH" = "arm64" ]; then | |
311 | fi |
|
320 | REQUIRED_PACKAGES="${REQUIRED_PACKAGES} crossbuild-essential-arm64" | |
312 | fi |
|
321 | fi | |
313 | fi |
|
322 | fi | |
314 |
|
323 | |||
@@ -448,7 +457,7 if [ "$ENABLE_MINBASE" = true ] ; then | |||||
448 | fi |
|
457 | fi | |
449 |
|
458 | |||
450 | # Add required locales packages |
|
459 | # Add required locales packages | |
451 | if [ "$DEFLOCAL" != "en_US.UTF-8" ] ; then |
|
460 | if [ "$DEFLOCAL" != "en_US.UTF-8" ] || ([ -n XKB_MODEL ] || [ -n XKB_LAYOUT ] || [ -n XKB_VARIANT ] || [ -n XKB_OPTIONS ]); then | |
452 | APT_INCLUDES="${APT_INCLUDES},locales,keyboard-configuration,console-setup" |
|
461 | APT_INCLUDES="${APT_INCLUDES},locales,keyboard-configuration,console-setup" | |
453 | fi |
|
462 | fi | |
454 |
|
463 | |||
@@ -464,7 +473,7 fi | |||||
464 |
|
473 | |||
465 | # Add iptables IPv4/IPv6 package |
|
474 | # Add iptables IPv4/IPv6 package | |
466 | if [ "$ENABLE_IPTABLES" = true ] ; then |
|
475 | if [ "$ENABLE_IPTABLES" = true ] ; then | |
467 | APT_INCLUDES="${APT_INCLUDES},iptables" |
|
476 | APT_INCLUDES="${APT_INCLUDES},iptables,iptables-persistent" | |
468 | fi |
|
477 | fi | |
469 |
|
478 | |||
470 | # Add openssh server package |
|
479 | # Add openssh server package |
General Comments 0
Vous devez vous connecter pour laisser un commentaire.
Se connecter maintenant