On Wed, Jun 11, 2003 at 11:20:23PM -0600, Eric W. Biederman wrote:
In the source of mkelfImage, linux-i386/convert_params.c, there is some code to retrieve information like memory map from Multiboot information structure. However, ELF images created by mkelfImage does not have Multiboot header, according to 'mbchk' of GRUB boot loader. In what situation is this code supposed to run (and tested)?
The partial multiboot support in etherboot, is where it was used.
Thanks for the information.
If one added a (trivial) Multiboot header in the head.S, the resulting kernel could be loaded from GRUB, while it could also be loaded by ELF boot of LinuxBIOS and Etherboot?
It probably could. And I would not have a problem with something like that in theory. The multiboot spec is quite poorly done, so I am not a major fan. I think I would prefer to just add a dummy elf segment at the start of the file with that information in it. From mkelfImage 2.5 that would probably be the easiest thing to do.
I couldn't find an easy way to do it. What PT_* type would that segment have?
I would almost rather fix GRUB to use something sensible and portable like ELF notes. The multiboot data structure is a disaster in terms of both future expansion, and of expansion by multiple groups.
I considered to add ELFboot support to GRUB, but adding Multiboot header to ELF kernel looked much easier.
-- Takeshi