[SCM] live-boot branch, debian-next, updated. debian/3.0_a29-1-2-g2c55445
Daniel Baumann
daniel at debian.org
Tue Jun 5 14:34:25 UTC 2012
The following commit has been merged in the debian-next branch:
commit 2c55445da34354eb4afaa7e087efb33b5e97d9d7
Author: Daniel Baumann <daniel at debian.org>
Date: Tue Jun 5 16:34:14 2012 +0200
Converting select_eth_device initramfs-tools pre-mount script into regular live-boot script.
diff --git a/initramfs-tools/scripts/live-premount/select_eth_device b/initramfs-tools/scripts/live-premount/select_eth_device
deleted file mode 100755
index fe86313..0000000
--- a/initramfs-tools/scripts/live-premount/select_eth_device
+++ /dev/null
@@ -1,102 +0,0 @@
-#!/bin/sh
-
-# Original script by Andreas Teuchert <ant+dl at hsg-kl.de>
-# Modified by Frédéric Boiteux <fboiteux at calistel.com>
-
-PREREQ="blacklist udev"
-
-prereqs()
-{
- echo "$PREREQ"
-}
-
-case $1 in
-# get pre-requisites
-prereqs)
- prereqs
- exit 0
- ;;
-esac
-
-# Boot type in initramfs's config
-bootconf=$(egrep '^BOOT=' /conf/initramfs.conf | tail -1)
-
-# can be superseded by command line (used by Debian-Live's netboot for example)
-for ARGUMENT in $(cat /proc/cmdline); do
- case "${ARGUMENT}" in
- netboot=*)
- NETBOOT="${ARGUMENT#netboot=}"
- ;;
- esac
-done
-
-if [ "$bootconf" != "BOOT=nfs" ] &&
- [ "$NETBOOT" = "" ] &&
- [ "$FETCH" = "" ] &&
- [ "$FTPFS" = "" ] &&
- [ "$HTTPFS" = "" ]
-then
- # Not a net boot : nothing to do
- exit 0
-fi
-
-# we want to do some basic IP
-modprobe -q af_packet
-
-# Available Ethernet interfaces ?
-l_interfaces=""
-echo "Waiting for ethernet card(s) up... If this fails, maybe the ethernet card is not supported by the kernel `uname -r`?"
-while [ -z "$l_interfaces" ]; do
- l_interfaces="$(cd /sys/class/net/ && ls -d eth* 2>/dev/null)"
-done
-
-if [ $(echo $l_interfaces | wc -w) -lt 2 ]; then
- # only one interface : no choice
- echo "DEVICE=$l_interfaces" >> /conf/param.conf
- exit 0
-fi
-
-# If user force to use specific device, write it
-for ARGUMENT in $(cat /proc/cmdline); do
- case "${ARGUMENT}" in
- live-netdev=*)
- NETDEV="${ARGUMENT#live-netdev=}"
- echo "DEVICE=$NETDEV" >> /conf/param.conf
- echo "Found live-netdev parameter in /proc/cmdline. Force to use network device $NETDEV."
- exit 0
- ;;
- esac
-done
-
-found_eth_dev=""
-while true; do
- echo -n "Looking for a connected Ethernet interface ..."
-
- 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
- done
-
- echo ''
-
- for step in 1 2 3 4 5; do
- for interface in $l_interfaces; do
- carrier=$(cat /sys/class/net/$interface/carrier \
- 2>/dev/null)
- # link detected
- if [ "$carrier" = 1 ]; then
- echo "Connected $interface found"
- # inform initrd's init script :
- found_eth_dev="$found_eth_dev $interface"
- fi
- done
- if [ -n "$found_eth_dev" ]; then
- echo "DEVICE='$found_eth_dev'" >> /conf/param.conf
- exit 0
- else
- # wait a bit
- sleep 1
- fi
- done
-done
diff --git a/scripts/boot.sh b/scripts/boot.sh
index eeaa4dc..3211ed0 100755
--- a/scripts/boot.sh
+++ b/scripts/boot.sh
@@ -480,10 +480,7 @@ mountroot ()
;;
esac
- maybe_break live-premount
- log_begin_msg "Running /scripts/live-premount"
- run_scripts /scripts/live-premount
- log_end_msg
+ Select_eth_device
# Needed here too because some things (*cough* udev *cough*)
# changes the timeout
diff --git a/scripts/boot/select-eth-device.sh b/scripts/boot/select-eth-device.sh
new file mode 100755
index 0000000..924b8bc
--- /dev/null
+++ b/scripts/boot/select-eth-device.sh
@@ -0,0 +1,87 @@
+#!/bin/sh
+
+Select_eth_device ()
+{
+ # Boot type in initramfs's config
+ bootconf=$(egrep '^BOOT=' /conf/initramfs.conf | tail -1)
+
+ # can be superseded by command line (used by Debian-Live's netboot for example)
+ for ARGUMENT in $(cat /proc/cmdline); do
+ case "${ARGUMENT}" in
+ netboot=*)
+ NETBOOT="${ARGUMENT#netboot=}"
+ ;;
+ esac
+ done
+
+ if [ "$bootconf" != "BOOT=nfs" ] &&
+ [ "$NETBOOT" = "" ] &&
+ [ "$FETCH" = "" ] &&
+ [ "$FTPFS" = "" ] &&
+ [ "$HTTPFS" = "" ]
+ then
+ # Not a net boot : nothing to do
+ return
+ fi
+
+ # we want to do some basic IP
+ modprobe -q af_packet
+
+ # Available Ethernet interfaces ?
+ l_interfaces=""
+ echo "Waiting for ethernet card(s) up... If this fails, maybe the ethernet card is not supported by the kernel `uname -r`?"
+ while [ -z "$l_interfaces" ]; do
+ l_interfaces="$(cd /sys/class/net/ && ls -d eth* 2>/dev/null)"
+ done
+
+ if [ $(echo $l_interfaces | wc -w) -lt 2 ]; then
+ # only one interface : no choice
+ echo "DEVICE=$l_interfaces" >> /conf/param.conf
+ return
+ fi
+
+ # If user force to use specific device, write it
+ for ARGUMENT in $(cat /proc/cmdline); do
+ case "${ARGUMENT}" in
+ live-netdev=*)
+ NETDEV="${ARGUMENT#live-netdev=}"
+ echo "DEVICE=$NETDEV" >> /conf/param.conf
+ echo "Found live-netdev parameter in /proc/cmdline. Force to use network device $NETDEV."
+ return
+ ;;
+ esac
+ done
+
+ found_eth_dev=""
+ while true; do
+ echo -n "Looking for a connected Ethernet interface ..."
+
+ 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
+ done
+
+ echo ''
+
+ for step in 1 2 3 4 5; do
+ for interface in $l_interfaces; do
+ carrier=$(cat /sys/class/net/$interface/carrier \
+ 2>/dev/null)
+ # link detected
+ if [ "$carrier" = 1 ]; then
+ echo "Connected $interface found"
+ # inform initrd's init script :
+ found_eth_dev="$found_eth_dev $interface"
+ fi
+ done
+ if [ -n "$found_eth_dev" ]; then
+ echo "DEVICE='$found_eth_dev'" >> /conf/param.conf
+ return
+ else
+ # wait a bit
+ sleep 1
+ fi
+ done
+ done
+}
--
live-boot
More information about the debian-live-changes
mailing list