Fix toram (change mount --move to mount -o move)
[live-boot-grml.git] / scripts / live
index 8cff606..3428cca 100755 (executable)
@@ -154,6 +154,12 @@ Arguments ()
                                export LIVE_MEDIA_TIMEOUT
                                ;;
 
+                       language=*|debian-installer/language=*)
+                               language=${x#debian-installer/language=}
+                               locale="$(lang2locale "$language")"
+                               set_locale="true"
+                               ;;
+
                        locale=*|debian-installer/locale=*)
                                LOCALE="${ARGUMENT#*=}"
                                export LOCALE
@@ -550,20 +556,6 @@ is_nice_device ()
        return 1
 }
 
-is_supported_fs ()
-{
-       # FIXME: do something better like the scan of supported filesystems
-       fstype="${1}"
-
-       case ${fstype} in
-               vfat|iso9660|udf|ext2|ext3|ntfs|jffs2)
-                       return 0
-                       ;;
-       esac
-
-       return 1
-}
-
 copy_live_to ()
 {
        copyfrom="${1}"
@@ -623,7 +615,7 @@ copy_live_to ()
                cd "${copyto}"
                tar zxf "${copyfrom}/${LIVE_MEDIA_PATH}/$(basename ${FETCH})"
                rm -f "${copyfrom}/${LIVE_MEDIA_PATH}/$(basename ${FETCH})"
-               mount -r --move "${copyto}" "${rootmnt}"
+               mount -r -move "${copyto}" "${rootmnt}"
                cd "${OLDPWD}"
        else
                if [ -n "${MODULETORAMFILE}" ]
@@ -635,7 +627,7 @@ copy_live_to ()
 
                livefs_root
                umount ${copyfrom}
-               mount -r --move ${copyto} ${copyfrom}
+               mount -r -move ${copyto} ${copyfrom}
        fi
 
        rmdir ${copyto}
@@ -982,7 +974,7 @@ setup_unionfs ()
                        fi
 
                        mkdir -p "${croot}/${imagename}"
-                       echo "debug: Can not mount backdev ${backdev} (image = ${image}) on croot/imagename ${croot}/${imagename}"
+                       echo "debug: Mounting backdev \"${backdev}\" (image = ${image}) on croot/imagename \"${croot}/${imagename}\""
                        mount -t "${fstype}" -o ro,noatime "${backdev}" "${croot}/${imagename}" || panic "Can not mount ${backdev} (${image}) on ${croot}/${imagename}" && rofsstring="${croot}/${imagename}=${roopt}:${rofsstring}" && rofslist="${croot}/${imagename} ${rofslist}"
                fi
        done
@@ -1130,7 +1122,7 @@ setup_unionfs ()
                                        ;;
 
                                *)
-                                       mount --move "${d}" "${rootmnt}/live/${d##*/}"
+                                       mount -move "${d}" "${rootmnt}/live/${d##*/}"
                                        ;;
                        esac
                done
@@ -1158,6 +1150,19 @@ check_dev ()
                devname="${loopdevname}"
        fi
 
+       if [ -d "${devname}" ]
+       then
+               mount -o bind "${devname}" $mountpoint || continue
+
+               if is_live_path $mountpoint
+               then
+                       echo $mountpoint
+                       return 0
+               else
+                       umount $mountpoint
+               fi
+       fi
+
        fstype=$(get_fstype "${devname}")
 
        if is_supported_fs ${fstype}
@@ -1205,7 +1210,7 @@ find_livefs ()
        fi
 
        # or do the scan of block devices
-       for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -v loop | grep -v ram | grep -v 'dm-')
+       for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -v loop | grep -v ram | grep -v 'dm-' | grep -v fd )
        do
                devname=$(sys2dev "${sysblock}")
                fstype=$(get_fstype "${devname}")
@@ -1261,6 +1266,8 @@ mountroot ()
        exec 7>&2
        exec > live.log
        exec 2>&1
+       tail -f live.log >&7 &
+       tailpid="${!}"
 
        Arguments
 
@@ -1342,5 +1349,6 @@ mountroot ()
 
        exec 1>&6 6>&-
        exec 2>&7 7>&-
+       kill ${tailpid}
        cp live.log "${rootmnt}/var/log/"
 }