From ee53143215d82acfe159009b5745795828fddb5b Mon Sep 17 00:00:00 2001 From: Travis Staton Date: Sun, 3 Nov 2024 12:06:15 -0500 Subject: [PATCH] add initrd --- rpi/default.nix | 11 +++++++++++ sd-image/default.nix | 2 ++ 2 files changed, 13 insertions(+) diff --git a/rpi/default.nix b/rpi/default.nix index 57b93a1..8a15a9b 100644 --- a/rpi/default.nix +++ b/rpi/default.nix @@ -6,6 +6,7 @@ let version = cfg.kernel-version; board = cfg.board; kernel = pkgs.rpi-kernels."${version}"."${board}"; + initrd = "${config.system.build.initialRamdisk}/${config.system.boot.loader.initrdFile}"; in { imports = [ ./config.nix ./i2c.nix ]; @@ -130,6 +131,8 @@ in touch "$STATE_DIRECTORY/kernel-migration-in-progress" cp "$KERNEL" "$TMPFILE" mv -T "$TMPFILE" "$TARGET_FIRMWARE_DIR/kernel.img" + cp "${initrd}" "$TMPFILE" + mv -T "$TMPFILE" "$TARGET_FIRMWARE_DIR/initrd" echo "${ builtins.toString kernel }" > "$STATE_DIRECTORY/kernel-version" @@ -243,6 +246,14 @@ in enable = true; value = if cfg.uboot.enable then "u-boot-rpi-arm64.bin" else "kernel.img"; }; + ramfsfile = { + enable = !cfg.uboot.enable; + value = "initrd"; + }; + ramfsaddr = { + enable = !cfg.uboot.enable; + value = -1; + }; arm_64bit = { enable = true; value = true; diff --git a/sd-image/default.nix b/sd-image/default.nix index 9e9930a..fb9c684 100644 --- a/sd-image/default.nix +++ b/sd-image/default.nix @@ -23,6 +23,7 @@ version = cfg.kernel-version; board = cfg.board; kernel = pkgs.rpi-kernels."${version}"."${board}"; + initrd = "${config.system.build.initialRamdisk}/${config.system.boot.loader.initrdFile}"; populate-kernel = if cfg.uboot.enable then '' @@ -30,6 +31,7 @@ '' else '' cp "${kernel}/Image" firmware/kernel.img + cp "${initrd}" firmware/initrd cp "${kernel-params}" firmware/cmdline.txt ''; in