Merge remote-tracking branch 'debian/debian' into ch/new_version
[live-boot-grml.git] / scripts / live
index 3888f03..23d0bbc 100755 (executable)
@@ -730,12 +730,15 @@ do_netsetup ()
                        if [ -n "${DNSDOMAIN}" ]
                        then
                                echo "domain ${DNSDOMAIN}" > /etc/resolv.conf
-                               echo "search ${DNSDOMAIN}" > /etc/resolv.conf
+                               echo "search ${DNSDOMAIN}" >> /etc/resolv.conf
                        fi
 
                        for i in ${IPV4DNS0} ${IPV4DNS1} ${IPV4DNS1}
                        do
-                               echo "nameserver $i" >> /etc/resolv.conf
+                               if [ -n "$i" ] && [ "$i" != 0.0.0.0 ]
+                               then
+                                       echo "nameserver $i" >> /etc/resolv.conf
+                               fi
                        done
                fi
 
@@ -1473,8 +1476,8 @@ setup_unionfs ()
                                unionmountopts="${unionmountopts} ${unionrw}=RW:${unionro}=RO"
                                ( sysctl -w fs.file-max=391524 ; ulimit -HSn 16384
                                unionfs-fuse ${unionmountopts} "${unionmountpoint}" ) && \
-                                       ( mkdir -p /dev/.initramfs/varrun
-                               pidof unionfs-fuse >> /dev/.initramfs/varrun/sendsigs.omit || true )
+                               ( mkdir -p /run/sendsigs.omit.d
+                               pidof unionfs-fuse >> /run/sendsigs.omit.d/unionfs-fuse || true )
                                ;;
 
                        unionmount)
@@ -1578,11 +1581,17 @@ check_dev ()
                then
                        echo "Warning: device for bootoption isofrom= ($FROMISO) not found.">>/live-boot.log
                else
-                       mkdir /isofrom
-                       mount -t auto "$ISO_DEVICE" /isofrom
-                       ISO_NAME="$(echo $FROMISO | sed "s|$ISO_DEVICE||")"
-                       loopdevname=$(setup_loop "/isofrom/${ISO_NAME}" "loop" "/sys/block/loop*" "" '')
-                       devname="${loopdevname}"
+                       fs_type=$(get_fstype "${ISO_DEVICE}")
+                       if is_supported_fs ${fs_type}
+                       then
+                               mkdir /isofrom
+                               mount -t $fs_type "$ISO_DEVICE" /isofrom
+                               ISO_NAME="$(echo $FROMISO | sed "s|$ISO_DEVICE||")"
+                               loopdevname=$(setup_loop "/isofrom/${ISO_NAME}" "loop" "/sys/block/loop*" "" '')
+                               devname="${loopdevname}"
+                       else
+                               echo "Warning: unable to mount $ISO_DEVICE." >>/live.log
+                       fi
                fi
        fi
 
@@ -1936,6 +1945,13 @@ mountroot ()
                log_end_msg
        fi
 
+       if [ -f /etc/resolv.conf ] && [ ! -s ${rootmnt}/etc/resolv.conf ]
+       then
+               log_begin_msg "Copying /etc/resolv.conf to ${rootmnt}/etc/resolv.conf"
+               cp -v /etc/resolv.conf ${rootmnt}/etc/resolv.conf
+               log_end_msg
+       fi
+
        maybe_break live-bottom
        log_begin_msg "Running /scripts/live-bottom\n"