Messages in this thread | | | Subject | Re: Kernels > 1M | Date | Sun, 22 Aug 1999 15:14:33 -0700 | From | Zack Weinberg <> |
| |
"H. Peter Anvin" wrote: > Derek Wildstar wrote: > > > > So my question is, as things are now vmlinux requires extra processing > > before it can be loaded by a boot loader. What's the harm in using a boot > > loader that can handle the native linker format? Does it break other > > things? (I'll be the first to admit i don't know the internals of boot > > loaders, so forgive me and please correct me if i'm way off here) > > > > Yes, it breaks the entire boot protocol, with initrd etc, as well as > require a helluva lot more complex boot loader. Furthermore, it breaks > *all* existing boot loaders. vmlinux is *NOT* a complete Linux kernel > -- it only contains the 32-bit part. The hybrid 16/32-bit nature of the > i386/PC architecture unfortunately requires a 16-bit setup stage, which > cannot be well supported in this format.
[...] > In short, you're proposing a massive project, and hasn't come up with > any justification other than the fact that "the other guys do it", which > is no justification at all.
I think you're mistaken about the size of the project. Move the 16 bit setup code to setup_arch and convert for execution in protected mode. I don't say this is easy, but it won't take that long for someone who understands the platform inside out. The code to set up a v86 box and call the bios is already in apm.c. Now throw away that stupid parameter block and put everything on the kernel command line. Again, not necessarily easy, but short.
Now vmlinux is a complete image bootable by any loader that understands ELF. There are at least three of these already (grub; FreeBSD loader; Solaris/x86 /boot). Backward compatibility headers already exist; they're what was left after you whacked the hardware-banging code out of setup.S.
What's the win? It's easier to write a bootloader that can load multiple different OS's, because the "other guys" are _all_ using ELF images. Look at it that way, and it's not another format to support; it's two formats (zImage, bzImage) you no longer have to support. It is also easier to boot from environments other than bog standard PC. EFI and netboot come to mind.
zw
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |