Synchronize with Debian.
authorMichael Prokop <mika@grml.org>
Wed, 24 Mar 2010 00:04:01 +0000 (01:04 +0100)
committerMichael Prokop <mika@grml.org>
Wed, 24 Mar 2010 00:05:59 +0000 (01:05 +0100)
14 files changed:
debian/changelog
docs/ChangeLog.casper
hooks/live
scripts/init-premount/select_eth_device [deleted file]
scripts/live
scripts/live-bottom/01integrity_check [deleted file]
scripts/live-bottom/12fstab
scripts/live-bottom/21xvidemode
scripts/live-bottom/23networking
scripts/live-bottom/34disable_kaboom [new file with mode: 0755]
scripts/live-bottom/34disable_kpersonalizer
scripts/live-bottom/38jockey_disable_check [deleted file]
scripts/live-helpers
scripts/live-premount/select_eth_device [new file with mode: 0755]

index a9709f3..bf5c26c 100644 (file)
@@ -1,10 +1,12 @@
-live-initramfs (1.173.3-1grml.02) unstable; urgency=low
+live-initramfs (1.177.1-1grml.00) unstable; urgency=low
 
   * New patch to prefer removable devices over non-removable devices,
     so scan them first.
   * Support cciss host adapter in bootoption isofrom. [Closes: issue827]
+  * Synchronise with Debian's version 1.177.1-1 and its following
+    git commit bcf8114.
 
- -- Michael Prokop <mika@grml.org>  Thu, 11 Mar 2010 11:39:38 +0100
+ -- Michael Prokop <mika@grml.org>  Wed, 24 Mar 2010 01:05:31 +0100
 
 live-initramfs (1.173.3-1grml.01) unstable; urgency=low
 
