Coreboot at Your Service!

 in
Don't let your PC's closed-source BIOS stop you from doing what you want with your hardware.

Once the configuration parameters are set, run make again to compile the library:

$ cd ../filo
$ make

Now you can set the options for FILO. Again, simply press Enter for all the prompts and accept the defaults.

Obviously, not all of the above options actually are needed. For instance, you don't need XFS, JFS or Minix support if your system boots off an ext2/ext3 partition. Once you've gotten everything running, you can come back and switch off the options you don't need, which will reduce the size of the coreboot image.

Notice the following line near the top of Listing 2:

GRUB menu.lst filename (MENULST_FILE) [hda3:/boot/grub/menu.lst]

My test EPIA-M II system has OpenSUSE 11.0 installed and uses the GRUB bootloader. I chose to include GRUB's interface support inside FILO, and this is the place to specify the location of GRUB's menu file. If you don't plan to use the GRUB interface (for instance, if your Linux distribution uses LILO for booting), you need to specify the correct line to load the kernel and initrd, as shown in Listing 3.

After setting the FILO's configuration parameters, compile FILO by running make again. The compiled loader is placed here: filo/build/filo.elf.

At this point, you've prepared the payload. Now, you need to generate a coreboot image. First, let's take a look at the config file that is used during the coreboot build (Listing 4):

$ cd coreboot-v2/targets/via/epia-m
$ vi Config.lb

______________________

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Some clarifications

Cristi Măgherușan's picture

Hi there,

@Anonymous: there's a list of supported hardware. Basically if your motherboard's components are already supported, the motherboard shouldn't be very hard to get working, but if this isn't the case, the needed work can be quite consistent.

@Boris: The v3 was dropped in favor of v2 and is now unmaintained (except for Via Epia targets). Many of v3's features were backported to v2, which still has much better hardware support than v3.

The coreboot wiki page is a good reading, and the people from the IRC channel or from the mailinglist are a great source of help also.

Thank you for the

bam's picture

Thank you for the article.
Could you try to boot the latest trunk version? I've tried to boot trunk svn revision 4974 but can't get even serial output from my epia-m.

Does it work on my box?

Anonymous's picture

How the heck can I find out whether coreboot will work on my machine? I'm using Linux, of course.

superiotool don't recognize my super i/o

Geek Guide
The DevOps Toolbox

Tools and Technologies for Scale and Reliability
by Linux Journal Editor Bill Childers

Get your free copy today

Sponsored by IBM

Webcast
8 Signs You're Beyond Cron

Scheduling Crontabs With an Enterprise Scheduler
On Demand
Moderated by Linux Journal Contributor Mike Diehl

Sign up and watch now

Sponsored by Skybot