export PERSISTENT
;;
+ persistent-path=*)
+ PERSISTENT_PATH="${ARGUMENT#persistent-path=}"
+ export PERSISTENT_PATH
+ ;;
+
nopersistent)
NOPERSISTENT="Yes"
export NOPERSISTENT
export SHOWMOUNTS
;;
+ silent)
+ SILENT="Yes"
+ export SILENT
+ ;;
+
textonly)
TEXTONLY="Yes"
export TEXTONLY
if [ -d "${DIRECTORY}"/"${LIVE_MEDIA_PATH}" ]
then
- for FILESYSTEM in squashfs ext2 ext3 xfs dir jffs2
+ for FILESYSTEM in squashfs ext2 ext3 ext4 xfs dir jffs2
do
if [ "$(echo ${DIRECTORY}/${LIVE_MEDIA_PATH}/*.${FILESYSTEM})" != "${DIRECTORY}/${LIVE_MEDIA_PATH}/*.${FILESYSTEM}" ]
then
get_backing_device ()
{
case "${1}" in
- *.squashfs|*.ext2|*.ext3|*.jffs2)
+ *.squashfs|*.ext2|*.ext3|*.ext4|*.jffs2)
echo $(setup_loop "${1}" "loop" "/sys/block/loop*" '0' "${LIVE_MEDIA_ENCRYPTION}" "${2}")
;;
if match_files_in_dir "${directory}/${LIVE_MEDIA_PATH}/*.squashfs" ||
match_files_in_dir "${directory}/${LIVE_MEDIA_PATH}/*.ext2" ||
match_files_in_dir "${directory}/${LIVE_MEDIA_PATH}/*.ext3" ||
+ match_files_in_dir "${directory}/${LIVE_MEDIA_PATH}/*.ext4" ||
match_files_in_dir "${directory}/${LIVE_MEDIA_PATH}/*.jffs2" ||
match_files_in_dir "${directory}/${LIVE_MEDIA_PATH}/*.dir"
then
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}.jffs2")
+ snapdata=$(find_files "${snap_label}.squashfs ${snap_label}.cpio.gz ${snap_label}.ext2 ${snap_label}.ext3 ${snal_label}.ext4 ${snap_label}.jffs2")
fi
if [ -z "${snapdata}" ]
break
fi
- if echo "${snapfile}" | grep -qs '\(squashfs\|ext2\|ext3\|jffs2\)'
+ if echo "${snapfile}" | grep -qs '\(squashfs\|ext2\|ext3\|ext4\|jffs2\)'
then
- # squashfs, jffs2 or ext2/ext3 snapshot
+ # squashfs, jffs2 or ext2/ext3/ext4 snapshot
dev=$(get_backing_device "${snapback}/${snapfile}")
do_snap_copy "${dev}" "${snap_mount}" "${snap_type}"
done
else
# ${MODULE}.module does not exist, create a list of images
- for FILESYSTEM in squashfs ext2 ext3 xfs jffs2 dir
+ for FILESYSTEM in squashfs ext2 ext3 ext4 xfs jffs2 dir
do
for IMAGE in "${image_directory}"/*."${FILESYSTEM}"
do
if [ -n "${addimage_directory}" ] && [ -d "${addimage_directory}" ]
then
- for FILESYSTEM in squashfs ext2 ext3 xfs jffs2 dir
+ for FILESYSTEM in squashfs ext2 ext3 ext4 xfs jffs2 dir
do
for IMAGE in "${addimage_directory}"/*."${FILESYSTEM}"
do
root_snapdata=$(find_snap "${root_snapshot_label}" "${blacklistdev}")
# This second type should be removed when snapshot will get smarter,
# hence when "/etc/live-snapshot*list" will be supported also by
- # ext2|ext3|jffs2 snapshot types.
+ # ext2|ext3|ext4|jffs2 snapshot types.
home_snapdata=$(find_snap "${home_snapshot_label}" "${blacklistdev}")
if [ -b "${cowprobe}" ]
{
timeout="${1}"
- # first look at the one specified in the command line
- if [ ! -z "${LIVE_MEDIA}" ]
- then
- if check_dev "null" "${LIVE_MEDIA}" "skip_uuid_check"
- then
- return 0
- fi
- fi
-
# don't start autodetection before timeout has expired
if [ -n "${LIVE_MEDIA_TIMEOUT}" ]
then
fi
fi
+ # first look at the one specified in the command line
+ case "${LIVE_MEDIA}" in
+ removable-usb)
+ for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -vE "/(loop|ram|dm-|fd)")
+ do
+ if [ "$(cat ${sysblock}/removable)" = "1" ]
+ then
+ if readlink ${sysblock}/device | grep -q usb
+ then
+ for dev in $(subdevices "${sysblock}")
+ do
+ if check_dev "${dev}"
+ then
+ return 0
+ fi
+ done
+ fi
+ fi
+ done
+ ;;
+
+ removable)
+ for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -vE "/(loop|ram|dm-|fd)")
+ do
+ if [ "$(cat ${sysblock}/removable)" = "1" ]
+ then
+ for dev in $(subdevices "${sysblock}")
+ do
+ if check_dev "${dev}"
+ then
+ return 0
+ fi
+ done
+ fi
+ done
+ ;;
+
+ *)
+ if [ ! -z "${LIVE_MEDIA}" ]
+ then
+ if check_dev "null" "${LIVE_MEDIA}" "skip_uuid_check"
+ then
+ return 0
+ fi
+ fi
+ ;;
+ esac
+
# or do the scan of block devices
for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -vE "/(loop|ram|dm-|fd)")
do
elif [ "${fstype}" = "squashfs" -o \
"${fstype}" = "ext2" -o \
"${fstype}" = "ext3" -o \
+ "${fstype}" = "ext4" -o \
"${fstype}" = "jffs2" ]
then
# This is an ugly hack situation, the block device has
exec 1>&6 6>&-
exec 2>&7 7>&-
kill ${tailpid}
- cp live.log "${rootmnt}/var/log/"
+ [ -w "${rootmnt}/var/log/" ] && cp live.log "${rootmnt}/var/log/" 2>/dev/null
}