meta-netboot: don't use 'ip' command to detect boot interface 53/22753/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:20:29 +0000 (14:20 +0000)
commitfa0bdff0768b087f499db748e08dad7d21cfd8d5
tree8c88b7a37989b1b821b7009dcb799242101eb68a
parent4ce8cb1beb5950754b5805ecd370509654f86fde
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