Applying patch from Michael Casadevall <mcasadevall@ubuntu.com> to add platform-sata_...
[live-boot-grml.git] / scripts / live
index f5f4ad2..8be3942 100755 (executable)
@@ -462,7 +462,7 @@ is_nice_device ()
 {
        sysfs_path="${1#/sys}"
 
-       if /lib/udev/path_id "${sysfs_path}" | egrep -q "ID_PATH=(usb|pci-|platform-orion-ehci|platform-mmc|platform-mxsdhci|)"
+       if /lib/udev/path_id "${sysfs_path}" | egrep -q "ID_PATH=(usb|pci-|platform-sata_mv|platform-orion-ehci|platform-mmc|platform-mxsdhci|)"
        then
                return 0
        elif echo "${sysfs_path}" | grep -q '^/block/vd[a-z]$'
@@ -639,6 +639,22 @@ do_netsetup ()
                HWADDR="$(cat /sys/class/net/${DEVICE}/address)"
        fi
 
+       if [ ! -e "/etc/resolv.conf" ]
+       then
+               echo "Creating /etc/resolv.conf"
+
+               if [ -n "${DNSDOMAIN}" ]
+               then
+                       echo "domain ${DNSDOMAIN}" > /etc/resolv.conf
+                       echo "search ${DNSDOMAIN}" > /etc/resolv.conf
+               fi
+
+               for i in ${IPV4DNS0} ${IPV4DNS1} ${IPV4DNS1}
+               do
+                       echo "nameserver $i" >> /etc/resolv.conf
+               done
+       fi
+
        # Check if we have a network device at all
        if ! ls /sys/class/net/"$DEVICE" > /dev/null 2>&1 && \
           ! ls /sys/class/net/eth0 > /dev/null 2>&1 && \
@@ -785,7 +801,7 @@ do_httpmount ()
                                                fi
                                                modprobe fuse
                                                $FUSE_MOUNT "${url}" "${dest}"
-                                               FUSE_PID="$(minips h -C "$FUSE_MOUNT" | { read x y ; echo "$x" ; } )"
+                                               ROOT_PID="$(minips h -C "$FUSE_MOUNT" | { read x y ; echo "$x" ; } )"
                                        fi
                                        [ ${?} -eq 0 ] && rc=0
                                        [ "${extension}" = "tgz" ] && live_dest="ram"
@@ -816,9 +832,6 @@ do_httpmount ()
        elif [ "${webfile}"  != "FETCH" ] ; then
                NETBOOT="${webfile}"
                export NETBOOT
-               if [ -n "${FUSE_PID}" ] ; then
-                       echo "${FUSE_PID}" > ${mountpoint}/root.pid
-               fi
        fi
 
        return ${rc}
@@ -1779,6 +1792,11 @@ mountroot ()
                mount_images_in_directory "${livefs_root}" "${rootmnt}" "${mac}"
        fi
 
+
+       if [ -n "${ROOT_PID}" ] ; then
+               echo "${ROOT_PID}" > "${rootmnt}"/live/root.pid
+       fi
+
        log_end_msg
 
        # unionfs-fuse needs /dev to be bind-mounted for the duration of
@@ -1795,6 +1813,12 @@ mountroot ()
                mount --move /live/image /root/live/image
        fi
 
+       # aufs2 in kernel versions around 2.6.33 has a regression:
+       # directories can't be accessed when read for the first the time,
+       # causing a failure for example when accessing /var/lib/fai
+       # when booting FAI, this simple workaround solves it
+       ls /root/* >/dev/null 2>&1
+
        maybe_break live-bottom
        log_begin_msg "Running /scripts/live-bottom\n"