update:
set -e; for FILE in docs/parameters.txt; \
do \
- sed -i -e 's/2007\\-10\\-22/2007\\-10\\-29/' \
- -e 's/2007-10-22/2007-10-29/' \
- -e 's/22.10.2007/29.10.2007/' \
- -e 's/1.110.3/1.110.4/' \
+ sed -i -e 's/2007\\-10\\-29/2007\\-11\\-05/' \
+ -e 's/2007-10-29/2007-11-05/' \
+ -e 's/29.10.2007/05.11.2007/' \
+ -e 's/1.110.4/1.110.5/' \
$$FILE; \
done
export NFSOPTS
;;
+ nfscow=*)
+ NFS_COW="${ARGUMENT#nfscow=}"
+ export NFS_COW
+ ;;
+
noaccessibility)
NOACCESSIBILITY="Yes"
export NOACCESSIBILITY
rofsstring=${rofsstring%:}
mkdir -p /cow
- cowdevice="tmpfs"
- cow_fstype="tmpfs"
# Looking for "${root_persistence}" device or file
if [ -n "${PERSISTENT}" ]
else
[ "${quiet}" != "y" ] && log_warning_msg "Unable to find the persistent medium"
fi
+ elif [ -n "${NFS_COW}" ]
+ then
+ # check if there are any nfs options
+ if echo ${NFS_COW}|grep -q ','
+ then
+ nfs_cow_opts="-o nolock,$(echo ${NFS_COW}|cut -d, -f2-)"
+ nfs_cow=$(echo ${NFS_COW}|cut -d, -f1)
+ else
+ nfs_cow_opts="-o nolock"
+ nfs_cow=${NFS_COW}
+ fi
+ mac=$(get_mac)
+ if [ -n "${mac}" ]
+ then
+ cowdevice=$(echo ${nfs_cow}|sed "s/client_mac_address/${mac}/")
+ cow_fstype="nfs"
+ else
+ panic "unable to determine mac address"
+ fi
+ else
+ cowdevice="tmpfs"
+ cow_fstype="tmpfs"
+ fi
+
+ if [ "${cow_fstype}" = "nfs" ]
+ then
+ [ "${quiet}" != "y" ] && log_begin_msg \
+ "Trying nfsmount ${nfs_cow_opts} ${cowdevice} /cow"
+ nfsmount ${nfs_cow_opts} ${cowdevice} /cow || \
+ panic "Can not mount ${cowdevice} on /cow"
+ else
+ mount ${cowdevice} -t ${cow_fstype} -o rw,noatime /cow || \
+ panic "Can not mount ${cowdevice} on /cow"
fi
rofscount=$(echo ${rofslist} |wc -w)
mount --bind ${exposedrootfs} ${rootmnt} || \
panic "bind mount of ${exposedrootfs} failed"
- mount ${cowdevice} -t ${cow_fstype} -o rw,noatime /cow || \
- panic "Can not mount ${cowdevice} on /cow"
-
- cow_dirs='/tmp /var/tmp /var/lock /var/run /var/log /var/spool
- /home /live /var/lib/live'
+ cow_dirs='/var/tmp /var/lock /var/run /var/log /var/spool
+ /home /var/lib/live'
for dir in ${cow_dirs}; do
mkdir -p /cow${dir}
rw,noatime,dirs=/cow${dir}=rw:${exposedrootfs}${dir}=ro"
done
else
- mount ${cowdevice} -t ${cow_fstype} -o rw,noatime /cow || \
- panic "Can not mount ${cowdevice} on /cow"
mount -t ${UNIONTYPE} -o noatime,dirs=/cow=rw:${rofsstring} \
${UNIONTYPE} "${rootmnt}" || panic "mount ${UNIONTYPE} on \
${rootmnt} failed with option noatime,dirs=/cow=rw:${rofsstring}"
fi
+ # tmpfs file systems
+ mkdir -p "${rootmnt}/live"
+ mount -t tmpfs tmpfs ${rootmnt}/live
+
# Adding other custom mounts
if [ -n "${PERSISTENT}" ]
then
# initramfs-tools header
PREREQ=""
+FSTAB=/root/etc/fstab
prereqs()
{
exit 0
fi
-log_begin_msg "Configuring fstab..."
+if [ -s ${FSTAB} ]
+then
+ log_begin_msg "Not touching preexisting fstab..."
+else
+ log_begin_msg "Configuring fstab..."
+
+ cat >> ${FSTAB} <<-EOF
+ # /etc/fstab: static file system information.
+ #
+ # <file system> <mount point> <type> <options> <dump> <pass>
+ ${UNIONTYPE} / ${UNIONTYPE} rw 0 0
+ tmpfs /tmp tmpfs nosuid,nodev 0 0
+ EOF
+fi
# live-initramfs script
-FSTAB=/root/etc/fstab
-
-cat >> ${FSTAB} << EOF
-${UNIONTYPE} / ${UNIONTYPE} rw 0 0
-tmpfs /tmp tmpfs nosuid,nodev 0 0
-EOF
# disabled for now
#rm -f /root/etc/rcS.d/S*checkroot.sh