add initrd

This commit is contained in:
Travis Staton 2024-11-03 12:06:15 -05:00
parent d039a262ce
commit ee53143215
No known key found for this signature in database
GPG key ID: E883E53CDAC16260
2 changed files with 13 additions and 0 deletions

View file

@ -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;

View file

@ -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