User:GNUtoo/Howto flash sgabios on an Nvidia video card: Difference between revisions

From flashrom
Jump to navigation Jump to search
(Move that "dangerous content" in its own page (still a sub-page inside my wiki user namespace))
 
No edit summary
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
=== Howto flash sgabios on an Nvidia video card ===
=== Howto flash sgabios on an Nvidia video card ===
==== Use case ====
==== Use case ====
[[File:SgaBIOS_serial.png | 600px]]
* Servers often lack a 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.
* Some blind people also lack a way to see the startup of the computer until the braille tablet is running.

Latest revision as of 21:17, 12 February 2015

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)