X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Flive;h=9eaa073c5b8a093ac655410e6c98dfa790b1f588;hb=56627dfef6afd7f94f0bd8d76122eefb0b115826;hp=077ad52d94de0f12407ab337e44b86892d5b3e2e;hpb=a844e2f2b5c126e6f3e54a65e69b8673553afdf3;p=live-boot-grml.git diff --git a/scripts/live b/scripts/live index 077ad52..9eaa073 100755 --- a/scripts/live +++ b/scripts/live @@ -1663,7 +1663,7 @@ setup_unionfs () ;; *) log_warning_msg "Skipping custom mount with unkown option: ${opt}" - continue + continue 2 ;; esac done @@ -1707,6 +1707,16 @@ setup_unionfs () # Now we do the actual mounting (and symlinking) while read source dest options # < ${custom_mounts} do + local opt_linkfiles="" + for opt in $(echo ${options} | tr ',' ' '); + do + case "${opt}" in + "linkfiles") + opt_linkfiles="yes" + ;; + esac + done + if mountpoint -q "${dest}"; then log_warning_msg "Skipping custom mount ${source} on ${dest}: destination is already a mount point" @@ -1745,7 +1755,7 @@ setup_unionfs () # dealing with /etc or other system dir. if [ ! -d "${source}" ] then - if [ -n "${PERSISTENT_READONLY}" ] || echo ${options} | grep -qe "\" + if [ -n "${PERSISTENT_READONLY}" ] || [ -n "${opt_linkfiles}" ] then continue fi @@ -1756,7 +1766,7 @@ setup_unionfs () if [ -z "${PERSISTENT_READONLY}" ] then - if echo ${options} | grep -qe "\"; + if [ -n "${opt_linkfiles}" ] then links_source="${source}" links_dest="${dest}" @@ -1764,7 +1774,7 @@ setup_unionfs () mount --bind "${source}" "${dest}" fi else - if echo ${options} | grep -qe "\"; + if [ -n "${opt_linkfiles}" ] then links_dest="${dest}" dest="$(mktemp -d ${persistent_backing}/links_source-XXXXXX)" @@ -1776,7 +1786,7 @@ setup_unionfs () mount -t "${UNIONTYPE}" -o "${unionmountopts}" "${UNIONTYPE}" "${dest}" fi - if echo $options | grep -qe "\"; + if [ -n "${opt_linkfiles}" ] then link_files "${links_source}" "${links_dest}" "${rootmnt}" fi