Usage: Difference between revisions

From flashrom
Jump to navigation Jump to search
Line 8: Line 8:
== Examples ==
== Examples ==


==== Howto flash sgabios on an Nvidia video card ====
=== 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.
 
==== Howto ====
 
Here's an example on how to flash sgabios on an Nvidia video card:
Here's an example on how to flash sgabios on an Nvidia video card:
* download flashrom
* download flashrom
Line 29: Line 36:
* Identify your flash chip size by running:
* Identify your flash chip size by running:
  flashrom -pgfxnvidia
  flashrom -pgfxnvidia
* save the content of the chip with:
flashrom -pgfxnvidia -r original.rom
* pad sgabios to the size of your flashchip:
* pad sgabios to the size of your flashchip:
  dd if=/dev/zero of=sgabios.rom bs=1 count=65536
  dd if=/dev/zero of=sgabios.rom bs=1 count=65536

Revision as of 15:12, 4 May 2013

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.

Examples

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.

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