* unionfs-fuse itself has been always very buggy for us.
* unionfs-fuse code in live-boot as been experimental at best.
* the FUSE implementation is horribly slow due to the nature of
FUSE (~10min to boot a live system with unionfs-fuse compared
to <<1min with aufs).
* and last but not least, there's overlay in kernel mainline now.
manual_add_modules overlay
manual_add_modules unionfs
-# Filesystem: unionfs-fuse
-if [ -x /usr/bin/unionfs-fuse ]
-then
- copy_exec /usr/bin/unionfs-fuse /bin
-fi
-
# Filesystem: vfat
manual_add_modules nls_cp437
manual_add_modules nls_iso8859-1
log_end_msg
- # unionfs-fuse needs /dev to be bind-mounted for the duration of
- # live-bottom; udev's init script will take care of things after that
- case "${UNIONTYPE}" in
- unionfs-fuse)
- mount -n -o bind /dev "${rootmnt}/dev"
- ;;
- esac
-
-
# aufs2 in kernel versions around 2.6.33 has a regression:
# directories can't be accessed when read for the first the time,
# causing a failure for example when accessing /var/lib/fai
Swap
- case "${UNIONFS}" in
- unionfs-fuse)
- umount "${rootmnt}/dev"
- ;;
- esac
-
exec 1>&6 6>&-
exec 2>&7 7>&-
kill ${tailpid}
noxino_opt="noxino"
;;
- unionfs-fuse)
- rw_opt="RW"
- ro_opt="RO"
- ;;
-
*)
rw_opt="rw"
ro_opt="ro"
esac
case "${UNIONTYPE}" in
- unionfs-fuse)
- unionmountopts="-o cow -o noinitgroups -o default_permissions -o allow_other -o use_ino -o suid"
- unionmountopts="${unionmountopts} ${unionrw}=${rw_opt}"
- if [ -n "${unionro}" ]
- then
- for rofs in ${unionro}
- do
- unionmountopts="${unionmountopts}:${rofs}=${ro_opt}"
- done
- fi
- ( sysctl -w fs.file-max=391524 ; ulimit -HSn 16384
- unionfs-fuse ${unionmountopts} "${unionmountpoint}" ) && \
- ( mkdir -p /run/sendsigs.omit.d
- pidof unionfs-fuse >> /run/sendsigs.omit.d/unionfs-fuse || true )
- ;;
-
overlay)
# XXX: can multiple unionro be used? (overlay only handles two dirs, but perhaps they can be chained?)
# XXX: and can unionro be optional? i.e. can overlay skip lowerdir?
case ${UNIONTYPE} in
aufs|unionfs|overlay)
- modprobe -q -b ${UNIONTYPE}
-
- if ! cut -f2 /proc/filesystems | grep -q "^${UNIONTYPE}\$" && [ -x /bin/unionfs-fuse ]
+ if ! cut -f2 /proc/filesystems | grep -q "^${UNIONTYPE}\$"
then
- echo "${UNIONTYPE} not available, falling back to unionfs-fuse."
- echo "This might be really slow."
-
- UNIONTYPE="unionfs-fuse"
+ panic "${UNIONTYPE} not available."
fi
- ;;
- esac
- case "${UNIONTYPE}" in
- unionfs-fuse)
- modprobe fuse
+ modprobe -q -b ${UNIONTYPE}
;;
esac
# do nothing # mount -o bind "${d}" "${live_rootfs}"
;;
*)
- case "${UNIONTYPE}" in
- unionfs-fuse)
- mount -o bind "${d}" "${live_rootfs}"
- ;;
-
- *)
- mount -o move "${d}" "${live_rootfs}"
- ;;
- esac
+ mount -o move "${d}" "${live_rootfs}"
;;
esac
done
curlftpfs,
cryptsetup,
httpfs2,
- unionfs-fuse,
wget,
Description: Live System Boot Components
The Live Systems project maintains the components to build Debian based Live
dpkg -l rsync uuid-runtime
# Checking suggests
-dpkg -l curlftpfs cryptsetup httpfs2 unionfs-fuse wget
+dpkg -l curlftpfs cryptsetup httpfs2 wget
# Checking other packages
dpkg -l plymouth