add kexecboot

This allows booting a new image from a running OS, creating a
phram mtd for the root squashfs

* enable CONFIG_KEXEC
* add modules/kexecboot
* patch kexec-tools to add --map-file option for the squashfs
* patch kernel kexec code to call new kernel with DTB
This commit is contained in:
Daniel Barlow
2023-03-19 09:49:32 +00:00
parent 429ffa8e7d
commit 4b19568f1b
6 changed files with 243 additions and 0 deletions

View File

@@ -6,6 +6,17 @@ in
extraPkgs // {
strace = prev.strace.override { libunwind = null; };
kexec-tools = prev.kexec-tools.overrideAttrs(o: {
patches = o.patches ++ [
(fetchpatch {
# merge user command line options into DTB chosen
url = "https://patch-diff.githubusercontent.com/raw/horms/kexec-tools/pull/3.patch";
hash = "sha256-MvlJhuex9dlawwNZJ1sJ33YPWn1/q4uKotqkC/4d2tk=";
})
pkgs/kexec-map-file.patch
];
});
s6 = prev.s6.overrideAttrs(o:
let patch = fetchpatch {
# add "p" directive in s6-log