Peter, I believe we shouldn't put it like "ELF versus Floppy" because
these ways are not mutually exclusive: they could be tried in
parallel, especially since Rafael's pursuit towards a working solution
also involves waiting for helpful replies from the mailing lists ;-)
Also, regarding SeaBIOS: I haven't observed any downsides from SeaBIOS
providing the BIOS environment. It may be arcane and not modern
anough, however it does not prevent anything from working: it either
helps something to work (e.g. some wonderful floppy-based OS which
relies on the BIOS calls) or simply being inactive if the OS is not
using this environment.
On Fri, Apr 19, 2019 at 3:12 PM Peter Stuge <peter@stuge.se> wrote:
>
> Rafael Send wrote:
> > I had already testes the coreboot + Linux kernel without SeaBIOS,
> > that works fine.
>
> That's a great start! So did you look into what happens under the
> hood when you do that, to learn?
>
> The original common case for coreboot payloads was also ELF files, so
> there is much overlap with what you want to achieve.
>
> You probably already noticed the tool mkelfimage in the pages I linked to.
> Did you look into what it does, and why it's needed in the first place?
> (Hint: Linux is a bit needy.)
>
>
> > But I do want the rest of the boot menu presented by SeaBIOS
> > because I usually use Windoze as well.
>
> SeaBIOS creates a BIOS environment when there isn't one. That is its
> key feature. This is a coffin for Windows to lie in.
>
> BIOS environments are just inadequate in general, and supremely ill
> equipped in particular for what you want to accomplish.
>
> Consider using SeaBIOS exclusively for what it was made; Windows coffin.
>
> Consider another payload before (time wise) SeaBIOS to provide the menu.
>
>
> > Even if I put the initrd inside the kernel, that can't be loaded by
> > SeaBIOS unless the whole thing is an ELF file, right?
>
> I guess so.
>
> The true-to-form BIOS way would probably be to put FreeDOS,
> loadlin.exe, kernel and initramfs into a disk image. So please don't do
> that. If you really want to, please be rational: Ask yourself why you
> want to first start the wrong OS in order to then start the right OS.
>
>
> > How would that step go (vmlinuz -> ELF)?
>
> I'd recommend to study what coreboot does. It's not trivial, but also
> not super complicated. The key point is that Linux needs a loader stub
> (code and data) to be generated. It's not possible to just jump right
> into the kernel and have it start. Unfortunately.
>
>
> //Peter
> _______________________________________________
> SeaBIOS mailing list -- seabios@seabios.org
> To unsubscribe send an email to seabios-leave@seabios.org