##// END OF EJS Templates
0
Unknown -
r438:68e46fb40bfb
parent child
Show More
@@ -173,6 +173,9 Allow the installation of non-free Debian packages that do not comply with the D
173 173 ##### `ENABLE_WIRELESS`=false
174 174 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`.
175 175
176 ##### `ENABLE_BLUETOOTH`=false
177 Enable Bluetooth interface on the RPi0/3.
178
176 179 ##### `ENABLE_RSYSLOG`=true
177 180 If set to false, disable and uninstall rsyslog (so logs will be available only
178 181 in journal files)
@@ -104,44 +104,46 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"
107 else
108 # Create temporary directory for Bluetooth sources
109 temp_dir=$(as_nobody mktemp -d)
107 fi
108 fi
110 109
111 # Fetch Bluetooth sources
112 as_nobody git -C "${temp_dir}" clone "${BLUETOOTH_URL}"
110 if [ "$ENABLE_BLUETOOTH" = true ] ; then
111 # Create temporary directory for Bluetooth sources
112 temp_dir=$(as_nobody mktemp -d)
113 113
114 # Copy downloaded sources
115 mv "${temp_dir}/pi-bluetooth" "${R}/tmp/"
114 # Fetch Bluetooth sources
115 as_nobody git -C "${temp_dir}" clone "${BLUETOOTH_URL}"
116 116
117 # Raspberry-sys-mod package for /dev/serial device needed by bluetooth service
118 as_nobody wget -q -O "${R}/tmp/pi-bluetooth/99-com.rules" https://raw.githubusercontent.com/RPi-Distro/raspberrypi-sys-mods/master/etc.armhf/udev/rules.d/99-com.rules
119 # Bluetooth firmware from arch aur https://aur.archlinux.org/packages/pi-bluetooth/
120 as_nobody wget -q -O "${R}/tmp/pi-bluetooth/LICENCE.broadcom_bcm43xx" https://aur.archlinux.org/cgit/aur.git/plain/LICENCE.broadcom_bcm43xx?h=pi-bluetooth
121 as_nobody wget -q -O "${R}/tmp/pi-bluetooth/BCM43430A1.hcd" https://aur.archlinux.org/cgit/aur.git/plain/BCM43430A1.hcd?h=pi-bluetooth
117 # Copy downloaded sources
118 mv "${temp_dir}/pi-bluetooth" "${R}/tmp/"
122 119
123 # Set permissions
124 chown -R root:root "${R}/tmp/pi-bluetooth"
120 # Raspberry-sys-mod package for /dev/serial device needed by bluetooth service
121 as_nobody wget -q -O "${R}/tmp/pi-bluetooth/99-com.rules" https://raw.githubusercontent.com/RPi-Distro/raspberrypi-sys-mods/master/etc.armhf/udev/rules.d/99-com.rules
122 # Bluetooth firmware from arch aur https://aur.archlinux.org/packages/pi-bluetooth/
123 as_nobody wget -q -O "${R}/tmp/pi-bluetooth/LICENCE.broadcom_bcm43xx" https://aur.archlinux.org/cgit/aur.git/plain/LICENCE.broadcom_bcm43xx?h=pi-bluetooth
124 as_nobody wget -q -O "${R}/tmp/pi-bluetooth/BCM43430A1.hcd" https://aur.archlinux.org/cgit/aur.git/plain/BCM43430A1.hcd?h=pi-bluetooth
125 125
126 # Install tools
127 install_readonly "${R}/tmp/pi-bluetooth/usr/bin/btuart" "${R}/usr/bin/btuart"
128 install_readonly "${R}/tmp/pi-bluetooth/usr/bin/bthelper" "${R}/usr/bin/bthelper"
126 # Set permissions
127 chown -R root:root "${R}/tmp/pi-bluetooth"
129 128
130 # Install bluetooth udev rule
131 install_readonly "${R}/tmp/pi-bluetooth/lib/udev/rules.d/90-pi-bluetooth.rules" "${LIB_DIR}/udev/rules.d/90-pi-bluetooth.rules"
129 # Install tools
130 install_readonly "${R}/tmp/pi-bluetooth/usr/bin/btuart" "${R}/usr/bin/btuart"
131 install_readonly "${R}/tmp/pi-bluetooth/usr/bin/bthelper" "${R}/usr/bin/bthelper"
132 132
133 # Install Firmware Flash file and apropiate licence
134 mkdir "${ETC_DIR}/firmware/"
135 install_readonly "${R}/tmp/pi-bluetooth/LICENCE.broadcom_bcm43xx" "${ETC_DIR}/firmware/LICENCE.broadcom_bcm43xx"
136 install_readonly "${R}/tmp/pi-bluetooth/BCM43430A1.hcd" "${ETC_DIR}/firmware/LICENCE.broadcom_bcm43xx"
137 install_readonly "${R}/tmp/pi-bluetooth/debian/pi-bluetooth.bthelper@.service" "${ETC_DIR}/systemd/system/pi-bluetooth.bthelper@.service"
138 install_readonly "${R}/tmp/pi-bluetooth/debian/pi-bluetooth.hciuart.service" "${ETC_DIR}/systemd/system/pi-bluetooth.hciuart.service"
139 # Install udev rule for bluetooth device
140 install_readonly "${R}/tmp/pi-bluetooth/99-com.rules" "${ETC_DIR}/udev/rules.d/99-com.rules"
133 # Install bluetooth udev rule
134 install_readonly "${R}/tmp/pi-bluetooth/lib/udev/rules.d/90-pi-bluetooth.rules" "${LIB_DIR}/udev/rules.d/90-pi-bluetooth.rules"
135
136 # Install Firmware Flash file and apropiate licence
137 mkdir "${ETC_DIR}/firmware/"
138 install_readonly "${R}/tmp/pi-bluetooth/LICENCE.broadcom_bcm43xx" "${ETC_DIR}/firmware/LICENCE.broadcom_bcm43xx"
139 install_readonly "${R}/tmp/pi-bluetooth/BCM43430A1.hcd" "${ETC_DIR}/firmware/LICENCE.broadcom_bcm43xx"
140 install_readonly "${R}/tmp/pi-bluetooth/debian/pi-bluetooth.bthelper@.service" "${ETC_DIR}/systemd/system/pi-bluetooth.bthelper@.service"
141 install_readonly "${R}/tmp/pi-bluetooth/debian/pi-bluetooth.hciuart.service" "${ETC_DIR}/systemd/system/pi-bluetooth.hciuart.service"
142 # Install udev rule for bluetooth device
143 install_readonly "${R}/tmp/pi-bluetooth/99-com.rules" "${ETC_DIR}/udev/rules.d/99-com.rules"
141 144
142 # Remove temporary directory
143 rm -fr "${temp_dir}"
144 fi
145 # Remove temporary directory
146 rm -fr "${temp_dir}"
145 147 fi
146 148
147 149 # Create firmware configuration and cmdline symlinks
@@ -107,28 +107,26 if [ "$ENABLE_WIRELESS" = true ] ; then
107 107 as_nobody wget -q -O "${temp_dir}/brcmfmac43455-sdio.bin" "${WLAN_FIRMWARE_URL}/brcmfmac43455-sdio.bin"
108 108 as_nobody wget -q -O "${temp_dir}/brcmfmac43455-sdio.txt" "${WLAN_FIRMWARE_URL}/brcmfmac43455-sdio.txt"
109 109 as_nobody wget -q -O "${temp_dir}/brcmfmac43455-sdio.clm_blob" "${WLAN_FIRMWARE_URL}/brcmfmac43455-sdio.clm_blob"
110
111 # Move downloaded firmware binary blob
112 mv "${temp_dir}/brcmfmac43455-sdio."* "${WLAN_FIRMWARE_DIR}/"
113
114 # Set permissions of the firmware binary blob
115 chown root:root "${WLAN_FIRMWARE_DIR}/brcmfmac43455-sdio."*
116 chmod 600 "${WLAN_FIRMWARE_DIR}/brcmfmac43455-sdio."*
110 117 elif [ "$RPI_MODEL" = 3 ] || [ "$RPI_MODEL" = 0 ] ; then
111 118 # Fetch firmware binary blob for RPi3
112 119 as_nobody wget -q -O "${temp_dir}/brcmfmac43430-sdio.bin" "${WLAN_FIRMWARE_URL}/brcmfmac43430-sdio.bin"
113 120 as_nobody wget -q -O "${temp_dir}/brcmfmac43430-sdio.txt" "${WLAN_FIRMWARE_URL}/brcmfmac43430-sdio.txt"
114 fi
115
116 # Move downloaded firmware binary blob
117 if [ "$RPI_MODEL" = 3P ] ; then
118 mv "${temp_dir}/brcmfmac43455-sdio."* "${WLAN_FIRMWARE_DIR}/"
119 elif [ "$RPI_MODEL" = 3 ] || [ "$RPI_MODEL" = 0 ] ; then
120 mv "${temp_dir}/brcmfmac43430-sdio."* "${WLAN_FIRMWARE_DIR}/"
121
122 # Move downloaded firmware binary blob
123 mv "${temp_dir}/brcmfmac43430-sdio."* "${WLAN_FIRMWARE_DIR}/"
124
125 # Set permissions of the firmware binary blob
126 chown root:root "${WLAN_FIRMWARE_DIR}/brcmfmac43430-sdio."*
127 chmod 600 "${WLAN_FIRMWARE_DIR}/brcmfmac43430-sdio."*
121 128 fi
122 129
123 130 # Remove temporary directory for firmware binary blob
124 131 rm -fr "${temp_dir}"
125
126 # Set permissions of the firmware binary blob
127 if [ "$RPI_MODEL" = 3P ] ; then
128 chown root:root "${WLAN_FIRMWARE_DIR}/brcmfmac43455-sdio."*
129 chmod 600 "${WLAN_FIRMWARE_DIR}/brcmfmac43455-sdio."*
130 elif [ "$RPI_MODEL" = 3 ] || [ "$RPI_MODEL" = 0 ] ; then
131 chown root:root "${WLAN_FIRMWARE_DIR}/brcmfmac43430-sdio."*
132 chmod 600 "${WLAN_FIRMWARE_DIR}/brcmfmac43430-sdio."*
133 fi
134 132 fi
@@ -112,6 +112,7 APT_PROXY=${APT_PROXY:=""}
112 112 APT_SERVER=${APT_SERVER:="ftp.debian.org"}
113 113
114 114 # Feature settings
115 ENABLE_BLUETOOTH=${ENABLE_BLUETOOTH:=false}
115 116 ENABLE_CONSOLE=${ENABLE_CONSOLE:=true}
116 117 ENABLE_I2C=${ENABLE_I2C:=false}
117 118 ENABLE_SPI=${ENABLE_SPI:=false}
@@ -387,6 +388,14 else
387 388 fi
388 389 fi
389 390
391 if [ "$ENABLE_BLUETOOTH" = true ] ; then
392 if [ "$RPI_MODEL" = 0 ] || [ "$RPI_MODEL" = 3 ] || [ "$RPI_MODEL" = 3P ] ; then
393 if [ "$ENABLE_CONSOLE" = false ] ; then
394 APT_INCLUDES="${APT_INCLUDES},bluetooth,bluez"
395 fi
396 fi
397 fi
398
390 399 # Check if root SSH (v2) public key file exists
391 400 if [ -n "$SSH_ROOT_PUB_KEY" ] ; then
392 401 if [ ! -f "$SSH_ROOT_PUB_KEY" ] ; then
General Comments 0
Vous devez vous connecter pour laisser un commentaire. Se connecter maintenant