meta-netboot: don't use 'ip' command to detect boot interface 54/22754/2
authorStephane Desneux <stephane.desneux@iot.bzh>
Wed, 23 Oct 2019 10:05:21 +0000 (10:05 +0000)
committerJan-Simon Moeller <jsmoeller@linuxfoundation.org>
Wed, 23 Oct 2019 14:13:25 +0000 (14:13 +0000)
commitea35c365c8aa06be5b79c5d6cd36a1a73ccf75e5
tree5721d73d93fe43046ffcf0e0c638aae7632039c2
parent8a052edd56f801c465781b784bf1f53b15135c86
meta-netboot: don't use 'ip' command to detect boot interface

This patch changes the method to detect the current network interface
used for netboot. Instead of using the 'ip' command, it parses the content
of /sys/class/net/* to detect the first running ethernet interface.

Two new messages are now visible on the console in initramfs phase:
--------------------------------------------------
/sbin/init[1]: find_active_interface: first active interface is eth0
/sbin/init[1]: Adjusting Connman command line. Will be: 'connmand -r -n -I eth0'
--------------------------------------------------

Background:

When booting using netboot, it's necessary to update connman command line
options to ignore the network interface used for NBD connection.
For this, the initramfs script tries to detect the interface in use by
running 'ip -o link show state'.

'ip' command comes with iproute2 package but for various reasons, some AGL
images like m3ulcb-nogfx don't have iproute2 installed. In this case, the
'ip' command is implemented by busybox, which doesn't support the '-o' option.
This leads to issues when running connman as the command line is not properly
updated.

Bug-AGL: SPEC-2921

Change-Id: I5691f04ab462a148219b741d235247a2bfbc2e24
Signed-off-by: Stephane Desneux <stephane.desneux@iot.bzh>
meta-netboot/recipes-core/initramfs-netboot/files/init.sh