index 8fd98ea..5457e52 100644 (file)
@@ -1,3 +1,51 @@
+casper (1.177) karmic; urgency=low
+
+  * Port from Debian (thanks, Daniel Baumann):
+    - Added live-media-path as suggested by Jordi Pujol.
+    - Tail casper.log and show its messages during boot (thanks, Michal
+      Suchanek; LP: #363886).
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Thu, 04 Jun 2009 03:10:59 +0100
+
+casper (1.176) karmic; urgency=low
+
+  [ Colin Watson ]
+  * Fix symlinking of anacron to /bin/true.
+
+  [ Martin Pitt ]
+  * Drop scripts/casper-bottom/38jockey_disable_check: Some drivers, like wl
+    or printer drivers, do need to be advertised in a live system. Jockey has
+    been fixed to not advertise video drivers automatically if the packages
+    aren't available (such as in the live system), and even if we should ever
+    put them back, it is easier to disable the notifications in jockey's
+    handlers instead of here. (LP: #381687)
+
+ -- Martin Pitt <martin.pitt@ubuntu.com>  Tue, 02 Jun 2009 15:40:05 +0200
+
+casper (1.175) karmic; urgency=low
+
+  * Suppress error message if
+    /root/usr/share/applications/firefox-fav.desktop doesn't exist.
+  * Add unionfs-fuse support.
+  * Automatically fall back to unionfs-fuse if the default union filesystem
+    is not available but unionfs-fuse is.
+
+ -- Colin Watson <cjwatson@ubuntu.com>  Sun, 24 May 2009 12:28:00 +0100
+
+casper (1.174) karmic; urgency=low
+
+  * debian/control: Increase dependency on initramfs-tools to get the version
+    that uses blkid, depend on util-linux as well
+  * hooks/casper: No need to copy vol_id into the initramfs image.·
+  * scripts/casper-bottom/13swap: Use blkid -o udev -p instead of vol_id,
+    there's probably a much cleaner way to check for RAID like this, but
+    this is the direct equivalent.
+  * scripts/casper-helpers (get_fstype): use a blkid call to get the type·
+  * scripts/casper-helpers (find_cow_device): use a blkid call to get the
+    label
+
+ -- Scott James Remnant <scott@ubuntu.com>  Tue, 12 May 2009 13:29:41 +0100
+
 casper (1.173) jaunty; urgency=low
 
   * Don't use head -n1 in where_is_mounted, we don't have head in the
index 6862407..5973d20 100755 (executable)
@@ -116,6 +116,12 @@ manual_add_modules unlzma
 manual_add_modules aufs
 manual_add_modules unionfs
 
+# Filesystem: unionfs-fuse
+if [ -x /usr/bin/unionfs-fuse ]
+then
+       copy_exec /usr/bin/unionfs-fuse /bin
+fi
+
 # Filesystem: vfat
 manual_add_modules nls_cp437
 manual_add_modules nls_iso8859-1
diff --git a/scripts/init-premount/select_eth_device b/scripts/init-premount/select_eth_device
deleted file mode 100755 (executable)
index 6ab8bfe..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/bin/sh
-
-# Original script by Andreas Teuchert <ant+dl@hsg-kl.de>
-# Modified by Frédéric Boiteux <fboiteux@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" = "" ]; 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=$(cd /sys/class/net/ && ls -d eth* 2>/dev/null)
-
-if [ $(echo $l_interfaces | wc -w) -lt 2 ]; then
-    # only one interface : no choice
-    echo "DEVICE=$l_interfaces" >> /conf/param.conf
-    exit 0
-fi
-
-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 " found $interface."
-                                # inform initrd's init script :
-                                echo "DEVICE=$interface" >> /conf/param.conf
-                                exit 0
-                       fi
-               done
-                # wait a bit
-                sleep 1
-        done
-done
index d162f75..d05080d 100755 (executable)
@@ -762,16 +762,8 @@ do_netmount ()
 
        modprobe -q af_packet # For DHCP
 
-       if [ -x /sbin/udevadm ]
-       then
-               # lenny
-               udevadm trigger
-               udevadm settle
-       else
-               # etch
-               udevtrigger
-               udevsettle
-       fi
+       udevadm trigger
+       udevadm settle
 
        ipconfig ${DEVICE} | tee /netboot.config
 
@@ -996,7 +988,7 @@ find_snap ()
        if [ "${PERSISTENT}" != "nofiles" ]
        then
                # search for image files
-               snapdata=$(find_files "${snap_label}.squashfs ${snap_label}.cpio.gz ${snap_label}.ext2 ${snap_label}.ext3 ${snap_label}.ext4 ${snap_label}.jffs2")
+               snapdata=$(find_files "${PERSISTENT_PATH}${snap_label}.squashfs ${PERSISTENT_PATH}${snap_label}.cpio.gz ${PERSISTENT_PATH}${snap_label}.ext2 ${PERSISTENT_PATH}${snap_label}.ext3 ${PERSISTENT_PATH}${snap_label}.ext4 ${PERSISTENT_PATH}${snap_label}.jffs2")
        fi
 
        if [ -z "${snapdata}" ]
@@ -1094,7 +1086,25 @@ setup_unionfs ()
        image_directory="${1}"
        rootmnt="${2}"
         addimage_directory="${3}"
-       modprobe -q -b ${UNIONTYPE}
+
+       case ${UNIONTYPE} in
+               aufs|unionfs)
+                       modprobe -q -b ${UNIONTYPE}
+
+                       if ! cut -f2 /proc/filesystems | grep -q "^${UNIONTYPE}\$" && [ -x /bin/unionfs-fuse ]
+                       then
+                               echo "${UNIONTYPE} not available, falling back to unionfs-fuse."
+                               echo "This might be really slow."
+
+                               UNIONTYPE="unionfs-fuse"
+                       fi
+                       ;;
+       esac
+
+       if [ "${UNIONTYPE}" = unionfs-fuse ]
+       then
+               modprobe fuse
+       fi
 
        # run-init can't deal with images in a subdir, but we're going to
        # move all of these away before it runs anyway.  No, we're not,
@@ -1109,7 +1119,11 @@ setup_unionfs ()
 
        if [ "${UNIONTYPE}" = "aufs" ]
        then
-               roopt="rr,noxino"
+               roopt="rr"
+               noxino_opt="noxino,"
+       elif [ "${UNIONTYPE}" = "unionfs-fuse" ]
+       then
+               roopt="RO"
        else
                roopt="ro"
        fi
@@ -1232,16 +1246,8 @@ setup_unionfs ()
                                modprobe -q -b ${module}
                        done
 
-                       if [ -x /sbin/udevadm ]
-                       then
-                               # lenny
-                               udevadm trigger
-                               udevadm settle
-                       else
-                               # etch
-                               udevtrigger
-                               udevsettle
-                       fi
+                       udevadm trigger
+                       udevadm settle
 
                        # For some reason, udevsettle does not block in this scenario,
                        # so we sleep for a little while.
@@ -1357,16 +1363,27 @@ setup_unionfs ()
 
                for dir in ${cow_dirs}; do
                        mkdir -p /cow${dir}
-                       mount -t ${UNIONTYPE} \
-                               -o rw,noatime,dirs=/cow${dir}=rw:${exposedrootfs}${dir}=ro \
-                               ${UNIONTYPE} "${rootmnt}${dir}" || \
-                               panic "mount ${UNIONTYPE} on ${rootmnt}${dir} failed with option \
-                                       rw,noatime,dirs=/cow${dir}=rw:${exposedrootfs}${dir}=ro"
+
+                       case "${UNIONTYPE}" in
+                               unionfs-fuse)
+                                       (ulimit -n 16384; unionfs-fuse -o cow -o noinitgroups -o default_permissions -o allow_other -o use_ino -o suid /cow=RW:${exposedrootfs}${dir} "${rootmnt}${dir}" || panic "mount ${UNIONTYPE} on ${rootmnt}${dir} failed with option cow,noinitgroups,default_permissions,allow_other,use_ino,suid=/cow=RW:${exposedrootfs}${dir}")
+                                       ;;
+
+                               *)
+                                       mount -t ${UNIONTYPE} -o rw,noatime,dirs=/cow${dir}=rw:${exposedrootfs}${dir}=ro ${UNIONTYPE} "${rootmnt}${dir}" || panic "mount ${UNIONTYPE} on ${rootmnt}${dir} failed with option rw,noatime,dirs=/cow${dir}=rw:${exposedrootfs}${dir}=ro"
+                                       ;;
+                       esac
                done
        else
