On Tue, Jan 24, 2012 at 1:25 PM, Peter Maydell peter.maydell@linaro.org wrote:
On 24 January 2012 12:11, Zygmunt Krynicki zygmunt.krynicki@linaro.org wrote:
On Tue, Jan 24, 2012 at 12:51 PM, Peter Maydell peter.maydell@linaro.org wrote:
The boot-wrapper basically wraps up: * kernel * initrd (optionally) * kernel command line string * some trivial boot code to set up and launch the kernel into one AXF (ELF) file.
Can we reserve a few more bytes and patch the command line before launching? This would allow me to write the infrastructure code without waiting on your (better) fix with one-axf-to-rulle-them-all (see the bottom of this message).
It's not quite as easy as just adding some spare NULs after the string, because the command line is embedded in an ATAG list. If you look at the bottom of boot.S you can see this. So you'd need to stick the NULs at the end of the ATAG list, move the ATAGS after ATAG_CMDLINE up/down when you edited the command line, and update the length field in the ATAG_CMDLINE node itself.
While that could work for the moment I'll focus on the barebones API. If you can create a a15 boot trampoline axf then we will adopt that. Otherwise we'll fall-back to patching axfs.
I'll start a repository with the initial code I'm working on and post back.
I did post a few updates, the one that is still missing is the moment when you install a few more pacakges built with xapt (I actually installed all of them). In the end I think this should be split and specialized (basic 15 working, qemu-in-a15, etc etc). To let people validate the instructions are accurate.
I specifically avoided installing all the packages xapt generates because the general recommendation for xapt is not to pollute your system with them, so I cut the list down to the bare minimum that worked. If you're installing in a dev-use-only chroot or vm then it's less important to keep it clean, of course.
I'm sure I had to install at least two more and I still was missing more. Still, I understand the reasons for keeping systems tidy.
ZK