From flashrom
Jump to navigation Jump to search

Usage scenarios

Boot firmware(BIOS/coreboot)

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.


Howto flash sgabios on an Nvidia video card

Use case

This Howto will help you transform your Nvidia video card in a card that send to a serial port what would have been displayed on the screen.

It's usefull for instance to see the BIOS at startup when you lack a screen.


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