|
|
Line 6: |
Line 6: |
| === Option roms === | | === Option roms === |
| Flashrom can be used to flash option roms such as ipxe or sgabios, they can respectively be flashed on network card and graphic card, but it's not mandatory: you can use any card as a carrier as long as the card is supported by flashrom and that the BIOS runs its option rom. | | Flashrom can be used to flash option roms such as ipxe or sgabios, they can respectively be flashed on network card and graphic card, but it's not mandatory: you can use any card as a carrier as long as the card is supported by flashrom and that the BIOS runs its option rom. |
|
| |
| == Examples ==
| |
|
| |
| === Howto flash sgabios on an Nvidia video card ===
| |
| ==== Use case ====
| |
| * Servers often lack a screen.
| |
| * Some blind people also lack a way to see the startup of the computer until the braille tablet is running.
| |
|
| |
| This Howto will help you transform your Nvidia video card in a something that send to a serial port what would have been displayed on the screen.
| |
| The card will probably stop working as a graphic card due to the lack of VGA option rom tailored to the card.
| |
|
| |
| The user is expected to see the output trough a serial console.
| |
|
| |
| ==== Howto ====
| |
|
| |
| Here's an example on how to flash sgabios on an Nvidia video card:
| |
| * download flashrom
| |
| * apply that patch:
| |
| diff --git a/gfxnvidia.c b/gfxnvidia.c
| |
| index d0a9feb..35e4687 100644
| |
| --- a/gfxnvidia.c
| |
| +++ b/gfxnvidia.c
| |
| @@ -110,7 +110,7 @@ int gfxnvidia_init(void)
| |
| rpci_write_long(dev, 0x50, reg32);
| |
|
| |
| /* Write/erase doesn't work. */
| |
| - programmer_may_write = 0;
| |
| + //programmer_may_write = 0;
| |
| register_par_programmer(&par_programmer_gfxnvidia, BUS_PARALLEL);
| |
|
| |
| return 0;
| |
| * compile it
| |
| * download and build sgabios
| |
| * Identify your flash chip size by running:
| |
| flashrom -pgfxnvidia
| |
| * save the content of the chip with:
| |
| flashrom -pgfxnvidia -r original.rom
| |
| * pad sgabios to the size of your flashchip:
| |
| dd if=/dev/zero of=sgabios.rom bs=1 count=65536
| |
| dd if=10b79200.rom of=sgabios.rom conv=notrunc
| |
| * flash it(and retry in case of failure, it has a high failure rate)
| |
|
| |
| ==== Howto flash ipxe on an 3com network card ====
| |
| TODO
| |
Usage scenarios
Boot firmware(BIOS/coreboot)
Flashrom can be used to flash BIOSes or Coreboot, trough internal or external programmers.
Option roms
Flashrom can be used to flash option roms such as ipxe or sgabios, they can respectively be flashed on network card and graphic card, but it's not mandatory: you can use any card as a carrier as long as the card is supported by flashrom and that the BIOS runs its option rom.