diff options
author | Thomas Strobel <ts468@cam.ac.uk> | 2015-02-16 19:41:08 +0100 |
---|---|---|
committer | Thomas Strobel <ts468@cam.ac.uk> | 2015-02-20 17:42:22 +0100 |
commit | c62e42e9c5f399b99d41abae77eab36cfb4edf58 (patch) | |
tree | ed9a695936962b4b399620b85eff4016bbfc56c6 /nixos/modules/system | |
parent | 263a49be2091b8752a45f7e8b269e599fdd709d1 (diff) | |
download | nixpkgs-c62e42e9c5f399b99d41abae77eab36cfb4edf58.tar nixpkgs-c62e42e9c5f399b99d41abae77eab36cfb4edf58.tar.gz nixpkgs-c62e42e9c5f399b99d41abae77eab36cfb4edf58.tar.bz2 nixpkgs-c62e42e9c5f399b99d41abae77eab36cfb4edf58.tar.lz nixpkgs-c62e42e9c5f399b99d41abae77eab36cfb4edf58.tar.xz nixpkgs-c62e42e9c5f399b99d41abae77eab36cfb4edf58.tar.zst nixpkgs-c62e42e9c5f399b99d41abae77eab36cfb4edf58.zip |
Enhance stage-1/2 scripts for better dealing with squashfs
Diffstat (limited to 'nixos/modules/system')
-rw-r--r-- | nixos/modules/system/boot/stage-1-init.sh | 3 | ||||
-rw-r--r-- | nixos/modules/system/boot/stage-2-init.sh | 6 |
2 files changed, 7 insertions, 2 deletions
diff --git a/nixos/modules/system/boot/stage-1-init.sh b/nixos/modules/system/boot/stage-1-init.sh index 1e173f5ac7a..a34a1360265 100644 --- a/nixos/modules/system/boot/stage-1-init.sh +++ b/nixos/modules/system/boot/stage-1-init.sh @@ -218,6 +218,9 @@ checkFS() { # Don't check resilient COWs as they validate the fs structures at mount time if [ "$fsType" = btrfs -o "$fsType" = zfs ]; then return 0; fi + # Skip fsck for inherently readonly filesystems. + if [ "$fsType" = squashfs ]; then return 0; fi + # If we couldn't figure out the FS type, then skip fsck. if [ "$fsType" = auto ]; then echo 'cannot check filesystem with type "auto"!' diff --git a/nixos/modules/system/boot/stage-2-init.sh b/nixos/modules/system/boot/stage-2-init.sh index 356a440b17a..173453a17f7 100644 --- a/nixos/modules/system/boot/stage-2-init.sh +++ b/nixos/modules/system/boot/stage-2-init.sh @@ -50,8 +50,10 @@ echo "booting system configuration $systemConfig" > /dev/kmsg # Make /nix/store a read-only bind mount to enforce immutability of # the Nix store. Note that we can't use "chown root:nixbld" here # because users/groups might not exist yet. -chown 0:30000 /nix/store -chmod 1775 /nix/store +# Silence chown/chmod to fail gracefully on a readonly filesystem +# like squashfs. +chown -f 0:30000 /nix/store +chmod -f 1775 /nix/store if [ -n "@readOnlyStore@" ]; then if ! readonly-mountpoint /nix/store; then mount --bind /nix/store /nix/store |