Commit graph

3 commits

Author SHA1 Message Date
Hector Martin
4575b35479 rust: Initial Rust-based EFI FAT32 chainloader
This code is gated behind the CHAINLOADING define. To build a
release-style m1n1 with chainloading for use with the installer
or kmutil, use:

make CHAINLOADING=1 RELEASE=1

To tell m1n1 to chainload another binary, use this var payload:

chainload=<ESP partition UUID>;<file path>

e.g.

chainload=a17b7e46-e950-bb4f-bc82-8ab1047a058e;m1n1/m1n1.bin

Closes: #154
Co-authored-by: Finn Behrens <me@kloenk.dev>
Co-authored-by: Joey Gouly <joey.gouly@arm.com>
Signed-off-by: Hector Martin <marcan@marcan.st>
2022-03-09 22:01:42 +09:00
Hector Martin
92aca22119 heapblock: Remove payload_end logic for heap start
This no longer applies ever since we started doing in-place chainloads.

Signed-off-by: Hector Martin <marcan@marcan.st>
2021-12-17 22:26:54 +09:00
Hector Martin
0d4fb00ceb Makefile: Add a m1n1.bin target that builds a raw binary
This is to be used for the non-macho boot support in 12.1+ kmutil.

Signed-off-by: Hector Martin <marcan@marcan.st>
2021-12-17 21:46:55 +09:00