Right now, we use mkelfimage to set up parameter blocks for linux. There
is a lot of code to do this, and I am running out of room on OLPC. I
need to build tiny elf images with on executable code in them (other
than your kernel, of course).
I have modified mkelfimage so that it produces an elfimage with only 3
segments: command line, kernel, initrd. With this option, you can build
a very simple elfimage with just those three things.
There is the issue of setting up %esi for 386 linux. I am considering
the following convention:
architecture-independent part (src/boot/)
For the first PT_LOAD elf segment, assume it is the command line. Set a
variable, command_line, to the load address of this segment.
architecture-dependent, e.g. 386 (src/cpu/boot.c)
set %esi to command_line.
If you are using normal mkelfimage, this is a no-op: esi setting is
ignored. If you are using mkelfimage with my option (e.g. OLPC), this
address will be used as the command line pointer.
I can't see a problem, any comments?