diff --git a/meta-digi-arm/conf/machine/include/digi-defaults.inc b/meta-digi-arm/conf/machine/include/digi-defaults.inc index 61011fb71..6003314b8 100644 --- a/meta-digi-arm/conf/machine/include/digi-defaults.inc +++ b/meta-digi-arm/conf/machine/include/digi-defaults.inc @@ -30,6 +30,22 @@ HAVE_GUI = "${@base_contains('DISTRO_FEATURES', 'x11', '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)}" +# +# 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 IMAGE_CLASSES = "image_types_digi" diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces index 98eef833c..f1bd92ed2 100644 --- a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces +++ b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces @@ -1,36 +1,2 @@ -## The loopback interface auto lo 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 diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces.eth0.dhcp b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces.eth0.dhcp new file mode 100644 index 000000000..d0b64c453 --- /dev/null +++ b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces.eth0.dhcp @@ -0,0 +1,4 @@ + +auto eth0 +iface eth0 inet dhcp + udhcpc_opts -b diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces.eth0.static b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces.eth0.static new file mode 100644 index 000000000..187528d4d --- /dev/null +++ b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces.eth0.static @@ -0,0 +1,6 @@ + +auto eth0 +iface eth0 inet static + address ##ETH0_STATIC_IP## + netmask ##ETH0_STATIC_NETMASK## + gateway ##ETH0_STATIC_GATEWAY## diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces.eth1.dhcp b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces.eth1.dhcp new file mode 100644 index 000000000..c1851f3b9 --- /dev/null +++ b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces.eth1.dhcp @@ -0,0 +1,4 @@ + +auto eth1 +iface eth1 inet dhcp + udhcpc_opts -b diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces.eth1.static b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces.eth1.static new file mode 100644 index 000000000..6de0f64d5 --- /dev/null +++ b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces.eth1.static @@ -0,0 +1,5 @@ + +auto eth1 +iface eth1 inet static + address ##ETH1_STATIC_IP## + netmask ##ETH1_STATIC_NETMASK## diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces.wlan0.dhcp b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces.wlan0.dhcp new file mode 100644 index 000000000..09dbf5468 --- /dev/null +++ b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces.wlan0.dhcp @@ -0,0 +1,6 @@ + +auto wlan0 +iface wlan0 inet dhcp + udhcpc_opts -b + wpa-driver ##WPA_DRIVER## + wpa-conf /etc/wpa_supplicant.conf diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces.wlan0.static b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces.wlan0.static new file mode 100644 index 000000000..ffbf88867 --- /dev/null +++ b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown-1.0/interfaces.wlan0.static @@ -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 diff --git a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend index 80e0d339a..c653fe30a 100644 --- a/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend +++ b/meta-digi-dey/recipes-core/init-ifupdown/init-ifupdown_1.0.bbappend @@ -2,24 +2,34 @@ 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" WPA_DRIVER ?= "wext" do_install_append() { - # Enable or disable second ethernet interface - if [ -n "${HAVE_EXT_ETH}" ]; then - sed -i -e '/^.*auto eth1.*/cauto eth1' ${D}${sysconfdir}/network/interfaces - else - sed -i -e '/^.*auto eth1.*/c#auto eth1' ${D}${sysconfdir}/network/interfaces - fi - # Enable or disable wifi interface - if [ -n "${HAVE_WIFI}" ]; then - sed -i -e '/^.*auto wlan0.*/cauto wlan0' ${D}${sysconfdir}/network/interfaces - else - sed -i -e '/^.*auto wlan0.*/c#auto wlan0' ${D}${sysconfdir}/network/interfaces - fi - # Configure wpa_supplicant driver + # Create 'interfaces' file dynamically + cat ${WORKDIR}/interfaces.eth0.${ETH0_MODE} >> ${D}${sysconfdir}/network/interfaces + [ -n "${HAVE_EXT_ETH}" ] && cat ${WORKDIR}/interfaces.eth1.${ETH1_MODE} >> ${D}${sysconfdir}/network/interfaces + [ -n "${HAVE_WIFI}" ] && cat ${WORKDIR}/interfaces.wlan0.${WLAN0_MODE} >> ${D}${sysconfdir}/network/interfaces + + # Replace interface parameters + sed -i -e 's,##ETH0_STATIC_IP##,${ETH0_STATIC_IP},g' ${D}${sysconfdir}/network/interfaces + sed -i -e 's,##ETH0_STATIC_NETMASK##,${ETH0_STATIC_NETMASK},g' ${D}${sysconfdir}/network/interfaces + sed -i -e 's,##ETH0_STATIC_GATEWAY##,${ETH0_STATIC_GATEWAY},g' ${D}${sysconfdir}/network/interfaces + sed -i -e 's,##ETH1_STATIC_IP##,${ETH1_STATIC_IP},g' ${D}${sysconfdir}/network/interfaces + sed -i -e 's,##ETH1_STATIC_NETMASK##,${ETH1_STATIC_NETMASK},g' ${D}${sysconfdir}/network/interfaces + sed -i -e 's,##ETH1_STATIC_GATEWAY##,${ETH1_STATIC_GATEWAY},g' ${D}${sysconfdir}/network/interfaces + 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 }