Usage: Difference between revisions

From flashrom
Jump to navigation Jump to search
Line 10: Line 10:
=== Howto flash sgabios on an Nvidia video card ===
=== Howto flash sgabios on an Nvidia video card ===
==== Use case ====
==== 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.
* 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.


It's usefull for instance to see the BIOS at startup when you lack a screen.
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.


==== Howto ====
==== Howto ====

Revision as of 15:15, 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

  • 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.

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