meta-digi-dey: init-ifupdown: Allow to configure interfaces file.
The interfaces file is now dynamically created for eth0, eth1 and wlan0. By default they are configured if enabled in the machine features, and have the same static configuration as before. The static IPs can be configured as follows: ETHn_STATIC_IP = "<ip address>" ETHn_STATIC_NETMASK = "<netmask>" ETHn_STATIC_GATEWAY = "<gateway>" WLAN0_STATIC_IP = "<ip address>" WLAN0_STATIC_NETMASK = "<netmask>" To configure dynamic IPs you can use the following configuration in your local.conf: ETHn_DHCP = "dhcp" WLAN0_DHCP = "dhcp" https://jira.digi.com/browse/DEL-1178 Signed-off-by: Alex Gonzalez <alex.gonzalez@digi.com>
This commit is contained in:
parent
c89c0f8443
commit
8e7e7124d9
|
|
@ -30,6 +30,22 @@ HAVE_GUI = "${@base_contains('DISTRO_FEATURES', 'x11', '1', '', d)}"
|
||||||
HAVE_EXAMPLE = "${@base_contains('IMAGE_FEATURES', 'dey-examples', '1', '', d)}"
|
HAVE_EXAMPLE = "${@base_contains('IMAGE_FEATURES', 'dey-examples', '1', '', d)}"
|
||||||
IS_KERNEL_2X = "${@base_version_less_or_equal('PREFERRED_VERSION_linux-dey', '2.6.35.14', '1', '', d)}"
|
IS_KERNEL_2X = "${@base_version_less_or_equal('PREFERRED_VERSION_linux-dey', '2.6.35.14', '1', '', d)}"
|
||||||
|
|
||||||
|
#
|
||||||
|
# Ethernet configuration used in recipes
|
||||||
|
#
|
||||||
|
# ETHx_MODE, WLANx_MODE accepted values: 'dhcp' or 'static'
|
||||||
|
#
|
||||||
|
ETH0_MODE ?= "static"
|
||||||
|
ETH0_STATIC_IP ?= "192.168.42.30"
|
||||||
|
ETH0_STATIC_NETMASK ?= "255.255.255.0"
|
||||||
|
ETH0_STATIC_GATEWAY ?= "192.168.42.1"
|
||||||
|
ETH1_MODE ?= "static"
|
||||||
|
ETH1_STATIC_IP ?= "192.168.44.30"
|
||||||
|
ETH1_STATIC_NETMASK ?= "255.255.255.0"
|
||||||
|
WLAN0_MODE ?= "static"
|
||||||
|
WLAN0_STATIC_IP ?= "192.168.43.30"
|
||||||
|
WLAN0_STATIC_NETMASK ?= "255.255.255.0"
|
||||||
|
|
||||||
# Digi BSP default settings
|
# Digi BSP default settings
|
||||||
IMAGE_CLASSES = "image_types_digi"
|
IMAGE_CLASSES = "image_types_digi"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,36 +1,2 @@
|
||||||
## The loopback interface
|
|
||||||
auto lo
|
auto lo
|
||||||
iface lo inet loopback
|
iface lo inet loopback
|
||||||
|
|
||||||
auto eth0
|
|
||||||
## eth0 static config
|
|
||||||
iface eth0 inet static
|
|
||||||
address 192.168.42.30
|
|
||||||
netmask 255.255.255.0
|
|
||||||
gateway 192.168.42.1
|
|
||||||
|
|
||||||
## eth0 dhcp config
|
|
||||||
#iface eth0 inet dhcp
|
|
||||||
# udhcpc_opts -b
|
|
||||||
|
|
||||||
#auto eth1
|
|
||||||
## eth1 static config
|
|
||||||
iface eth1 inet static
|
|
||||||
address 192.168.44.30
|
|
||||||
netmask 255.255.255.0
|
|
||||||
|
|
||||||
## eth1 dhcp config
|
|
||||||
#iface eth1 inet dhcp
|
|
||||||
# udhcpc_opts -b
|
|
||||||
|
|
||||||
#auto wlan0
|
|
||||||
## wlan0 static config
|
|
||||||
iface wlan0 inet static
|
|
||||||
address 192.168.43.30
|
|
||||||
netmask 255.255.255.0
|
|
||||||
wpa-driver ##WPA_DRIVER##
|
|
||||||
wpa-conf /etc/wpa_supplicant.conf
|
|
||||||
|
|
||||||
## wlan0 dhcp config
|
|
||||||
#iface wlan0 inet dhcp
|
|
||||||
# udhcpc_opts -b
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
|
||||||
|
auto eth0
|
||||||
|
iface eth0 inet dhcp
|
||||||
|
udhcpc_opts -b
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
|
||||||
|
auto eth0
|
||||||
|
iface eth0 inet static
|
||||||
|
address ##ETH0_STATIC_IP##
|
||||||
|
netmask ##ETH0_STATIC_NETMASK##
|
||||||
|
gateway ##ETH0_STATIC_GATEWAY##
|
||||||
|
|
@ -0,0 +1,4 @@
|
||||||
|
|
||||||
|
auto eth1
|
||||||
|
iface eth1 inet dhcp
|
||||||
|
udhcpc_opts -b
|
||||||
|
|
@ -0,0 +1,5 @@
|
||||||
|
|
||||||
|
auto eth1
|
||||||
|
iface eth1 inet static
|
||||||
|
address ##ETH1_STATIC_IP##
|
||||||
|
netmask ##ETH1_STATIC_NETMASK##
|
||||||
|
|
@ -0,0 +1,6 @@
|
||||||
|
|
||||||
|
auto wlan0
|
||||||
|
iface wlan0 inet dhcp
|
||||||
|
udhcpc_opts -b
|
||||||
|
wpa-driver ##WPA_DRIVER##
|
||||||
|
wpa-conf /etc/wpa_supplicant.conf
|
||||||
|
|
@ -0,0 +1,7 @@
|
||||||
|
|
||||||
|
auto wlan0
|
||||||
|
iface wlan0 inet static
|
||||||
|
address ##WLAN0_STATIC_IP##
|
||||||
|
netmask ##WLAN0_STATIC_NETMASK##
|
||||||
|
wpa-driver ##WPA_DRIVER##
|
||||||
|
wpa-conf /etc/wpa_supplicant.conf
|
||||||
|
|
@ -2,24 +2,34 @@
|
||||||
|
|
||||||
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:"
|
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:"
|
||||||
|
|
||||||
|
SRC_URI_append = " \
|
||||||
|
file://interfaces.eth0.static \
|
||||||
|
file://interfaces.eth0.dhcp \
|
||||||
|
file://interfaces.eth1.static \
|
||||||
|
file://interfaces.eth1.dhcp \
|
||||||
|
file://interfaces.wlan0.static \
|
||||||
|
file://interfaces.wlan0.dhcp"
|
||||||
|
|
||||||
SRC_URI_append_mx5 = " file://ifup"
|
SRC_URI_append_mx5 = " file://ifup"
|
||||||
|
|
||||||
WPA_DRIVER ?= "wext"
|
WPA_DRIVER ?= "wext"
|
||||||
|
|
||||||
do_install_append() {
|
do_install_append() {
|
||||||
# Enable or disable second ethernet interface
|
# Create 'interfaces' file dynamically
|
||||||
if [ -n "${HAVE_EXT_ETH}" ]; then
|
cat ${WORKDIR}/interfaces.eth0.${ETH0_MODE} >> ${D}${sysconfdir}/network/interfaces
|
||||||
sed -i -e '/^.*auto eth1.*/cauto eth1' ${D}${sysconfdir}/network/interfaces
|
[ -n "${HAVE_EXT_ETH}" ] && cat ${WORKDIR}/interfaces.eth1.${ETH1_MODE} >> ${D}${sysconfdir}/network/interfaces
|
||||||
else
|
[ -n "${HAVE_WIFI}" ] && cat ${WORKDIR}/interfaces.wlan0.${WLAN0_MODE} >> ${D}${sysconfdir}/network/interfaces
|
||||||
sed -i -e '/^.*auto eth1.*/c#auto eth1' ${D}${sysconfdir}/network/interfaces
|
|
||||||
fi
|
# Replace interface parameters
|
||||||
# Enable or disable wifi interface
|
sed -i -e 's,##ETH0_STATIC_IP##,${ETH0_STATIC_IP},g' ${D}${sysconfdir}/network/interfaces
|
||||||
if [ -n "${HAVE_WIFI}" ]; then
|
sed -i -e 's,##ETH0_STATIC_NETMASK##,${ETH0_STATIC_NETMASK},g' ${D}${sysconfdir}/network/interfaces
|
||||||
sed -i -e '/^.*auto wlan0.*/cauto wlan0' ${D}${sysconfdir}/network/interfaces
|
sed -i -e 's,##ETH0_STATIC_GATEWAY##,${ETH0_STATIC_GATEWAY},g' ${D}${sysconfdir}/network/interfaces
|
||||||
else
|
sed -i -e 's,##ETH1_STATIC_IP##,${ETH1_STATIC_IP},g' ${D}${sysconfdir}/network/interfaces
|
||||||
sed -i -e '/^.*auto wlan0.*/c#auto wlan0' ${D}${sysconfdir}/network/interfaces
|
sed -i -e 's,##ETH1_STATIC_NETMASK##,${ETH1_STATIC_NETMASK},g' ${D}${sysconfdir}/network/interfaces
|
||||||
fi
|
sed -i -e 's,##ETH1_STATIC_GATEWAY##,${ETH1_STATIC_GATEWAY},g' ${D}${sysconfdir}/network/interfaces
|
||||||
# Configure wpa_supplicant driver
|
sed -i -e 's,##WLAN0_STATIC_IP##,${WLAN0_STATIC_IP},g' ${D}${sysconfdir}/network/interfaces
|
||||||
|
sed -i -e 's,##WLAN0_STATIC_NETMASK##,${WLAN0_STATIC_NETMASK},g' ${D}${sysconfdir}/network/interfaces
|
||||||
|
sed -i -e 's,##WLAN0_STATIC_GATEWAY##,${WLAN0_STATIC_GATEWAY},g' ${D}${sysconfdir}/network/interfaces
|
||||||
sed -i -e "s,##WPA_DRIVER##,${WPA_DRIVER},g" ${D}${sysconfdir}/network/interfaces
|
sed -i -e "s,##WPA_DRIVER##,${WPA_DRIVER},g" ${D}${sysconfdir}/network/interfaces
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue