From coreboot
Jump to: navigation, search

Based on Build_HOWTO and Board:gigabyte/ga-b75m-d3h with some board specific clarifications.


The board ships with two BIOS chips, see Gigabyte_Dual_bios for details.

Both BIOS chips (M and B) are [Macronix MX25L6406E]

Dumping the original BIOS

flashrom -p internal -c "MX25L6406E/MX25L6408E" -r MX25L6406E-MX25L6408E.bin 

Extracting descriptors.bin and me.bin

cd ./util/ifdtool
./ifdtool -x MX25L6406E-MX25L6408E.bin 

flashregion_0_flashdescriptor.bin and flashregion_2_intel_me.bin need to be used I've named them descriptor.bin and me.bin respectively.

Dumping VGA BIOS

Based on VGA_support and more specifically How to dump Video BIOS.

echo 1 > /sys/devices/pci0000:00/0000:00:02.0/rom
cat /sys/devices/pci0000:00/0000:00:02.0/rom > vgabios.bin
echo 0 > /sys/devices/pci0000:00/0000:00:02.0/rom

The resulting vbios.dump is 64K big in my case.

Obtaining PCI address of VGA

Because checking the obtained vgabios.bin with romheaders may return the incorrect PCI address we need to check this in a different way. Building Coreboot with vgabios.bin and an incorrect PCI address will result in Coreboot not loading the VGA BIOS.

lspci -vvvtnnn

Look for the address of the graphics controller

Intel Corporation Xeon E3-1200 v2/3rd Gen Core processor Graphics Controller [8086:0152]

So in my case the PCI address is 8086:0152

Configuring Coreboot

make menuconfig

Set "Mainboard" Gigabyte GA-B75M-D3V Under "Chipset" have "Add Intel descriptor.bin file" point to descriptor.bin and "Add Intel ME/TXE firmware" point to me.bin Under "Device" have "Add a VGA BIOS image" point to vgabios.bin and "VGA device PCI IDs" to contain your PCI address (8086,0152 in my case). Under "Payload" make sure SeaBIOS is added. Save configuration and exit


Flashing coreboot

sudo flashrom -p internal -c "MX25L6406E/MX25L6408E" -w build/coreboot.rom


For me booting with the VGA BIOS shows vertical grey/green lines for several seconds.

Console output

The board doesn't have a serial port at the back, but there are pin-headers at the bottom. The pin-headers are labeled "COM" and are ordered as follows

| 9| 7| 5| 3| 1|
|10| 8| 6| 4| 2|

Where 2 is RXD, 3 is TXD, and 5 is GND.

See Gigabyte manual for non-ascii art version.