[coreboot] FILO creating filo.conf

Alex Mauer hawke at hawkesnest.net
Mon Sep 15 20:42:49 CEST 2008

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
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"

More information about the coreboot mailing list