Version in base suite: 20230131 Base version: live-boot_20230131 Target version: live-boot_20230131+deb12u1 Base file: /srv/ftp-master.debian.org/ftp/pool/main/l/live-boot/live-boot_20230131.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/l/live-boot/live-boot_20230131+deb12u1.dsc components/9990-select-eth-device.sh | 68 ++++++++++++++++++++--------------- debian/changelog | 7 +++ 2 files changed, 46 insertions(+), 29 deletions(-) diff -Nru live-boot-20230131/components/9990-select-eth-device.sh live-boot-20230131+deb12u1/components/9990-select-eth-device.sh --- live-boot-20230131/components/9990-select-eth-device.sh 2022-05-05 10:15:30.000000000 +0000 +++ live-boot-20230131+deb12u1/components/9990-select-eth-device.sh 2024-11-28 21:14:44.000000000 +0000 @@ -93,46 +93,56 @@ fi found_eth_dev="" - while true + echo -n "Looking for a connected Ethernet interface." + + for interface in $l_interfaces do - echo -n "Looking for a connected Ethernet interface ..." + # ATTR{carrier} is not set if this is not done + echo -n " $interface ?" + ipconfig -c none -d $interface -t 1 >/dev/null 2>&1 + sleep 1 + done + + echo '' + for step in 1 2 3 4 5 + do for interface in $l_interfaces do - # ATTR{carrier} is not set if this is not done - echo -n " $interface ?" - ipconfig -c none -d $interface -t 1 >/dev/null 2>&1 - sleep 1 - done - - echo '' + # Skip the interface if it's already found. + IN_IT=no + for DEV in $found_eth_dev ; do + if [ "${DEV}" = "$interface" ] ; then + IN_IT=yes + fi + done - for step in 1 2 3 4 5 - do - for interface in $l_interfaces - do + if [ "${IN_IT}" = "no" ] ; then ip link set $interface up carrier=$(cat /sys/class/net/$interface/carrier \ 2>/dev/null) # link detected - - case "${carrier}" in - 1) - echo "Connected $interface found" - # inform initrd's init script : + if [ "${carrier}" = 1 ] ; then + echo "Connected $interface found" + # inform initrd's init script : + if [ -z "${found_eth_dev}" ] ; then + found_eth_dev="$interface" + else found_eth_dev="$found_eth_dev $interface" - found_eth_dev="$(echo $found_eth_dev | sed -e "s/^[[:space:]]*//g")" - ;; - esac - done - if [ -n "$found_eth_dev" ] - then - echo "DEVICE='$found_eth_dev'" >> /conf/param.conf - return - else - # wait a bit - sleep 1 + fi + fi fi done + # wait a bit + sleep 1 done + if [ -n "$found_eth_dev" ] + then + echo "Done searching for connected Ethernet interface." + echo "Writing DEVICE='$found_eth_dev' in /conf/param.conf." + echo "DEVICE='$found_eth_dev'" >> /conf/param.conf + else + echo "Could not find an interface that is up: giving-up..." + fi + return } diff -Nru live-boot-20230131/debian/changelog live-boot-20230131+deb12u1/debian/changelog --- live-boot-20230131/debian/changelog 2023-01-31 16:30:52.000000000 +0000 +++ live-boot-20230131+deb12u1/debian/changelog 2024-11-28 21:14:44.000000000 +0000 @@ -1,3 +1,10 @@ +live-boot (1:20230131+deb12u1) bookworm; urgency=medium + + * Add fix to get DHCP from all nics, not only the first one seen with link + up (Closes: #1069048). + + -- Thomas Goirand Thu, 28 Nov 2024 22:14:44 +0100 + live-boot (1:20230131) unstable; urgency=medium [ Thore Sommer ]