Difference between revisions of "FAQ"

From coreboot
Jump to navigation Jump to search
(LinuxBIOS -> coreboot name change (holding off on URLs, etc... until I can test them))
Line 1: Line 1:
== General ==
== General ==


=== What is LinuxBIOS ? ===
=== What is coreboot? ===


LinuxBIOS is a Free Software project aimed at replacing the proprietary BIOS (firmware) you can find in most of today's computers.
coreboot (formerly known as LinuxBIOS) is a Free Software project aimed at replacing the proprietary BIOS (firmware) you can find in most of today's computers.


It performs just a little bit of hardware initialization and then executes a so-called [[Payloads|payload]].
It performs just a little bit of hardware initialization and then executes a so-called [[Payloads|payload]].
Line 9: Line 9:
Some of the many possible payloads are: a [[Linux]] kernel, [[FILO]], [[GRUB2]], [http://www.openbios.org/ OpenBIOS], [http://www.openbios.org/Open_Firmware Open Firmware], [http://www.openbios.org/SmartFirmware SmartFirmware], [http://www.gnu.org/software/gnufi/ GNUFI] (UEFI), [[Etherboot]], [[ADLO]] (for booting [http://en.wikipedia.org/wiki/Windows_2000 Windows 2000] and [http://openbsd.org/ OpenBSD]), [[Plan 9]], or [[memtest86]].
Some of the many possible payloads are: a [[Linux]] kernel, [[FILO]], [[GRUB2]], [http://www.openbios.org/ OpenBIOS], [http://www.openbios.org/Open_Firmware Open Firmware], [http://www.openbios.org/SmartFirmware SmartFirmware], [http://www.gnu.org/software/gnufi/ GNUFI] (UEFI), [[Etherboot]], [[ADLO]] (for booting [http://en.wikipedia.org/wiki/Windows_2000 Windows 2000] and [http://openbsd.org/ OpenBSD]), [[Plan 9]], or [[memtest86]].


Our primary motivation for the project was maintenance of large clusters, but not surprisingly interest and contributions have come from people with varying backgrounds. Today LinuxBIOS can be used in a wide variety of scenarios, ranging from clusters, embedded systems, desktop PCs, servers and more.
Our primary motivation for the project was maintenance of large clusters, but not surprisingly interest and contributions have come from people with varying backgrounds. Today coreboot can be used in a wide variety of scenarios, ranging from clusters, embedded systems, desktop PCs, servers and more.


=== Why do we need LinuxBIOS? ===
=== Why do we need coreboot? ===


==== Why do we need LinuxBIOS for cluster maintainance? ====
==== Why do we need coreboot for cluster maintainance? ====


Current PCs used as cluster nodes depend on a vendor-supplied BIOS for booting. The BIOS in turn relies on inherently unreliable devices such as floppy disks and hard drives to boot the operating system. In addition, current BIOS software is unable to accommodate non-standard hardware making it difficult to support experimental work. The BIOS is slow and often erroneous and redundant and, most importantly, maintenance is a nightmare. Imagine walking around with a keyboard and monitor to every one of the 128 nodes in a cluster to change one BIOS setting.  
Current PCs used as cluster nodes depend on a vendor-supplied BIOS for booting. The BIOS in turn relies on inherently unreliable devices such as floppy disks and hard drives to boot the operating system. In addition, current BIOS software is unable to accommodate non-standard hardware making it difficult to support experimental work. The BIOS is slow and often erroneous and redundant and, most importantly, maintenance is a nightmare. Imagine walking around with a keyboard and monitor to every one of the 128 nodes in a cluster to change one BIOS setting.  


LinuxBIOS with Linux as a [[Payloads|payload]] (other payloads are possible!) gunzip's the Linux kernel straight out of NVRAM and essentially requires no moving parts other than the fan. It does a minimal amount of hardware initialization before jumping to the kernel start and lets Linux do the rest. As a result, it is much faster (current record 3 seconds), which has sparked interest in the consumer electronics community as well. Moreover, updates can be performed over the network.  
coreboot with Linux as a [[Payloads|payload]] (other payloads are possible!) gunzip's the Linux kernel straight out of NVRAM and essentially requires no moving parts other than the fan. It does a minimal amount of hardware initialization before jumping to the kernel start and lets Linux do the rest. As a result, it is much faster (current record 3 seconds), which has sparked interest in the consumer electronics community as well. Moreover, updates can be performed over the network.  






==== Why do we need LinuxBIOS for other purposes? ====
==== Why do we need coreboot for other purposes? ====


Some aspects of DRM are not travelling well with the idea of a free computer system. As many computer magazines already pointed out, there may be future restrictions imposed by BIOSes, that a customer is little aware of before purchase and might not harmonize with the idea of freedom and/or security in some cases.
Some aspects of DRM are not travelling well with the idea of a free computer system. As many computer magazines already pointed out, there may be future restrictions imposed by BIOSes, that a customer is little aware of before purchase and might not harmonize with the idea of freedom and/or security in some cases.


=== Who is working on LinuxBIOS? ===
=== Who is working on coreboot? ===


The LinuxBIOS project was started in the winter of 1999 in the Advanced Computing Laboratory at Los Alamos National Laboratory (LANL) by [[User:Rminnich|Ron Minnich]]. Two undergraduate students, James Hendricks and Dale Webster spent their winter vacation putting together the proof of concept implementation.  
The coreboot project was started in the winter of 1999 in the Advanced Computing Laboratory at Los Alamos National Laboratory (LANL) by [[User:Rminnich|Ron Minnich]]. Two undergraduate students, James Hendricks and Dale Webster spent their winter vacation putting together the proof of concept implementation.  


Since then, a [[Contributors|long list of people have contributed]] both in discussions and actual code. Please don't be shy and let us know if you are missing from the list. It's not a purposeful omission, just an unfortunate mistake.
Since then, a [[Contributors|long list of people have contributed]] both in discussions and actual code. Please don't be shy and let us know if you are missing from the list. It's not a purposeful omission, just an unfortunate mistake.


=== Who is funding LinuxBIOS? ===
=== Who is funding coreboot? ===


The LinuxBIOS project is funded by the Los Alamos Computer Science Institute and the Department of Energy's Office of Science.
The LinuxBIOS project is funded by the Los Alamos Computer Science Institute and the Department of Energy's Office of Science.
Line 39: Line 39:
== Users ==
== Users ==


=== Will LinuxBIOS work on my machine? ===
=== Will coreboot work on my machine? ===


See the [[Supported Motherboards]] page for which mainboards are supported, and also the list of [[Supported Chipsets and Devices]]. See the [[Products]] page for a list of vendors selling products running LinuxBIOS.
See the [[Supported Motherboards]] page for which mainboards are supported, and also the list of [[Supported Chipsets and Devices]]. See the [[Products]] page for a list of vendors selling products running coreboot.


If the above sources don't help, please send the following to the [[Mailinglist|mailing list]]:
If the above sources don't help, please send the following to the [[Mailinglist|mailing list]]:
Line 54: Line 54:
If you can't do step 1 above, please describe (as best you can) the specific CPU chip and the chipset used on the mainboard.
If you can't do step 1 above, please describe (as best you can) the specific CPU chip and the chipset used on the mainboard.


Usually in less than a day, someone will respond on the LinuxBIOS mailing list saying your mainboard is supported in the main LinuxBIOS source tree, it is currently in development, it is not yet supported or the manufacturer will not release information needed to provide LinuxBIOS support. In the latter case, please let the manufacturer know that you want LinuxBIOS support and his failure to release chipset information is making that very difficult.
Usually in less than a day, someone will respond on the coreboot mailing list saying your mainboard is supported in the main coreboot source tree, it is currently in development, it is not yet supported or the manufacturer will not release information needed to provide coreboot support. In the latter case, please let the manufacturer know that you want coreboot support and his failure to release chipset information is making that very difficult.


=== What commercial products use LinuxBIOS? ===
=== What commercial products use coreboot? ===


See the [[products]] page.
See the [[products]] page.


=== Which different operating systems will LinuxBIOS boot? ===
=== Which different operating systems will coreboot boot? ===


LinuxBIOS should support almost any modern operating system '''which does not make [http://en.wikipedia.org/wiki/BIOS_interrupt_call BIOS calls]''':
coreboot should support almost any modern operating system '''which does not make [http://en.wikipedia.org/wiki/BIOS_interrupt_call BIOS calls]''':


* Linux (of course)
* Linux (of course)
Line 68: Line 68:
* Windows 2000 (via [[ADLO]])
* Windows 2000 (via [[ADLO]])


LinuxBIOS does '''not''' support:
coreboot does '''not''' support:


* We have tested some of the BSD OSes and have seen, that FreeBSD for example makes BIOS calls, which is not supported by LinuxBIOS. Possibly with help of the tool ''ADLO'', it may be possible to boot FreeBSD like it is now, but the right thing to do, is to remove FreeBSD's dependence on BIOS calls.
* We have tested some of the BSD OSes and have seen, that FreeBSD for example makes BIOS calls, which is not supported by coreboot. Possibly with help of the tool ''ADLO'', it may be possible to boot FreeBSD like it is now, but the right thing to do, is to remove FreeBSD's dependence on BIOS calls.
* any DOS  
* any DOS  
* Windows versions older than Windows 2000 (they make BIOS calls) — (Does [[ADLO]] work with those versions?)
* Windows versions older than Windows 2000 (they make BIOS calls) — (Does [[ADLO]] work with those versions?)
* [http://www.menuetos.net/ MenuetOS] (makes BIOS calls)
* [http://www.menuetos.net/ MenuetOS] (makes BIOS calls)


It appears feasible, however, to introduce some "legacy support" to LinuxBIOS in the future to support OSes like the abovementioned.
It appears feasible, however, to introduce some "legacy support" to coreboot in the future to support OSes like the abovementioned.


=== What chipsets and Super I/O devices are supported? ===
=== What chipsets and Super I/O devices are supported? ===
Line 85: Line 85:
See [[Mailinglist]].
See [[Mailinglist]].


=== Is there a LinuxBIOS IRC channel? ===
=== Is there a coreboot IRC channel? ===


Yes, see [[IRC]].
Yes, see [[IRC]].
Line 93: Line 93:
See the [[Download LinuxBIOS|download page]].
See the [[Download LinuxBIOS|download page]].


=== How do I build LinuxBIOS? ===
=== How do I build coreboot? ===


See the [[documentation]].
See the [[documentation]].


=== How can I help with LinuxBIOS? ===
=== How can I help with coreboot? ===


There are many ways how you can help us:
There are many ways how you can help us:
* Promote LinuxBIOS, tell all your friends about it, blog about it etc.
* Promote coreboot, tell all your friends about it, blog about it etc.
* Test LinuxBIOS, [http://tracker.linuxbios.org/trac/LinuxBIOS/newticket report] any bugs you find, or let us know about any suggestions for improvements you have.
* Test coreboot, [http://tracker.linuxbios.org/trac/LinuxBIOS/newticket report] any bugs you find, or let us know about any suggestions for improvements you have.
* Help us to make the list of [[Supported Motherboards]] and the list of [[Supported Chipsets and Devices]] bigger by contributing code. Please also read the [[Development Guidelines]] in that case.
* Help us to make the list of [[Supported Motherboards]] and the list of [[Supported Chipsets and Devices]] bigger by contributing code. Please also read the [[Development Guidelines]] in that case.
* If you have a mainboard with USB2 (EHCI-controller) you can look if it supports the ''[[EHCI_Debug_Port|Debug Port]]'' and mail the information to us, if it is not already there.
* If you have a mainboard with USB2 (EHCI-controller) you can look if it supports the ''[[EHCI_Debug_Port|Debug Port]]'' and mail the information to us, if it is not already there.
* If you are familiar with microcontroller development, you might be able to build a debugging tool for the [[EHCI_Debug_Port|Debug Port]]. If you are successful, we like to hear about it.
* If you are familiar with microcontroller development, you might be able to build a debugging tool for the [[EHCI_Debug_Port|Debug Port]]. If you are successful, we like to hear about it.
* Test, if QNX or Solaris are able to boot on a mainboard with LinuxBIOS.
* Test, if QNX or Solaris are able to boot on a mainboard with coreboot.
* Have a look at the [http://tracker.linuxbios.org/trac/LinuxBIOS/report/1 list of open issues/bugs] and try to reproduce them or (preferrably) fix them.
* Have a look at the [http://tracker.linuxbios.org/trac/LinuxBIOS/report/1 list of open issues/bugs] and try to reproduce them or (preferrably) fix them.
* Contact [[User:Rminnich|Ron Minnich]] or [[User:Stepan|Stefan Reinauer]] for bigger projects related to LinuxBIOS.
* Contact [[User:Rminnich|Ron Minnich]] or [[User:Stepan|Stefan Reinauer]] for bigger projects related to coreboot.
* Contact us on the [[Mailinglist|mailing list]] if you have any further questions or suggestions.
* Contact us on the [[Mailinglist|mailing list]] if you have any further questions or suggestions.


Line 118: Line 118:
=== Where can I buy BIOS chips (empty or pre-flashed)? ===
=== Where can I buy BIOS chips (empty or pre-flashed)? ===


When developing or simply trying out LinuxBIOS you always need a means to revert to your old BIOS in case something goes wrong. One way to do this is to get an extra BIOS chip (PLCC or DIP) and copy your original BIOS image onto that chip (using [[Flashrom]], for example). If you have a socketed BIOS (not soldered onto the mainboard), you can hot-swap the chips while your computer is running.  
When developing or simply trying out coreboot you always need a means to revert to your old BIOS in case something goes wrong. One way to do this is to get an extra BIOS chip (PLCC or DIP) and copy your original BIOS image onto that chip (using [[Flashrom]], for example). If you have a socketed BIOS (not soldered onto the mainboard), you can hot-swap the chips while your computer is running.  


You have several options to get spare BIOS chips:
You have several options to get spare BIOS chips:
Line 136: Line 136:
=== What kind of hardware tools do I need? ===
=== What kind of hardware tools do I need? ===


A motherboard (or mainboard as LinuxBIOS calls it) that has a supported chipset on it. Ok... well not exactly. As long as you have the documentation for the chipset/mainboard and it's free of any NDA issues you can use an unsupported chipset/mainboard, but you have a twisty road ahead of you.
A motherboard (or mainboard as coreboot calls it) that has a supported chipset on it. Ok... well not exactly. As long as you have the documentation for the chipset/mainboard and it's free of any NDA issues you can use an unsupported chipset/mainboard, but you have a twisty road ahead of you.
And of course you need a Linux development machine. The LinuxBIOS build environment is not supported on Windows. It may be possible to do it under cygwin but nobody has tried.
And of course you need a Linux development machine. The coreboot build environment is not supported on Windows. It may be possible to do it under cygwin but nobody has tried.
It's also handy to have one/some/all of the following:
It's also handy to have one/some/all of the following:
Line 147: Line 147:
The PLAICE is a powerful in circuit development tool that combines the features of programming and emulating FLASH devices as well as high speed multi-channel logic analysis into one device.
The PLAICE is a powerful in circuit development tool that combines the features of programming and emulating FLASH devices as well as high speed multi-channel logic analysis into one device.


The FLASH BIOS emulator feature will help speed development of LinuxBIOS porting since the developer will no longer have to wait for either swapping FLASH devices or for lengthy FLASH programming cycles.
The FLASH BIOS emulator feature will help speed development of coreboot porting since the developer will no longer have to wait for either swapping FLASH devices or for lengthy FLASH programming cycles.


The design will also perform as a multi-channel logic analyzer with a JAVA client.
The design will also perform as a multi-channel logic analyzer with a JAVA client.
Line 204: Line 204:
==== POST card ====
==== POST card ====


A POST card will save your life: it's the only output device (beside beeper) you have during the boot process. The term POST means Power On Self Test and comes from the original IBM specifications for the BIOS. Port 80 is a pre-defined port to which programs can output a byte. The POST card displays the byte in hex on its 2 digit display. We use a lot of POST codes in LinuxBIOS, so if you can tell us the POST code you see, we will have some idea of what happened.  
A POST card will save your life: it's the only output device (beside beeper) you have during the boot process. The term POST means Power On Self Test and comes from the original IBM specifications for the BIOS. Port 80 is a pre-defined port to which programs can output a byte. The POST card displays the byte in hex on its 2 digit display. We use a lot of POST codes in coreboot, so if you can tell us the POST code you see, we will have some idea of what happened.  


If your LinuxBIOS machine is working properly, you will see it count up from 0xd0 to 0xd9 (while it is gunzipping the kernel) and then display 0x98 (Linux idle loop). There are POST cards with ISA bus, PCI bus, USB und parallel port connectors (the latter for laptops).
If your coreboot machine is working properly, you will see it count up from 0xd0 to 0xd9 (while it is gunzipping the kernel) and then display 0x98 (Linux idle loop). There are POST cards with ISA bus, PCI bus, USB und parallel port connectors (the latter for laptops).


Often they carry status LEDs for ISA/PCI signals such as: IRDY, BIOS-access, FRAME, OSC, PCI-CLK, RESET, 12V, -12V, 5V, -5V, 3.3V. Some cards were known to not function because the mainboard switches off the CLK on their slot after non-standard registration on PCI.
Often they carry status LEDs for ISA/PCI signals such as: IRDY, BIOS-access, FRAME, OSC, PCI-CLK, RESET, 12V, -12V, 5V, -5V, 3.3V. Some cards were known to not function because the mainboard switches off the CLK on their slot after non-standard registration on PCI.
Line 227: Line 227:
==== Null-modem cable ====
==== Null-modem cable ====


A so-called null-modem cable is used for transmitting the output from a serial LinuxBIOS (or GRUB- or Linux-) console to another computer where a terminal program (such as [[minicom]]) can be used to display/save the messages.
A so-called null-modem cable is used for transmitting the output from a serial coreboot (or GRUB- or Linux-) console to another computer where a terminal program (such as [[minicom]]) can be used to display/save the messages.


<gallery>
<gallery>
Line 254: Line 254:
allows very time-saving burn/debug cycles with added tracing capabilities but somewhat costly. Ownership makes you a true geek, however ;-)
allows very time-saving burn/debug cycles with added tracing capabilities but somewhat costly. Ownership makes you a true geek, however ;-)


==== LinuxBIOS SDK ====
==== coreboot SDK ====


* http://www.cwlinux.com/eng/products/products_sdk.php
* http://www.cwlinux.com/eng/products/products_sdk.php
Line 279: Line 279:
See also [[EHCI Debug Port]].
See also [[EHCI Debug Port]].


=== How do I use a null-modem cable to get LinuxBIOS debugging output over a serial port? ===
=== How do I use a null-modem cable to get coreboot debugging output over a serial port? ===


* First, you'll want to set up a terminal program, e.g. '''minicom''' correctly.
* First, you'll want to set up a terminal program, e.g. '''minicom''' correctly.
Line 298: Line 298:
As much documentation as you can possibly get your hands on.  At minimum, you will need the docs for the chipset.
As much documentation as you can possibly get your hands on.  At minimum, you will need the docs for the chipset.
There have been reports of people getting LinuxBIOS working by booting with the OEM BIOS. Then, they would read the static contents of the PCI config registers after boot. LinuxBIOS is then built to match the static contents read from the PCI config registers.  
There have been reports of people getting coreboot working by booting with the OEM BIOS. Then, they would read the static contents of the PCI config registers after boot. coreboot is then built to match the static contents read from the PCI config registers.  


The problem with this approach is that chipsets generally require dynamic vs static configuration values during their initialization. The configuration register contents will change from one stage of initialization to the next. Since the contents of the registers read is only the final state of the configuration registers, the chipset won't be properly initialized if these are the only configuration values used.
The problem with this approach is that chipsets generally require dynamic vs static configuration values during their initialization. The configuration register contents will change from one stage of initialization to the next. Since the contents of the registers read is only the final state of the configuration registers, the chipset won't be properly initialized if these are the only configuration values used.
Line 306: Line 306:
=== What if my chipset docs are covered by an NDA? ===
=== What if my chipset docs are covered by an NDA? ===


If the documentation for your chipset covered by a NDA with no source release agreement, you won't be able to release your code back to the LinuxBIOS project in general, or you will violate the GPL.
If the documentation for your chipset covered by a NDA with no source release agreement, you won't be able to release your code back to the coreboot project in general, or you will violate the GPL.
Many vendors accept releasing the source code, produced after reading such specs, while they don't allow the specs themselves to be revealed. Also, you can offer them the opportunity to review your code, before releasing it to the public.
Many vendors accept releasing the source code, produced after reading such specs, while they don't allow the specs themselves to be revealed. Also, you can offer them the opportunity to review your code, before releasing it to the public.


Line 350: Line 350:


===== General =====
===== General =====
LinuxBIOS v2 contains a flash utility called flashrom in the util/flashrom directory. (Old versions had "util/flash_and_burn/flash_rom" instead).
coreboot v2 contains a flash utility called flashrom in the util/flashrom directory. (Old versions had "util/flash_and_burn/flash_rom" instead).


Example:
Example:
Line 401: Line 401:
* Step 4 - Program the original BIOS image (or other known good BIOS image) into the RD1's integrated flash device. Do this as many times as needed until the device is properly programmed and the system boots corectly from the RD1's integrated flash device. Be sure to check the settings on the RD1 so that the proper flash device is now being programmed. If the RD1 is not set correctly the working BIOS image will be erased and the system will not boot!
* Step 4 - Program the original BIOS image (or other known good BIOS image) into the RD1's integrated flash device. Do this as many times as needed until the device is properly programmed and the system boots corectly from the RD1's integrated flash device. Be sure to check the settings on the RD1 so that the proper flash device is now being programmed. If the RD1 is not set correctly the working BIOS image will be erased and the system will not boot!


* Step 5 - Program the test BIOS image (usually LinuxBIOS images are among this group) into the original flash device from the mainboard. The original BIOS device usually programs OK on the first attempt. Be sure to check the settings again on the RD1 so that the proper flash device is being programmed!
* Step 5 - Program the test BIOS image (usually coreboot images are among this group) into the original flash device from the mainboard. The original BIOS device usually programs OK on the first attempt. Be sure to check the settings again on the RD1 so that the proper flash device is being programmed!




Line 439: Line 439:
There's a good description of the BIOS implementation of the PIRQ in the ''red PCI book'', and here's a [http://www.microsoft.com/whdc/archive/pciirq.mspx description of the $PIR data structure].
There's a good description of the BIOS implementation of the PIRQ in the ''red PCI book'', and here's a [http://www.microsoft.com/whdc/archive/pciirq.mspx description of the $PIR data structure].


LinuxBIOS saves the $PIR data structure between 0xf0000 & 0x100000. Search for $PIR and then save it before copying over the BIOS.
coreboot saves the $PIR data structure between 0xf0000 & 0x100000. Search for $PIR and then save it before copying over the BIOS.


See also the [http://tracker.linuxbios.org/trac/LinuxBIOS/browser/trunk/LinuxBIOSv1/util/ADLO/pirq/README ADLO README] for more information.
See also the [http://tracker.linuxbios.org/trac/LinuxBIOS/browser/trunk/LinuxBIOSv1/util/ADLO/pirq/README ADLO README] for more information.


=== How do I set up etherboot with LinuxBIOS? ===
=== How do I set up etherboot with coreboot? ===


Note from Ron: I have edited this somewhat to remove Geode-specific items.  
Note from Ron: I have edited this somewhat to remove Geode-specific items.  
Line 500: Line 500:
=== How do I set GEODE graphics and video? ===
=== How do I set GEODE graphics and video? ===


There is no Geode graphics support in LinuxBIOS. Install the Geode framebuffer driver for console graphics and the X driver for X support on your Geode Linux image. Current kernel and X distributions contain the required drivers. Until the driver loads there is only serial console output.
There is no Geode graphics support in coreboot. Install the Geode framebuffer driver for console graphics and the X driver for X support on your Geode Linux image. Current kernel and X distributions contain the required drivers. Until the driver loads there is only serial console output.


Driver source:
Driver source:
Line 532: Line 532:
in DOS debug.exe.
in DOS debug.exe.


=== Is LinuxBIOS applying x86 microcode patches? ===
=== Is coreboot applying x86 microcode patches? ===


And if yes, can they be modified?
And if yes, can they be modified?
Line 540: Line 540:
=== How can I retrieve a good video bios? ===
=== How can I retrieve a good video bios? ===


Note: if you are following these instructions to build LinuxBIOS for your motherboard, this is only necessary if you have a motherboard with an embedded VGA card. If your VGA is an add-on card, LinuxBIOS will find and run the ROM by itself.
Note: if you are following these instructions to build coreboot for your motherboard, this is only necessary if you have a motherboard with an embedded VGA card. If your VGA is an add-on card, coreboot will find and run the ROM by itself.


Anton Borisov has released a number of tools under the GPL (v2) to extract the VGA BIOS from the BIOS ROM images provided by the supplier of your motherboard.
Anton Borisov has released a number of tools under the GPL (v2) to extract the VGA BIOS from the BIOS ROM images provided by the supplier of your motherboard.

Revision as of 17:03, 17 January 2008