summary refs log tree commit diff
path: root/nixos/modules/system/boot/stage-1-init.sh
diff options
context:
space:
mode:
authorJanne Heß <janne@hess.ooo>2021-12-08 15:38:02 +0100
committerGitHub <noreply@github.com>2021-12-08 15:38:02 +0100
commite36ceb65e6914265f1b0ad8d8d04aa5786c546e2 (patch)
tree6cc2cfd1e36059a4f5fb371e82f55107b9294e3a /nixos/modules/system/boot/stage-1-init.sh
parent0b75a168930d64bd1531469cf52f2eb6aa7d917b (diff)
parent30b97d7ccaf25324926301524d040c4524470046 (diff)
downloadnixpkgs-e36ceb65e6914265f1b0ad8d8d04aa5786c546e2.tar
nixpkgs-e36ceb65e6914265f1b0ad8d8d04aa5786c546e2.tar.gz
nixpkgs-e36ceb65e6914265f1b0ad8d8d04aa5786c546e2.tar.bz2
nixpkgs-e36ceb65e6914265f1b0ad8d8d04aa5786c546e2.tar.lz
nixpkgs-e36ceb65e6914265f1b0ad8d8d04aa5786c546e2.tar.xz
nixpkgs-e36ceb65e6914265f1b0ad8d8d04aa5786c546e2.tar.zst
nixpkgs-e36ceb65e6914265f1b0ad8d8d04aa5786c546e2.zip
Merge pull request #129449 from ddz/copy-initrd-secrets-after-early-mount-script
nixos/stage1: copy initrd secrets into place after special mounts
Diffstat (limited to 'nixos/modules/system/boot/stage-1-init.sh')
-rw-r--r--nixos/modules/system/boot/stage-1-init.sh12
1 files changed, 12 insertions, 0 deletions
diff --git a/nixos/modules/system/boot/stage-1-init.sh b/nixos/modules/system/boot/stage-1-init.sh
index 3dfcc010b64..e8e32bab6e3 100644
--- a/nixos/modules/system/boot/stage-1-init.sh
+++ b/nixos/modules/system/boot/stage-1-init.sh
@@ -119,6 +119,18 @@ specialMount() {
 }
 source @earlyMountScript@
 
+# Copy initrd secrets from /.initrd-secrets to their actual destinations
+if [ -d "/.initrd-secrets" ]; then
+    #
+    # Secrets are named by their full destination pathname and stored
+    # under /.initrd-secrets/
+    #
+    for secret in $(cd "/.initrd-secrets"; find . -type f); do
+        mkdir -p $(dirname "/$secret")
+        cp "/.initrd-secrets/$secret" "$secret"
+    done
+fi
+
 # Log the script output to /dev/kmsg or /run/log/stage-1-init.log.
 mkdir -p /tmp
 mkfifo /tmp/stage-1-init.log.fifo