Joseph Smith wrote:
a byte for the boot method: 0 - firstboot or CMOS cleared(default) 1 - Manual Boot 2 - Command Line boot 3 - filo.conf boot
a byte for auto boot time out specified in seconds
and the rest for ASCII text which would include one of two things:
a kernel command line
Discussion on IRC seems to suggest that there are a couple of problems with this approach: 1. Size of the commandline. Linux allows for an unlimited command-line length. 2. Sharing among payloads. If, say, 128 bytes were allocated for this for FILO, that's 128 bytes less available to other payloads. (Anyone else who was involved with the discussion, feel free to add some if I missed them)
This is not to say that I agree with the severity of the problems. For the first, I think it's fine if coreboot imposes its own limit on the length of the commandline. The second one, I can't really argue with though. (except to say that it doesn't affect me; it'd be fine with me if filo's kernel commandline were to be overwritten by the gPXE's configuration or something.)
a pointer to filo.conf on the hard drive
For this one, it would (IMO) be sufficient to hard-code the configuration file location minus the drive itself, and then use a byte of CMOS to store which drive it's on. We could use the following values: 0x80 = first drive, 0x81= second drive ... Just (semi-) kidding on the values. Perhaps 0x61 (ASCII 'a') = filo hda:, 0x62 = filo hdb:, etc. would be more palatable though...or just 0x1, 0x2, etc for simplicity.
That then takes us to the question of how to consistently number the drives, but I'll leave that one alone for now and just say that when the first drive on my system shows up as hde:, that's *not* expected. :-D
Stefan also made mention of the possibility of using flashrom and allocating a portion of the main flash for kernel command lines and filo.conf locations.
-Alex Mauer "hawke"