X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=scripts%2Flive-bottom%2F12fstab;h=ba4a7a3fcd0a4a0e45d86b2201f3b0cd173ee3d2;hb=52dcef518bdb95605670b8dc12257057bf7a2dc0;hp=ca83626da8c46cc547c4a5cb3fa021a8a7e4fd27;hpb=bf36396d635f664157bef6448040c967dc96d563;p=live-boot-grml.git diff --git a/scripts/live-bottom/12fstab b/scripts/live-bottom/12fstab index ca83626..ba4a7a3 100755 --- a/scripts/live-bottom/12fstab +++ b/scripts/live-bottom/12fstab @@ -19,7 +19,7 @@ case "${1}" in ;; esac -# live-initramfs header +# live-boot header . /scripts/live-functions @@ -28,23 +28,68 @@ then exit 0 fi -if [ -s ${FSTAB} ] +log_begin_msg "Configuring fstab" + +# live-boot script + +# Create a fake fstab only if it doesn't exist or if its the debootstrap template +if [ ! -f "${FSTAB}" ] || grep -qs 'UNCONFIGURED FSTAB FOR BASE SYSTEM' "${FSTAB}" +then + +cat > ${FSTAB} << EOF +# /etc/fstab: static file system information. +# +# + +EOF + +fi + +if ! grep -qs "^${UNIONTYPE}" "${FSTAB}" +then + echo "${UNIONTYPE} / ${UNIONTYPE} rw 0 0" >> "${FSTAB}" +fi + +if ! grep -qs "^tmpfs /tmp" "${FSTAB}" then - log_begin_msg "Not touching preexisting fstab..." -else - log_begin_msg "Configuring fstab..." - - cat >> ${FSTAB} <<-EOF - # /etc/fstab: static file system information. - # - # - ${UNIONTYPE} / ${UNIONTYPE} rw 0 0 - tmpfs /tmp tmpfs nosuid,nodev 0 0 - EOF + echo "tmpfs /tmp tmpfs nosuid,nodev 0 0" >> "${FSTAB}" fi -# live-initramfs script +if [ -n "${SWAPON}" ] +then + devices="" + + for device in /dev/[hs]d[a-z][0-9]* + do + if ! [ -b "${device}" ] + then + continue + fi + + /sbin/blkid -o udev -p ${device%%[0-9]*} | grep -q "^ID_FS_USAGE=raid" && continue + magic=$(/bin/dd if="${device}" bs=4086 skip=1 count=1 2>/dev/null | /bin/dd bs=10 count=1 2>/dev/null) || continue + + if [ "${magic}" = "SWAPSPACE2" -o "${magic}" = "SWAP-SPACE" ] + then + #log "Found ${device}" + devices="${devices} ${device}" + fi + done + + # Remove all auto swap entries + if grep -qs "swap swap" "${FSTAB}" + then + grep -v "swap swap" "${FSTAB}" > "${FSTAB}".tmp + mv "${FSTAB}".tmp "${FSTAB}" + fi + + # Add new swap entries + for device in ${devices} + do + echo "${device} swap swap defaults 0 0" >> "${FSTAB}" + done +fi # disabled for now #rm -f /root/etc/rcS.d/S*checkroot.sh