Coreboot: Difference between revisions

From Free Geek Seattle
No edit summary
No edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
[[Category:Projects]]
=What's Coreboot?=
=What's Coreboot?=


Line 12: Line 14:


=How to coreboot=
=How to coreboot=
Here is an example:
http://www.settoplinux.org/index.php?title=RCA_RM4100:Howto_coreboot_and_Linux


==What you'll need==
==What you'll need==


Live linux with sshd OR flashrom installed
* Target system
* Source system for remote install (optional)
* Linux live for target system, needs flashrom (for local install) or sshd (for remote)
* Serial null-modem cable or network cable (for remote)


==Get hardware info==
==Get hardware info==
Line 29: Line 38:


No one knows how to do this. The developers didn't bother to document it. Too bad!
No one knows how to do this. The developers didn't bother to document it. Too bad!
Somewhere prebuilt images are available. Where? Who knows? They didn't document that either.
Source is gittable here:
$ git clone http://review.coreboot.org/p/coreboot
Maybe there is some documentation in the tree. Want to bet?


==Build payload==
==Build payload==


Same here.
See docs in source code, if any, and if you can actually get it.


==Flash image to CMOS==
==Flash image to CMOS==

Latest revision as of 20:01, 12 June 2014


What's Coreboot?[edit]

coreboot is an alternate firmware image for PC BIOS. It is tiny and only loads a "payload", usually a linux kernel or SEABIOS or such. http://www.coreboot.org/Welcome_to_coreboot

http://www.seabios.org/SeaBIOS

Why coreboot?[edit]

Because EFI. We can't grant or adopt hardware that contains locked non-free firmware. Regular BIOS are bad enough!

Regular BIOS are nasty binary blobs already. EFI potentially can prevent us from installing Free software on the machine, by restricting installs to Windows or whatever OS has a key it is configured to recognize.

How to coreboot[edit]

Here is an example:

http://www.settoplinux.org/index.php?title=RCA_RM4100:Howto_coreboot_and_Linux

What you'll need[edit]

  • Target system
  • Source system for remote install (optional)
  • Linux live for target system, needs flashrom (for local install) or sshd (for remote)
  • Serial null-modem cable or network cable (for remote)

Get hardware info[edit]

Coreboot needs to know what kind of flash memory you have and what kind of writer (programmer) is available.

Look here: http://www.coreboot.org/Support

Follow the directions.


Build coreboot image[edit]

No one knows how to do this. The developers didn't bother to document it. Too bad!

Somewhere prebuilt images are available. Where? Who knows? They didn't document that either.

Source is gittable here:

$ git clone http://review.coreboot.org/p/coreboot

Maybe there is some documentation in the tree. Want to bet?

Build payload[edit]

See docs in source code, if any, and if you can actually get it.

Flash image to CMOS[edit]

Use the flashrom tool to flash images to CMOS.

READ THE FLASHROM MANPAGE BEFORE YOU START

flashrom needs sudo

sudo flashrom -p internal

flashrom without parameters probes the local hardware. Use the -p option to specify a programmer.

Output on warthog:

flashrom v0.9.6.1-r1563 on Linux 3.2.0-4-amd64 (x86_64)
flashrom is free software, get the source code at http://www.flashrom.org

Calibrating delay loop... OK.
Found chipset "AMD Hudson". Enabling flash write... OK.
Found Winbond flash chip "W25Q32" (4096 kB, SPI) at physical address 0xffc00000.
No operations were specified.

PROFIT[edit]