I love these kinds of writeups, thank you!
How did you determine what addresses to read things into? (the chainloaded bootloader, then its initrd/ FDT / etc.).
How did you determine what addresses to read things into? (the chainloaded bootloader, then its initrd/ FDT / etc.).
I'm a hobbyist that's been tinkering with uboot now and again for years and can never figure out the right addresses for stuff, or where / how to learn this.
I assume this memory is subsequently released for the OS? Or does the OS just work around it?
Are you hobbling your runtime experience in some way if you load to the wrong address?
I think (not entirely sure) that the kernel gets relocated to a more or less fixed address in memory anyway, this won't affect your runtime experience.