From dbf1ecdcb7d55a187c76962e048356d3267b03a0 Mon Sep 17 00:00:00 2001 From: Daniel Barlow Date: Sat, 23 Dec 2023 15:34:01 +0000 Subject: [PATCH] swap zimage and dtb in ram kernel uncompression code creates a stack directly after the compressed payload, which was trashing the dtb --- modules/outputs/tftpboot.nix | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/modules/outputs/tftpboot.nix b/modules/outputs/tftpboot.nix index 927efe9..cd2cd1b 100644 --- a/modules/outputs/tftpboot.nix +++ b/modules/outputs/tftpboot.nix @@ -72,18 +72,19 @@ in { hex() { printf "0x%x" $1; } rootfsStart=${toString cfg.loadAddress} rootfsSize=$(binsize64k ${o.rootfs} ) - imageStart=$(($rootfsStart + $rootfsSize)) - imageSize=$(binsize ${image}) - dtbStart=$(($imageStart + $imageSize)) + dtbStart=$(($rootfsStart + $rootfsSize)) dtbSize=$(binsize ${o.dtb} ) + imageStart=$(($dtbStart + $dtbSize)) + imageSize=$(binsize ${image}) ln -s ${o.manifest} manifest ln -s ${image} image + ln -s ${o.kernel} vmlinux # handy for gdb ${if cfg.compressRoot then '' lzma -z9cv ${o.rootfs} > rootfs.lz - rootfsLzStart=$(($dtbStart + $dtbSize)) + rootfsLzStart=$(($imageStart + $imageSize)) rootfsLzSize=$(binsize rootfs.lz) '' else "ln -s ${o.rootfs} rootfs"