mirror of
https://git.yoctoproject.org/poky
synced 2026-04-26 18:32:13 +02:00
connman: Wired inteface provisioned via qemu
- connman-conf package re-implemented - connman 1.12 introduces provisioning for wired interfaces also; - wired interface settings are read from kernel cmdline if present; - after that are passed to connman as a config file - for BA, this is not needed, as BA will have a network infrastructure to work with. Fixes [YOCTO #3227]; Fixes [YOCTO #3804]; Fixes [YOCTO #3843]. (From OE-Core rev: 5711e0cf88fac0de8a5317b16a287b335c827c8f) Signed-off-by: Cristian Iorga <cristian.iorga@intel.com> Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
3ab5908c4e
commit
6159ad1063
@@ -1,18 +1,21 @@
|
||||
#connman config to ignore wired interfaces on qemu machines
|
||||
#connman config to setup wired interface on qemu machines
|
||||
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
|
||||
|
||||
SRC_URI_append_qemuall = " file://main.conf"
|
||||
|
||||
PR = "r0"
|
||||
SRC_URI_append_qemuall = "file://wired.config \
|
||||
file://wired-setup \
|
||||
"
|
||||
PR = "r1"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
do_install() {
|
||||
#Blacklist ethn network interface in case of qemu* machines
|
||||
if test -e ${WORKDIR}/main.conf; then
|
||||
#Configure Wired network interface in case of qemu* machines
|
||||
if test -e ${WORKDIR}/wired.config && test -e ${WORKDIR}/wired-setup; then
|
||||
install -d ${D}${localstatedir}/lib/connman
|
||||
install -m 0644 ${WORKDIR}/wired.config ${D}${localstatedir}/lib/connman
|
||||
install -d ${D}${sysconfdir}/connman
|
||||
install -m 0644 ${WORKDIR}/main.conf ${D}${sysconfdir}/connman
|
||||
install -m 0755 ${WORKDIR}/wired-setup ${D}${sysconfdir}/connman
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
[General]
|
||||
|
||||
NetworkInterfaceBlacklist = eth
|
||||
@@ -0,0 +1,16 @@
|
||||
#!/bin/sh
|
||||
|
||||
CONFIGF=/var/lib/connman/wired.config
|
||||
|
||||
# Extract wired network config from /proc/cmdline
|
||||
NET_CONF=`cat /proc/cmdline |sed -ne 's/^.*ip=\([^ ]*\):\([^ ]*\):\([^ ]*\):\([^ ]*\).*$/\1\/\4\/\3/p'`
|
||||
|
||||
# Check if eth0 is already set via kernel cmdline
|
||||
if [ "x$NET_CONF" = "x" ]; then
|
||||
# Wired interface is not configured via kernel cmdline
|
||||
# Remove connman config file template
|
||||
rm ${CONFIGF}
|
||||
else
|
||||
# Setup a connman config accordingly
|
||||
sed -i -e "s|^\(IPv4 =\)|\1 ${NET_CONF}|" ${CONFIGF}
|
||||
fi
|
||||
@@ -0,0 +1,8 @@
|
||||
[global]
|
||||
Name = Wired
|
||||
Description = Wired network configuration
|
||||
|
||||
[service_ethernet]
|
||||
Type = ethernet
|
||||
IPv4 =
|
||||
MAC = 52:54:00:12:34:56
|
||||
@@ -32,6 +32,9 @@ do_start() {
|
||||
ethn=`ifconfig | grep eth | sed -e "s/\(eth[0-9]\)\(.*\)/\1/"`
|
||||
EXTRA_PARAM="-I $ethn"
|
||||
fi
|
||||
if [ -f /etc/connman/wired-setup ] ; then
|
||||
. /etc/connman/wired-setup
|
||||
fi
|
||||
$DAEMON $EXTRA_PARAM
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user