stage-1-init: add boot.persistence option
This option allows replacing the tmpfs mounted on / by the live CD's init script with a physical device Since nixOS symlinks everything there's no trouble at all. That enables the user to easily use a nixOS live CD as a portable installation. Note that due to some limitations in how the store is mounted currently only the non-store things are persisted.
This commit is contained in:
parent
4c23f68699
commit
948de104de
|
@ -144,6 +144,14 @@ for o in $(cat /proc/cmdline); do
|
|||
set -- $(IFS==; echo $o)
|
||||
stage2Init=$2
|
||||
;;
|
||||
boot.persistence=*)
|
||||
set -- $(IFS==; echo $o)
|
||||
persistence=$2
|
||||
;;
|
||||
boot.persistence.opt=*)
|
||||
set -- $(IFS==; echo $o)
|
||||
persistence_opt=$2
|
||||
;;
|
||||
boot.trace|debugtrace)
|
||||
# Show each command.
|
||||
set -x
|
||||
|
@ -534,6 +542,14 @@ while read -u 3 mountPoint; do
|
|||
continue
|
||||
fi
|
||||
|
||||
if [ "$mountPoint" = / ] && [ "$device" = tmpfs ] && [ ! -z "$persistence" ]; then
|
||||
echo persistence...
|
||||
waitDevice "$persistence"
|
||||
echo enabling persistence...
|
||||
mountFS "$persistence" "$mountPoint" "$persistence_opt" "auto"
|
||||
continue
|
||||
fi
|
||||
|
||||
mountFS "$device" "$mountPoint" "$options" "$fsType"
|
||||
done
|
||||
|
||||
|
|
Loading…
Reference in a new issue