diff options
Diffstat (limited to 'rpi2-gen-image.sh')
-rwxr-xr-x | rpi2-gen-image.sh | 37 |
1 files changed, 35 insertions, 2 deletions
diff --git a/rpi2-gen-image.sh b/rpi2-gen-image.sh index a0f7313..6759f76 100755 --- a/rpi2-gen-image.sh +++ b/rpi2-gen-image.sh @@ -50,6 +50,18 @@ XKBLAYOUT=${XKBLAYOUT:=""} XKBVARIANT=${XKBVARIANT:=""} XKBOPTIONS=${XKBOPTIONS:=""} +# Network settings +ENABLE_DHCP=${ENABLE_DHCP:=true} +# NET_* settings are ignored when ENABLE_DHCP=true +# NET_ADDRESS is an IPv4 or IPv6 address and its prefix, separated by "/" +NET_ADDRESS=${NET_ADDRESS:=""} +NET_GATEWAY=${NET_GATEWAY:=""} +NET_DNS_1=${NET_DNS_1:=""} +NET_DNS_2=${NET_DNS_2:=""} +NET_DNS_DOMAINS=${NET_DNS_DOMAINS:=""} +NET_NTP_1=${NET_NTP_1:=""} +NET_NTP_2=${NET_NTP_2:=""} + # APT settings APT_PROXY=${APT_PROXY:=""} APT_SERVER=${APT_SERVER:="ftp.debian.org"} @@ -204,7 +216,7 @@ mount --bind /dev/pts $R/dev/pts # Use proxy inside chroot if [ -z "$APT_PROXY" ] ; then - echo "Acquire::http::Proxy \"$APT_PROXY\"" >> $R/etc/apt/apt.conf.d/10proxy + echo "Acquire::http::Proxy \"$APT_PROXY\";" >> $R/etc/apt/apt.conf.d/10proxy fi # Pin package flash-kernel to repositories.collabora.co.uk @@ -309,6 +321,10 @@ cat <<EOM >$R/etc/hosts 127.0.0.1 localhost 127.0.1.1 ${HOSTNAME} EOM +if [ "$NET_ADDRESS" != "" ] ; then +NET_IP=$(echo ${NET_ADDRESS} | cut -f 1 -d'/') +sed -i "s/^127.0.1.1/${NET_IP}/" $R/etc/hosts +fi # Set up IPv6 hosts if [ "$ENABLE_IPV6" = true ] ; then @@ -326,6 +342,7 @@ cat <<EOM >$R/etc/network/interfaces # please configure your networks in '/etc/systemd/network/' EOM +if [ "$ENABLE_DHCP" = true ] ; then # Enable systemd-networkd DHCP configuration for interface eth0 cat <<EOM >$R/etc/systemd/network/eth.network [Match] @@ -337,7 +354,23 @@ EOM # Set DHCP configuration to IPv4 only if [ "$ENABLE_IPV6" = false ] ; then - sed -i "s/=yes/=v4/" $R/etc/systemd/network/eth.network + sed -i "s/^DHCP=yes/DHCP=v4/" $R/etc/systemd/network/eth.network +fi +else # ENABLE_DHCP=false +cat <<EOM >$R/etc/systemd/network/eth.network +[Match] +Name=eth0 + +[Network] +DHCP=no +Address=${NET_ADDRESS} +Gateway=${NET_GATEWAY} +DNS=${NET_DNS_1} +DNS=${NET_DNS_2} +Domains=${NET_DNS_DOMAINS} +NTP=${NET_NTP_1} +NTP=${NET_NTP_2} +EOM fi # Enable systemd-networkd service |