nixos stage-1: fix init existence test
The previous version contained a false positive case, where boot would continue when the stage 2 init did not exist at all, and a false negative case, where boot would stop if the stage 2 init was a symlink which cannot be resolved in the initramfs root. Fixes #49519. Thanks @michas2 for finding and reporting the issue!
This commit is contained in:
parent
42cfc436ce
commit
817369d4c1
@ -554,7 +554,7 @@ echo /sbin/modprobe > /proc/sys/kernel/modprobe
|
||||
# Start stage 2. `switch_root' deletes all files in the ramfs on the
|
||||
# current root. Note that $stage2Init might be an absolute symlink,
|
||||
# in which case "-e" won't work because we're not in the chroot yet.
|
||||
if ! test -e "$targetRoot/$stage2Init" -o ! -L "$targetRoot/$stage2Init"; then
|
||||
if [ ! -e "$targetRoot/$stage2Init" ] && [ ! -L "$targetRoot/$stage2Init" ] ; then
|
||||
echo "stage 2 init script ($targetRoot/$stage2Init) not found"
|
||||
fail
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user