On 12 Nov 1999, Gordon Matzigkeit wrote:
> My reasoning is the same as Stephen Early's: adding VESA support has
> many similarities to adding serial console support. After 0.6, we
> should discuss the idea of how to break GRUB up into smaller modules,
> and then write a serial module, which would allow others to write a
> VESA module if they wanted without bloating the basic program or
> forcing us to do the work.
That wasn't actually my reasoning at all. I'll tell you a bit about my
background:
I'm an operating systems researcher. As part of my research I
occasionally write new operating systems. When I do this, my aim is to
get the system working enough to demonstrate my point, or obtain
measurements, or whatever, as quickly as possible. I don't have time
to write device drivers for each new operating system; it would be
completely unproductive.
I write operating systems that are compatible with the Multiboot
standard because it makes my job easier: I don't have to worry about
lots of 16-bit bootstrap code. The changes to the Multiboot standard
that I have suggested in the past have been aimed at making my life
easier, and possibly other people's as well.
I approve of the addition of alternative video mode support to the
Multiboot standard, because I would like some of my systems to be able
to produce graphical output. I don't have time to write drivers for
large numbers of video cards for each of my operating systems; it
would be much nicer, and would save a lot of duplication of effort, if
the bootloader would enter a video mode before starting my code.
I'm subscribed to the GRUB mailing list because this is where most of
the discussion about the Multiboot standard takes place. I have to
admit that I don't use GRUB for everything; it's very useful for
installations that don't change often, but less useful when testing
operating systems that require new kernels to be compiled every minute
or so. I generally use one machine to compile on, and another for
testing; the test machine loads the kernel over the network, and
console output is sent to the serial port.
For network booting I currently use Netboot, and a mknbi-multiboot
program that takes a multiboot kernel and modules and turns them into
a Netboot-compatible image. If (when?) GRUB gains serial console and
network loading support, I'll probably switch to it full time.
For some information on what I do:
http://www.cl.cam.ac.uk/Research/SRG/netos/
Steve Early