Merge pull request #257693 from NickCao/bindmount
nixos/stage-1-systemd: fix initrd-fstab generation for bind mounts, a…
This commit is contained in:
commit
209f6f3c21
@ -187,9 +187,8 @@ let
|
|||||||
skipCheck = fs: fs.noCheck || fs.device == "none" || builtins.elem fs.fsType fsToSkipCheck || isBindMount fs;
|
skipCheck = fs: fs.noCheck || fs.device == "none" || builtins.elem fs.fsType fsToSkipCheck || isBindMount fs;
|
||||||
# https://wiki.archlinux.org/index.php/fstab#Filepath_spaces
|
# https://wiki.archlinux.org/index.php/fstab#Filepath_spaces
|
||||||
escape = string: builtins.replaceStrings [ " " "\t" ] [ "\\040" "\\011" ] string;
|
escape = string: builtins.replaceStrings [ " " "\t" ] [ "\\040" "\\011" ] string;
|
||||||
in fstabFileSystems: { rootPrefix ? "" }: concatMapStrings (fs:
|
in fstabFileSystems: { }: concatMapStrings (fs:
|
||||||
(optionalString (isBindMount fs) (escape rootPrefix))
|
(if fs.device != null then escape fs.device
|
||||||
+ (if fs.device != null then escape fs.device
|
|
||||||
else if fs.label != null then "/dev/disk/by-label/${escape fs.label}"
|
else if fs.label != null then "/dev/disk/by-label/${escape fs.label}"
|
||||||
else throw "No device specified for mount point ‘${fs.mountPoint}’.")
|
else throw "No device specified for mount point ‘${fs.mountPoint}’.")
|
||||||
+ " " + escape fs.mountPoint
|
+ " " + escape fs.mountPoint
|
||||||
@ -199,9 +198,7 @@ let
|
|||||||
+ "\n"
|
+ "\n"
|
||||||
) fstabFileSystems;
|
) fstabFileSystems;
|
||||||
|
|
||||||
initrdFstab = pkgs.writeText "initrd-fstab" (makeFstabEntries (filter utils.fsNeededForBoot fileSystems) {
|
initrdFstab = pkgs.writeText "initrd-fstab" (makeFstabEntries (filter utils.fsNeededForBoot fileSystems) { });
|
||||||
rootPrefix = "/sysroot";
|
|
||||||
});
|
|
||||||
|
|
||||||
in
|
in
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user