##// END OF EJS Templates
Use 4.14.y as default kernel version...
Use 4.14.y as default kernel version 4.14.y is used as default kernel version of many distros. Additionnaly the 4.14.y branch is the current default branch of the RPi kernel repo.

Fichier de la dernière révision:

r384:ebd8e6e39c8b
r394:5d19d305a4db
Show More
20-networking.sh
133 lines | 4.9 KiB | application/x-sh | BashLexer
Filip Pytloun
Refactor: split bootstrap actions and allow custom
r56 #
Jan Wagner
spliting more files, fix-uboot, fix-fbturbo, fix-locale
r67 # Setup Networking
Filip Pytloun
Refactor: split bootstrap actions and allow custom
r56 #
Jan Wagner
spliting more files, fix-uboot, fix-fbturbo, fix-locale
r67 # Load utility functions
Filip Pytloun
Refactor: split bootstrap actions and allow custom
r56 . ./functions.sh
Jan Wagner
comment-cleanup, net-cleanup, size-calc-fix, split-more, menuconfig
r71 # Install and setup hostname
drtyhlpr
Added Raspberry Pi 3 model support
r94 install_readonly files/network/hostname "${ETC_DIR}/hostname"
Unknown
its bin/sh again...
r384 sed -i "s/^RaspberryPI/${HOSTNAME}/" "${ETC_DIR}/hostname"
Jan Wagner
spliting more files, fix-uboot, fix-fbturbo, fix-locale
r67
Jan Wagner
comment-cleanup, net-cleanup, size-calc-fix, split-more, menuconfig
r71 # Install and setup hosts
drtyhlpr
Added Raspberry Pi 3 model support
r94 install_readonly files/network/hosts "${ETC_DIR}/hosts"
Unknown
its bin/sh again...
r384 sed -i "s/RaspberryPI/${HOSTNAME}/" "${ETC_DIR}/hosts"
Filip Pytloun
Refactor: split bootstrap actions and allow custom
r56
Jan Wagner
comment-cleanup, net-cleanup, size-calc-fix, split-more, menuconfig
r71 # Setup hostname entry with static IP
Filip Pytloun
Refactor: split bootstrap actions and allow custom
r56 if [ "$NET_ADDRESS" != "" ] ; then
Jan Wagner
Added: KERNELSRC_PREBUILT, KERNELSRC_ rename, fix-quotes
r75 NET_IP=$(echo "${NET_ADDRESS}" | cut -f 1 -d'/')
drtyhlpr
Added Raspberry Pi 3 model support
r94 sed -i "s/^127.0.1.1/${NET_IP}/" "${ETC_DIR}/hosts"
Filip Pytloun
Refactor: split bootstrap actions and allow custom
r56 fi
Jan Wagner
comment-cleanup, net-cleanup, size-calc-fix, split-more, menuconfig
r71 # Remove IPv6 hosts
if [ "$ENABLE_IPV6" = false ] ; then
drtyhlpr
Added Raspberry Pi 3 model support
r94 sed -i -e "/::[1-9]/d" -e "/^$/d" "${ETC_DIR}/hosts"
Filip Pytloun
Refactor: split bootstrap actions and allow custom
r56 fi
Jan Wagner
comment-cleanup, net-cleanup, size-calc-fix, split-more, menuconfig
r71 # Install hint about network configuration
drtyhlpr
Added Raspberry Pi 3 model support
r94 install_readonly files/network/interfaces "${ETC_DIR}/network/interfaces"
Filip Pytloun
Refactor: split bootstrap actions and allow custom
r56
Jan Wagner
comment-cleanup, net-cleanup, size-calc-fix, split-more, menuconfig
r71 # Install configuration for interface eth0
drtyhlpr
Added Raspberry Pi 3 model support
r94 install_readonly files/network/eth.network "${ETC_DIR}/systemd/network/eth.network"
Jan Wagner
comment-cleanup, net-cleanup, size-calc-fix, split-more, menuconfig
r71
Unknown
RPI3B+...
r250 # Install configuration for interface wl*
install_readonly files/network/wlan.network "${ETC_DIR}/systemd/network/wlan.network"
#always with dhcp since wpa_supplicant integration is missing
sed -i -e "s/DHCP=.*/DHCP=yes/" -e "/DHCP/q" "${ETC_DIR}/systemd/network/wlan.network"
Filip Pytloun
Refactor: split bootstrap actions and allow custom
r56 if [ "$ENABLE_DHCP" = true ] ; then
Jan Wagner
comment-cleanup, net-cleanup, size-calc-fix, split-more, menuconfig
r71 # Enable DHCP configuration for interface eth0
drtyhlpr
Added Raspberry Pi 3 model support
r94 sed -i -e "s/DHCP=.*/DHCP=yes/" -e "/DHCP/q" "${ETC_DIR}/systemd/network/eth.network"
Unknown
RPI3B+...
r250
Jan Wagner
code cleanup and even more spliting
r70 # Set DHCP configuration to IPv4 only
Jan Wagner
spliting more files, fix-uboot, fix-fbturbo, fix-locale
r67 if [ "$ENABLE_IPV6" = false ] ; then
drtyhlpr
Added Raspberry Pi 3 model support
r94 sed -i "s/DHCP=.*/DHCP=v4/" "${ETC_DIR}/systemd/network/eth.network"
Jan Wagner
spliting more files, fix-uboot, fix-fbturbo, fix-locale
r67 fi
Jan Wagner
code cleanup and even more spliting
r70
Filip Pytloun
Refactor: split bootstrap actions and allow custom
r56 else # ENABLE_DHCP=false
Jan Wagner
comment-cleanup, net-cleanup, size-calc-fix, split-more, menuconfig
r71 # Set static network configuration for interface eth0
sed -i\
-e "s|DHCP=.*|DHCP=no|"\
-e "s|Address=\$|Address=${NET_ADDRESS}|"\
-e "s|Gateway=\$|Gateway=${NET_GATEWAY}|"\
-e "0,/DNS=\$/ s|DNS=\$|DNS=${NET_DNS_1}|"\
-e "0,/DNS=\$/ s|DNS=\$|DNS=${NET_DNS_2}|"\
-e "s|Domains=\$|Domains=${NET_DNS_DOMAINS}|"\
-e "0,/NTP=\$/ s|NTP=\$|NTP=${NET_NTP_1}|"\
-e "0,/NTP=\$/ s|NTP=\$|NTP=${NET_NTP_2}|"\
drtyhlpr
Added Raspberry Pi 3 model support
r94 "${ETC_DIR}/systemd/network/eth.network"
Filip Pytloun
Refactor: split bootstrap actions and allow custom
r56 fi
Jan Wagner
comment-cleanup, net-cleanup, size-calc-fix, split-more, menuconfig
r71 # Remove empty settings from network configuration
drtyhlpr
Added Raspberry Pi 3 model support
r94 sed -i "/.*=\$/d" "${ETC_DIR}/systemd/network/eth.network"
Unknown
RPI3B+...
r250 # Remove empty settings from wlan configuration
sed -i "/.*=\$/d" "${ETC_DIR}/systemd/network/wlan.network"
Jan Wagner
comment-cleanup, net-cleanup, size-calc-fix, split-more, menuconfig
r71
drtyhlpr
Added Debian stretch release support
r92 # Move systemd network configuration if required by Debian release
Unknown
its bin/sh again...
r384 mv -v "${ETC_DIR}/systemd/network/eth.network" "${LIB_DIR}/systemd/network/10-eth.network"
# If WLAN is enabled copy wlan configuration too
if [ "$ENABLE_WIRELESS" = true ] ; then
mv -v "${ETC_DIR}/systemd/network/wlan.network" "${LIB_DIR}/systemd/network/11-wlan.network"
drtyhlpr
Added Debian stretch release support
r92 fi
Unknown
its bin/sh again...
r384 rm -fr "${ETC_DIR}/systemd/network"
drtyhlpr
Added Debian stretch release support
r92
Filip Pytloun
Refactor: split bootstrap actions and allow custom
r56 # Enable systemd-networkd service
chroot_exec systemctl enable systemd-networkd
Jan Wagner
comment-cleanup, net-cleanup, size-calc-fix, split-more, menuconfig
r71 # Install host.conf resolver configuration
drtyhlpr
Added Raspberry Pi 3 model support
r94 install_readonly files/network/host.conf "${ETC_DIR}/host.conf"
Jan Wagner
comment-cleanup, net-cleanup, size-calc-fix, split-more, menuconfig
r71
Filip Pytloun
Refactor: split bootstrap actions and allow custom
r56 # Enable network stack hardening
if [ "$ENABLE_HARDNET" = true ] ; then
Jan Wagner
comment-cleanup, net-cleanup, size-calc-fix, split-more, menuconfig
r71 # Install sysctl.d configuration files
drtyhlpr
Added Raspberry Pi 3 model support
r94 install_readonly files/sysctl.d/82-rpi-net-hardening.conf "${ETC_DIR}/sysctl.d/82-rpi-net-hardening.conf"
Filip Pytloun
Refactor: split bootstrap actions and allow custom
r56
Jan Wagner
comment-cleanup, net-cleanup, size-calc-fix, split-more, menuconfig
r71 # Setup resolver warnings about spoofed addresses
drtyhlpr
Added Raspberry Pi 3 model support
r94 sed -i "s/^# spoof warn/spoof warn/" "${ETC_DIR}/host.conf"
Filip Pytloun
Refactor: split bootstrap actions and allow custom
r56 fi
Stephen A. Brandli
Fixed: Enable systemd time sync.
r85
# Enable time sync
Unknown
https://www.shellcheck.net/...
r336 if [ "$NET_NTP_1" != "" ] ; then
Stephen A. Brandli
Fixed: Enable systemd time sync.
r85 chroot_exec systemctl enable systemd-timesyncd.service
fi
drtyhlpr
Added Raspberry Pi 3 model support
r94
# Download the firmware binary blob required to use the RPi3 wireless interface
if [ "$ENABLE_WIRELESS" = true ] ; then
Unknown
https://www.shellcheck.net/...
r336 if [ ! -d "${WLAN_FIRMWARE_DIR}" ] ; then
mkdir -p "${WLAN_FIRMWARE_DIR}"
drtyhlpr
Added Raspberry Pi 3 model support
r94 fi
drtyhlpr
Updated: Dropping privileges, chroot compiler install, dropbear sshd config
r142 # Create temporary directory for firmware binary blob
Petter Reinholdtsen
Introduce as_nobody() function to make it easier to control how it is done....
r174 temp_dir=$(as_nobody mktemp -d)
drtyhlpr
Updated: Dropping privileges, chroot compiler install, dropbear sshd config
r142
Unknown
RPI3B+...
r250 # Fetch firmware binary blob for RPI3B+
Unknown
Network Fix...
r268 if [ "$RPI_MODEL" = 3P ] ; then
Unknown
RPI3B+...
r250 as_nobody wget -q -O "${temp_dir}/brcmfmac43455-sdio.bin" "${WLAN_FIRMWARE_URL}/brcmfmac43455-sdio.bin"
as_nobody wget -q -O "${temp_dir}/brcmfmac43455-sdio.txt" "${WLAN_FIRMWARE_URL}/brcmfmac43455-sdio.txt"
as_nobody wget -q -O "${temp_dir}/brcmfmac43455-sdio.clm_blob" "${WLAN_FIRMWARE_URL}/brcmfmac43455-sdio.clm_blob"
Unknown
Fix WIFI Raspberry 0W
r289 elif [ "$RPI_MODEL" = 3 ] || [ "$RPI_MODEL" = 0 ] ; then
Unknown
RPI3B+...
r250 # Fetch firmware binary blob for RPI3
Petter Reinholdtsen
Introduce as_nobody() function to make it easier to control how it is done....
r174 as_nobody wget -q -O "${temp_dir}/brcmfmac43430-sdio.bin" "${WLAN_FIRMWARE_URL}/brcmfmac43430-sdio.bin"
as_nobody wget -q -O "${temp_dir}/brcmfmac43430-sdio.txt" "${WLAN_FIRMWARE_URL}/brcmfmac43430-sdio.txt"
Unknown
RPI3B+...
r250 fi
drtyhlpr
Updated: Dropping privileges, chroot compiler install, dropbear sshd config
r142 # Move downloaded firmware binary blob
Unknown
Network Fix...
r268 if [ "$RPI_MODEL" = 3P ] ; then
Unknown
RPI3B+...
r250 mv "${temp_dir}/brcmfmac43455-sdio."* "${WLAN_FIRMWARE_DIR}/"
Unknown
Fix WIFI Raspberry 0W
r289 elif [ "$RPI_MODEL" = 3 ] || [ "$RPI_MODEL" = 0 ] ; then
drtyhlpr
Updated: Dropping privileges, chroot compiler install, dropbear sshd config
r142 mv "${temp_dir}/brcmfmac43430-sdio."* "${WLAN_FIRMWARE_DIR}/"
Unknown
RPI3B+...
r250 fi
drtyhlpr
Updated: Dropping privileges, chroot compiler install, dropbear sshd config
r142 # Remove temporary directory for firmware binary blob
rm -fr "${temp_dir}"
# Set permissions of the firmware binary blob
Unknown
Network Fix...
r268 if [ "$RPI_MODEL" = 3P ] ; then
Unknown
RPI3B+...
r250 chown root:root "${WLAN_FIRMWARE_DIR}/brcmfmac43455-sdio."*
chmod 600 "${WLAN_FIRMWARE_DIR}/brcmfmac43455-sdio."*
Unknown
FIX WIFI RPI 0W PART2
r290 elif [ "$RPI_MODEL" = 3 ] || [ "$RPI_MODEL" = 0 ] ; then
drtyhlpr
Updated: Dropping privileges, chroot compiler install, dropbear sshd config
r142 chown root:root "${WLAN_FIRMWARE_DIR}/brcmfmac43430-sdio."*
chmod 600 "${WLAN_FIRMWARE_DIR}/brcmfmac43430-sdio."*
Unknown
RPI3B+...
r250 fi
drtyhlpr
Added Raspberry Pi 3 model support
r94 fi