-               mount -t ${UNIONTYPE} -o noatime,dirs=/cow=rw:${rofsstring} \
-                       ${UNIONTYPE} "${rootmnt}" || panic "mount ${UNIONTYPE} on \
-                       ${rootmnt} failed with option noatime,dirs=/cow=rw:${rofsstring}"
+               case "${UNIONTYPE}" in
+                       unionfs-fuse)
+                               (ulimit -n 16384; unionfs-fuse -o cow -o noinitgroups -o default_permissions -o allow_other -o use_ino -o suid /cow=RW:${rofsstring} "${rootmnt}" || panic "mount ${UNIONTYPE} on ${rootmnt} failed with option cow,noinitgroups,default_permissions,allow_other,use_ino,suid=/cow:RW:${rofsstring}")
+                               ;;
+
+                       *)
+                               mount -t ${UNIONTYPE} -o noatime,${noxino_opt}dirs=/cow=rw:${rofsstring} ${UNIONTYPE} "${rootmnt}" || panic "mount ${UNIONTYPE} on ${rootmnt} failed with option noatime,${noxino_opt}dirs=/cow=rw:${rofsstring}"
+                               ;;
+               esac
        fi
 
        # Correct the permissions of /:
@@ -1409,7 +1426,15 @@ setup_unionfs ()
                                        ;;
 
                                *)
-                                       mount -o move "${d}" "${rootmnt}/live/${d##*/}"
+                                       case "${UNIONTYPE}" in
+                                               unionfs-fuse)
+                                                       mount -o bind "${d}" "${rootmnt}/live/${d##*/}"
+                                                       ;;
+
+                                               *)
+                                                       mount -o move "${d}" "${rootmnt}/live/${d##*/}"
+                                                       ;;
+                                       esac
                                        ;;
                        esac
                done
@@ -1730,12 +1755,24 @@ mountroot ()
 
        log_end_msg
 
+       # unionfs-fuse needs /dev to be bind-mounted for the duration of
+       # live-bottom; udev's init script will take care of things after that
+       if [ "${UNIONTYPE}" = unionfs-fuse ]
+       then
+               mount -n -o bind /dev "${rootmnt}/dev"
+       fi
+
        maybe_break live-bottom
        log_begin_msg "Running /scripts/live-bottom\n"
 
        run_scripts /scripts/live-bottom
        log_end_msg
 
