From 7e7fed4fee4c2e0bafd4a9714649b185b8696921 Mon Sep 17 00:00:00 2001 From: Mick Tarsel Date: Fri, 8 Jun 2018 21:38:22 +0000 Subject: Use first network interface that is up Previous code would return eth0 every time and pay no attention if interface was up. This patch gets the state from operstate file in sysfs to use the interface that is actually up in case there are multiple interfaces present. If no interface is up, just use last interface. --- initramfs-init.in | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/initramfs-init.in b/initramfs-init.in index 413fa1d..fd3c50c 100755 --- a/initramfs-init.in +++ b/initramfs-init.in @@ -145,8 +145,11 @@ setup_inittab_console(){ # uses the first "eth" interface. ip_choose_if() { for x in /sys/class/net/eth*; do - [ -e "$x" ] && echo ${x##*/} && return + if grep -iq up $x/operstate;then + [ -e "$x" ] && echo ${x##*/} && return + fi done + [ -e "$x" ] && echo ${x##*/} && return } # ip_set -- cgit v1.2.3