+       if [ "${UNIONFS}" = unionfs-fuse ]
+       then
+               umount "${rootmnt}/dev"
+       fi
+
        exec 1>&6 6>&-
        exec 2>&7 7>&-
        kill ${tailpid}
diff --git a/scripts/live-bottom/01integrity_check b/scripts/live-bottom/01integrity_check
deleted file mode 100755 (executable)
index e4710f3..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-
-#set -e
-
-# initramfs-tools header
-
-PREREQ=""
-
-prereqs()
-{
-       echo "${PREREQ}"
-}
-
-case "${1}" in
-       prereqs)
-               prereqs
-               exit 0
-               ;;
-esac
-
-# live-initramfs script
-
-if grep -qs integrity-check /proc/cmdline
-then
-       cd /live/image
-       md5sum -c md5sum.txt < /dev/tty8 > /dev/tty8
-       reboot
-       while :; do sleep 60; done
-fi
index f1dc2e3..cd78edf 100755 (executable)
@@ -66,9 +66,14 @@ then
                        continue
                fi
 
+               # udev (>= 146) no longer provides vol_id
                if [ -x /lib/udev/vol_id ]
                then
+                       # lenny
                        /lib/udev/vol_id ${device%%[0-9]*} 2>/dev/null | grep -q "^ID_FS_USAGE=raid" && continue
+               else
+                       # squeeze
+                       /sbin/blkid -o udev -p ${device%%[0-9]*} | grep -q "^ID_FS_USAGE=raid" && continue
                fi
 
                magic=$(/bin/dd if="${device}" bs=4086 skip=1 count=1 2>/dev/null | /bin/dd bs=10 count=1 2>/dev/null) || continue
index 1312530..3fb9190 100755 (executable)
@@ -47,29 +47,9 @@ then
        exit 0
 fi
 
-if [ $(cat /root/etc/debian_version | sed 's|\..*$||') -ge 4 ]
+if [ -x "$(which xrandr 2>/dev/null)" ]
 then
-       # lenny or newer
-       if [ -x "$(which xrandr 2>/dev/null)" ]
-       then
-               echo "xrandr -s ${XVIDEOMODE} || /bin/true" >> /root/etc/X11/Xsession.d/21xvidemode
-       fi
-else
-       # etch
-       mount -o bind /sys /root/sys
-       mount -o bind /proc /root/proc
-       mount -o bind /dev /root/dev
-
-chroot /root debconf-communicate -fnoninteractive live-initramfs > /dev/null << EOF
-set xserver-xorg/config/monitor/mode-list ${XVIDEOMODE}
-set xserver-xorg/config/display/modes ${XVIDEOMODE}
-EOF
-
-       chroot /root dexconf
-
-       umount /root/sys
-       umount /root/proc
-       umount /root/dev
+       echo "xrandr -s ${XVIDEOMODE} || /bin/true" >> /root/etc/X11/Xsession.d/21xvidemode
 fi
 
 log_end_msg
index 72aaf12..4ebb944 100755 (executable)
@@ -46,16 +46,8 @@ iface lo inet loopback
 
 EOF
 
-if [ -x /sbin/udevadm ]
-then
-       # lenny
-       udevadm trigger
-       udevadm settle
-else
-       # etch
-       udevtrigger
-       udevsettle
-fi
+udevadm trigger
+udevadm settle
 
 if [ -z "${NETBOOT}" -a -n "${STATICIP}" -a "${STATICIP}" != "frommedia" ]
 then
diff --git a/scripts/live-bottom/34disable_kaboom b/scripts/live-bottom/34disable_kaboom
new file mode 100755 (executable)
index 0000000..2bb474c
--- /dev/null
@@ -0,0 +1,35 @@
+#!/bin/sh
+
+#set -e
+
+# initramfs-tools header
+
+PREREQ=""
+
+prereqs()
+{
+       echo "${PREREQ}"
+}
+
+case "${1}" in
+       prereqs)
+               prereqs
+               exit 0
+               ;;
+esac
+
+# live-initramfs header
+
+. /scripts/live-functions
+
+log_begin_msg "Disabling kaboom"
+
+# live-initramfs script
+
+if [ -e /root/etc/kde4 ]
+then
+       mkdir -p /root/home/${USERNAME}/.local
+       touch /root/home/${USERNAME}/.local/kaboom
+fi
+
+log_end_msg
index d61c879..8f6709b 100755 (executable)
@@ -31,20 +31,23 @@ log_begin_msg "Disabling kpersonalizer"
 
 # live-initramfs script
 
-if chroot /root /usr/bin/which kpersonalizer >/dev/null
+if [ -e /root/etc/kde3 ]
 then
-       # Disable first-login wizard for KDE
-       if [ ! -f /root/etc/kde3/kpersonalizerrc ]
+       if chroot /root /usr/bin/which kpersonalizer >/dev/null
        then
+               # Disable first-login wizard for KDE
+               if [ ! -f /root/etc/kde3/kpersonalizerrc ]
+               then
 
 cat > /root/etc/kde3/kpersonalizerrc << EOF
 [General]
 FirstLogin=false
 EOF
 
-       else
-               echo "I'm not smart enough to disable kpersonalizer startup" >&2
-               echo "Because kpersonalizerrc already exists" >&2
+               else
+                       echo "I'm not smart enough to disable kpersonalizer startup" >&2
+                       echo "Because kpersonalizerrc already exists" >&2
+               fi
        fi
 fi
 
diff --git a/scripts/live-bottom/38jockey_disable_check b/scripts/live-bottom/38jockey_disable_check
deleted file mode 100755 (executable)
index 1a642e1..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-
-PREREQ=""
-
-prereqs()
-{
-       echo "$PREREQ"
-}
-
-case $1 in
-# get pre-requisites
-prereqs)
-       prereqs
-       exit 0
-       ;;
-esac
-
-if [ -n "${NOJOCKEY}" ]
-then
-       exit 0
-fi
-
-. /scripts/live-functions
-
-log_begin_msg "Disabling jockey driver check"
-
-rm -f /root/etc/xdg/autostart/jockey*.desktop
-
-log_end_msg
index 6edd51c..6777f99 100644 (file)
@@ -76,16 +76,14 @@ is_supported_fs ()
 
 get_fstype ()
 {
-       # udev >=146-1 no longer provides vol_id:
+       # udev (>= 146) no longer provides vol_id
        if [ -x /lib/udev/vol_id ]
        then
+               # lenny
                /lib/udev/vol_id -t ${1} 2>/dev/null
        else
-               eval $(blkid -o udev "${1}")
-               if [ -n "$ID_FS_TYPE" ]
-               then
-                       echo "${ID_FS_TYPE}"
-               fi
+               # squeeze
+               /sbin/blkid -s TYPE -o value $1 2>/dev/null
        fi
 }
 
@@ -191,14 +189,7 @@ setup_loop ()
 
        modprobe -q -b "${module}"
 
-       if [ -x /sbin/udevadm ]
-       then
-               # lenny
-               udevadm settle
-       else
-               # etch
-               udevsettle
-       fi
+       udevadm settle
 
        for loopdev in ${pattern}
        do
@@ -350,17 +341,18 @@ find_cow_device ()
                                done
                        fi
 
-                       # udev >=146-1 no longer provides vol_id:
+                       # udev (>= 146) no longer provides vol_id
                        if [ -x /lib/udev/vol_id ]
                        then
+                               # lenny
                                if [ "$(/lib/udev/vol_id -l ${devname} 2>/dev/null)" = "${pers_label}" ]
                                then
                                        echo "${devname}"
                                        return 0
                                fi
                        else
-                               eval $(blkid -o udev "${devname}")
-                               if [ "$ID_FS_LABEL" = "${pers_label}" ]
+                               # squeeze
+                               if [ "$(/sbin/blkid -s LABEL -o value $devname 2>/dev/null)" = "${pers_label}" ]
                                then
                                        echo "${devname}"
                                        return 0
diff --git a/scripts/live-premount/select_eth_device b/scripts/live-premount/select_eth_device
new file mode 100755 (executable)
index 0000000..dfeac3d
--- /dev/null
@@ -0,0 +1,97 @@
+#!/bin/sh
+
+# Original script by Andreas Teuchert <ant+dl@hsg-kl.de>
+# Modified by Frédéric Boiteux <fboiteux@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
+
+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 " found $interface."
+                               # inform initrd's init script :
+                               echo "DEVICE=$interface" >> /conf/param.conf
+                               exit 0
+                       fi
+               done
+               # wait a bit
+               sleep 1
+       done
+done