Difference between revisions of "Board:kontron/986lcd-m"

From coreboot
Jump to: navigation, search
m
(Revert random crap inserted/modified by the graphical editor UI.)
Line 1: Line 1:
[[Image:Kontron 986lcd m mitx top.jpg|thumb|Top]] [[Image:Kontron 986lcd m mitx side.jpg|thumb|Side]] [[Image:Kontron 986lcd m mitx backpanel.jpg|thumb|Backpanel]] [[Image:Kontron 986lcd m mitx with power supply.jpg|thumb|Board and power supply]]  
+
[[Image:Kontron 986lcd m mitx top.jpg|thumb|Top]]
 +
[[Image:Kontron 986lcd m mitx side.jpg|thumb|Side]]
 +
[[Image:Kontron 986lcd m mitx backpanel.jpg|thumb|Backpanel]]
 +
[[Image:Kontron 986lcd m mitx with power supply.jpg|thumb|Board and power supply]]
  
This page describes how to use coreboot on the '''[http://de.kontron.com/products/boards+and+mezzanines/embedded+motherboards/miniitx+motherboards/986lcdmmitx.html Kontron 986LCD-M/mITX]''' mainboard. It is maintained by [[User:Uwe|Uwe Hermann]].  
+
This page describes how to use coreboot on the '''[http://de.kontron.com/products/boards+and+mezzanines/embedded+motherboards/miniitx+motherboards/986lcdmmitx.html Kontron 986LCD-M/mITX]''' mainboard. It is maintained by [[User:Uwe|Uwe Hermann]].
  
The mainboard's [http://emea.kontron.com/_etc/scripts/download/getdownload.php?downloadId=NTYzMA== manual] (PDF) is available from the [http://de.kontron.com/products/boards+and+mezzanines/embedded+motherboards/miniitx+motherboards/986lcdmmitx.html vendor website] (together with various other documents).  
+
The mainboard's [http://emea.kontron.com/_etc/scripts/download/getdownload.php?downloadId=NTYzMA== manual] (PDF) is available from the [http://de.kontron.com/products/boards+and+mezzanines/embedded+motherboards/miniitx+motherboards/986lcdmmitx.html vendor website] (together with various other documents).
  
== Status ==
+
== Status ==
  
 
{{Status|
 
{{Status|
Line 111: Line 114:
 
|Flashrom_comments = Works fine, but you have to use '''-m kontron:986lcd-m''' when booted with the vendor BIOS (not needed when booted with coreboot).
 
|Flashrom_comments = Works fine, but you have to use '''-m kontron:986lcd-m''' when booted with the vendor BIOS (not needed when booted with coreboot).
  
}}  
+
}}
  
== Build tutorial (without onboard VGA) ==
+
== Build tutorial (without onboard VGA) ==
  
 
  $ svn co svn://coreboot.org/repos/trunk/coreboot-v2
 
  $ svn co svn://coreboot.org/repos/trunk/coreboot-v2
Line 120: Line 123:
 
  $ cd kontron/986lcd-m/kontron_986lcd_m
 
  $ cd kontron/986lcd-m/kontron_986lcd_m
  
Now copy your [[Payloads|payload]] into the current directory and name it '''payload.elf'''. Then:  
+
Now copy your [[Payloads|payload]] into the current directory and name it '''payload.elf'''. Then:
  
 
  $ make -s
 
  $ make -s
  
The resulting '''coreboot.rom''' is your coreboot ROM image you can flash using [[Flashrom]].  
+
The resulting '''coreboot.rom''' is your coreboot ROM image you can flash using [[flashrom]].
  
== Build tutorial (with onboard VGA) ==
+
== Build tutorial (with onboard VGA) ==
  
 
  $ svn co svn://coreboot.org/repos/trunk/coreboot-v2
 
  $ svn co svn://coreboot.org/repos/trunk/coreboot-v2
 
  $ cd coreboot-v2/targets
 
  $ cd coreboot-v2/targets
  
In order to use on-board VGA you have to use the VGA blob from the vendor BIOS, and modify the coreboot config files a bit. Edit '''src/mainboard/kontron/986lcd-m/Config.lb''' in the section starting with '''chip drivers/pci/onboard'''. Depending on whether you use a 1 MB, 512 KB, or 256 KB ROM chip, you'll have to set the correct '''rom_address''' value:  
+
In order to use on-board VGA you have to use the VGA blob from the vendor BIOS, and modify the coreboot config files a bit. Edit '''src/mainboard/kontron/986lcd-m/Config.lb''' in the section starting with '''chip drivers/pci/onboard'''. Depending on whether you use a 1 MB, 512 KB, or 256 KB ROM chip, you'll have to set the correct '''rom_address''' value:
  
 
  chip drivers/pci/onboard
 
  chip drivers/pci/onboard
Line 140: Line 143:
 
  end
 
  end
  
Then, you have to obtain the VGA blob from the vendor BIOS. Thus, get the original vendor BIOS image using [[Flashrom]]:  
+
Then, you have to obtain the VGA blob from the vendor BIOS. Thus, get the original vendor BIOS image using [[Flashrom]]:
  
 
  $ '''flashrom -r kontron.dd'''
 
  $ '''flashrom -r kontron.dd'''
  
You can list all components of the vendor BIOS via the [http://packages.debian.org/sid/amideco amideco] utility ('''apt-get install amideco''' on Debian systems):  
+
You can list all components of the vendor BIOS via the [http://packages.debian.org/sid/amideco amideco] utility ('''apt-get install amideco''' on Debian systems):
  
 
  $ '''amideco kontron.dd -l'''
 
  $ '''amideco kontron.dd -l'''
 
  -=AmiBIOSDeco, version 0.31e (Linux)=-
 
  -=AmiBIOSDeco, version 0.31e (Linux)=-
 
   
 
   
  FileLength      : 100000 (1048576 bytes)
+
  FileLength     : 100000 (1048576 bytes)
  FileName        : kontron.dd
+
  FileName       : kontron.dd
 
   
 
   
      AMIBIOS information:
+
        AMIBIOS information:
  Version        : 0800
+
  Version         : 0800
  Packed Data    : 693A0 (431008 bytes)
+
  Packed Data     : 693A0 (431008 bytes)
  Start          : DF83C
+
  Start           : DF83C
  Packed Offset  : DF83C
+
  Packed Offset   : DF83C
  Offset          : 0
+
  Offset         : 0
  Released        : 07 June 2007
+
  Released       : 07 June 2007
  DirName        : kontron.---
+
  DirName         : kontron.---
 
  +------------------------------------------------------------------------------+
 
  +------------------------------------------------------------------------------+
  | Class.Instance (Name)        Packed ---> Expanded      Compression  Offset |
+
  | Class.Instance (Name)        Packed ---> Expanded      Compression  Offset |
 
  +------------------------------------------------------------------------------+
 
  +------------------------------------------------------------------------------+
 
   
 
   
08 01 (        Interface)    00798 ( 01944) => 00798 ( 01944)      DF83Ch
+
    08 01 (        Interface)    00798 ( 01944) => 00798 ( 01944)      DF83Ch
04 02 (    Setup Client)    05B6E ( 23406) => 09437 ( 37943)  +  D9CB8h
+
    04 02 (    Setup Client)    05B6E ( 23406) => 09437 ( 37943)  +  D9CB8h
0C 03 (          ROM-ID)    00008 ( 00008) => 00008 ( 00008)      D9C9Ch
+
    0C 03 (          ROM-ID)    00008 ( 00008) => 00008 ( 00008)      D9C9Ch
0E 04 (        OEM Logo)    0005D ( 00093) => 03E11 ( 15889)  +  D9C28h
+
    0E 04 (        OEM Logo)    0005D ( 00093) => 03E11 ( 15889)  +  D9C28h
1A 05 (      Small Logo)    00532 ( 01330) => 026A2 ( 09890)  +  D96E0h
+
    1A 05 (      Small Logo)    00532 ( 01330) => 026A2 ( 09890)  +  D96E0h
18 06 (ADM (Display MGR))    017FD ( 06141) => 04245 ( 16965)  +  D7ECCh
+
    18 06 (ADM (Display MGR))    017FD ( 06141) => 04245 ( 16965)  +  D7ECCh
19 07 (        ADM Font)    0059C ( 01436) => 01304 ( 04868)  +  D791Ch
+
    19 07 (        ADM Font)    0059C ( 01436) => 01304 ( 04868)  +  D791Ch
1B 08 (            SLAB)    2FF20 (196384) => 65299 (414361)  +  A79E8h
+
    1B 08 (            SLAB)    2FF20 (196384) => 65299 (414361)  +  A79E8h
21 09 (    Multilanguage)    032A6 ( 12966) => 0723E ( 29246)  +  A472Ch
+
    21 09 (    Multilanguage)    032A6 ( 12966) => 0723E ( 29246)  +  A472Ch
20 10 (    PCI AddOn ROM)    09145 ( 37189) => 0EC00 ( 60416)  +  9B5D0h
+
    20 10 (    PCI AddOn ROM)    09145 ( 37189) => 0EC00 ( 60416)  +  9B5D0h
20 11 (    PCI AddOn ROM)    09681 ( 38529) => 10000 ( 65536)  +  91F38h
+
    20 11 (    PCI AddOn ROM)    09681 ( 38529) => 10000 ( 65536)  +  91F38h
20 12 (    PCI AddOn ROM)    06008 ( 24584) => 0A800 ( 43008)  +  8BF1Ch
+
    20 12 (    PCI AddOn ROM)    06008 ( 24584) => 0A800 ( 43008)  +  8BF1Ch
11 13 (    P6 Microcode)    00001 ( 00001) => 00005 ( 00005)  +  7DEF4h
+
    11 13 (    P6 Microcode)    00001 ( 00001) => 00005 ( 00005)  +  7DEF4h
90 14 (  User-Defined ;))    021DE ( 08670) => 04200 ( 16896)  +  7BD00h
+
    90 14 (  User-Defined ;))    021DE ( 08670) => 04200 ( 16896)  +  7BD00h
2A 15 (        User ROM)    005F8 ( 01528) => 00C7A ( 03194)  +  7B6F4h
+
    2A 15 (        User ROM)    005F8 ( 01528) => 00C7A ( 03194)  +  7B6F4h
2E 16 (        User ROM)    047B3 ( 18355) => 07800 ( 30720)  +  76F2Ch
+
    2E 16 (        User ROM)    047B3 ( 18355) => 07800 ( 30720)  +  76F2Ch
06 17 (        DMI Data)    00258 ( 00600) => 01024 ( 04132)  +  76CC0h
+
    06 17 (        DMI Data)    00258 ( 00600) => 01024 ( 04132)  +  76CC0h
80 18 (  User-Defined ;))    00044 ( 00068) => 00044 ( 00068)      76C68h
+
    80 18 (  User-Defined ;))    00044 ( 00068) => 00044 ( 00068)      76C68h
  Total Sections  : 18
+
  Total Sections : 18
  
The next step is to extract all components:  
+
The next step is to extract all components:
  
 
  $ '''amideco kontron.dd -x'''
 
  $ '''amideco kontron.dd -x'''
 
  -=AmiBIOSDeco, version 0.31e (Linux)=-
 
  -=AmiBIOSDeco, version 0.31e (Linux)=-
 
   
 
   
  FileLength      : 100000 (1048576 bytes)
+
  FileLength     : 100000 (1048576 bytes)
  FileName        : kontron.dd
+
  FileName       : kontron.dd
 
   
 
   
      AMIBIOS information:
+
        AMIBIOS information:
  Version        : 0800
+
  Version         : 0800
  Packed Data    : 693A0 (431008 bytes)
+
  Packed Data     : 693A0 (431008 bytes)
  Start          : DF83C
+
  Start           : DF83C
  Packed Offset  : DF83C
+
  Packed Offset   : DF83C
  Offset          : 0
+
  Offset         : 0
  Released        : 07 June 2007
+
  Released       : 07 June 2007
  DirName        : kontron.---
+
  DirName         : kontron.---
 
  +------------------------------------------------------------------------------+
 
  +------------------------------------------------------------------------------+
  | Class.Instance (Name)        Packed ---> Expanded      Compression  Offset |
+
  | Class.Instance (Name)        Packed ---> Expanded      Compression  Offset |
 
  +------------------------------------------------------------------------------+
 
  +------------------------------------------------------------------------------+
 
   
 
   
  Total Sections  : 18
+
  Total Sections : 18
 
   
 
   
 
+
The file we need is the 64KB VGA blob named '''amipci_01.20''':
The file we need is the 64KB VGA blob named '''amipci_01.20''':  
+
  
 
  $ '''ls'''
 
  $ '''ls'''
Line 215: Line 217:
 
  amibody.0c  amibody.19  amibody.2a  amipci_00.20
 
  amibody.0c  amibody.19  amibody.2a  amipci_00.20
  
In order to use onboard VGA you further need to edit '''targets/kontron/986lcd-m/Config.lb'''. Comment out the line  
+
In order to use onboard VGA you further need to edit '''targets/kontron/986lcd-m/Config.lb'''. Comment out the line
  
 
  option ROM_SIZE = 1024 * 1024
 
  option ROM_SIZE = 1024 * 1024
  
and enable the line  
+
and enable the line
  
 
  option ROM_SIZE = (1024 * 1024) '''- (64 * 1024)'''
 
  option ROM_SIZE = (1024 * 1024) '''- (64 * 1024)'''
  
instead (we're assuming a 1 MB ROM chip here, change that if you use another size). This will leave 64 KB room in the coreboot ROM image. We can now build coreboot as usual:  
+
instead (we're assuming a 1 MB ROM chip here, change that if you use another size). This will leave 64 KB room in the coreboot ROM image. We can now build coreboot as usual:
  
 
  $ ./buildtarget kontron/986lcd-m
 
  $ ./buildtarget kontron/986lcd-m
 
  $ cd kontron/986lcd-m/kontron_986lcd_m
 
  $ cd kontron/986lcd-m/kontron_986lcd_m
  
Now copy your [[Payloads|payload]] into the current directory and name it '''payload.elf'''. Then:  
+
Now copy your [[Payloads|payload]] into the current directory and name it '''payload.elf'''. Then:
  
 
  $ make -s
 
  $ make -s
  
Finally, prepend the 64 KB VGA blob to the coreboot image:  
+
Finally, prepend the 64 KB VGA blob to the coreboot image:
  
  $ '''cat amipci_01.20 coreboot.rom > coreboot_final.rom'''
+
  $ '''cat amipci_01.20 coreboot.rom > coreboot_final.rom'''
  
The resulting '''coreboot_final.rom''' is your coreboot ROM image you can flash using [[Flashrom]].  
+
The resulting '''coreboot_final.rom''' is your coreboot ROM image you can flash using [[flashrom]].
  
== Notes ==
+
== Notes ==
  
*If you use [[FILO]], SATA will probably be '''hda''' and '''hdb''', while '''hdc''' is the master drive of the IDE controller.  
+
* If you use [[FILO]], SATA will probably be '''hda''' and '''hdb''', while '''hdc''' is the master drive of the IDE controller.
*Currently you have to use '''pci=noacpi''' on the kernel command line to make IDE and SATA work.  
+
* Currently you have to use '''pci=noacpi''' on the kernel command line to make IDE and SATA work.
*If you experience kernel crashes (when building without onboard VGA support) try to blacklist the '''agpgart''' and '''intel_agp''' kernel modules.
+
* If you experience kernel crashes (when building without onboard VGA support) try to blacklist the '''agpgart''' and '''intel_agp''' kernel modules.
  
 
{{PD-self}}
 
{{PD-self}}

Revision as of 17:14, 5 January 2009

Top
Side
Backpanel
Board and power supply

This page describes how to use coreboot on the Kontron 986LCD-M/mITX mainboard. It is maintained by Uwe Hermann.

The mainboard's manual (PDF) is available from the vendor website (together with various other documents).

Status

Device/functionality Status Comments
CPU
CPU works OK Intel(R) Core(TM)2 CPU T5300 @ 1.73GHz (dual core)
L1 cache enabled OK CPU: L1 I cache: 32K, L1 D cache: 32K
L2 cache enabled OK L2 cache: 2048K
L3 cache enabled N/A
Multiple CPU support N/A
Multi-core support OK Both cores show up in /proc/cpuinfo.
Hardware virtualization Untested Hardware virtualization is not supported by this CPU (modprobe kvm-intel fails on coreboot + vendor BIOS).
RAM
EDO N/A
SDRAM N/A
SO-DIMM N/A
DDR N/A
DDR2 OK Works fine, but currently you need to populate both RAM slots with DIMMs (of the same size?).
DDR3 N/A
Dual channel support OK Works fine according to memtest86+ (Tested: 2x 1GB DIMMs, interleaved mode).
ECC support Untested
On-board Hardware
On-board IDE 3.5" OK
On-board IDE 2.5" N/A
On-board SATA OK Tested: SATA disk (hda1 in FILO, /dev/sda1 in Linux), but you currently have to use pci=noacpi.
On-board SCSI N/A
On-board USB OK Tested: USB thumb drive in all 4 backpanel USB ports, as well as on the USB pin headers on the board (USB6_7, see manual).
On-board VGA OK You need to prepend the VGA blob from the proprietary BIOS for this to work. Console works, X11 works (use the intel X.org driver).
On-board ethernet WIP The eth1 interface (in this case) works fine, but so far ifconfig -a only shows one of the three NICs (?)
On-board audio WIP Doesn't seem to work, yet.
On-board modem N/A
On-board FireWire OK Seems to work fine (backpanel FireWire port), even with pci=noacpi. Tested using the eth1394 module for IPv4-over-FireWire. The FireWire pinheader IEEE1394_1 (see manual) is not yet well-tested.
On-board smartcard reader N/A
On-board CompactFlash OK There's an onboard CompactFlash slot on the back-side of the board. FILO sees it as (hd2,0) / hdc1, Linux as /dev/sdb1.
On-board PCMCIA N/A
Add-on slots/cards
ISA add-on cards N/A
Audio/Modem-Riser (AMR/CNR) cards N/A
PCI add-on cards WIP Doesn't seem to work properly (at least not with pci=noacpi). A tested PCI NIC appears in ifconfig -a but does not work.
Mini-PCI add-on cards Untested
PCI-X add-on cards Unknown
AGP graphics cards N/A
PCI Express x1 add-on cards N/A
PCI Express x2 add-on cards N/A
PCI Express x4 add-on cards N/A
PCI Express x8 add-on cards N/A
PCI Express x16 add-on cards WIP Doesn't seem to work (at least not with pci=noacpi). A tested PCIe VGA card doesn't appear in lspci,
PCI Express x32 add-on cards N/A
HTX add-on cards N/A
Legacy / Super I/O
Floppy N/A
Serial port 1 (COM1) OK
Serial port 2 (COM2) Untested There are also COM3 and COM4 pin headers on this board.
Parallel port OK Doing modprobe ppdev works, but no further test were performed. You probably need a special cable to connect to the onboard pin-header.
PS/2 keyboard OK
PS/2 mouse OK
Game port N/A
Infrared Untested
PC speaker OK
DiskOnChip N/A
Miscellaneous
Sensors / fan control OK Works fine using the w83627hf, coretemp (and also i2c-dev, i2c-i810, and eeprom) Linux kernel modules.
Hardware watchdog OK Not yet actually tested, but it seems to be found: iTCO_wdt: Found a ICH7 or ICH7R TCO device (Version=2, TCOBASE=0x0560).
SMBus Untested
CAN bus N/A
CPU frequency scaling WIP Needs ACPI. With pci=noacpi the cpufreq-info utility doesn't output anything useful. On vendor BIOS you can use p4-clockmod (discouraged) or acpi-cpufreq (iff you enabled the respective option in the BIOS menu).
Other powersaving features N/A
ACPI WIP There's a (partial?) ACPI implementation for this board, but it may need further testing/fixing.
Reboot OK Seems to work fine, even with pci=noacpi.
Poweroff WIP Needs ACPI, thus won't work if you use pci=noacpi.
Suspend Unknown
Nonstandard LEDs N/A
High precision event timers (HPET) OK The HPET is detected by Linux (hpet0: at MMIO 0xfed00000, IRQs 2, 8, 0) and powertop output suggests that it works ok.
Random number generator (RNG) N/A
Wake on modem ring N/A
Wake on LAN Untested The board supports WOL (tested with vendor BIOS using the wakeonlan utility).
Wake on keyboard Untested Works fine with vendor BIOS.
Wake on mouse N/A Doesn't seem to be supported (by the hardware / vendor BIOS), tested with a PS/2 mouse, as well as with a USB mouse.
Flashrom OK Works fine, but you have to use -m kontron:986lcd-m when booted with the vendor BIOS (not needed when booted with coreboot).

Build tutorial (without onboard VGA)

$ svn co svn://coreboot.org/repos/trunk/coreboot-v2
$ cd coreboot-v2/targets
$ ./buildtarget kontron/986lcd-m
$ cd kontron/986lcd-m/kontron_986lcd_m

Now copy your payload into the current directory and name it payload.elf. Then:

$ make -s

The resulting coreboot.rom is your coreboot ROM image you can flash using flashrom.

Build tutorial (with onboard VGA)

$ svn co svn://coreboot.org/repos/trunk/coreboot-v2
$ cd coreboot-v2/targets

In order to use on-board VGA you have to use the VGA blob from the vendor BIOS, and modify the coreboot config files a bit. Edit src/mainboard/kontron/986lcd-m/Config.lb in the section starting with chip drivers/pci/onboard. Depending on whether you use a 1 MB, 512 KB, or 256 KB ROM chip, you'll have to set the correct rom_address value:

chip drivers/pci/onboard
  device pci 02.0 on end # vga controller
  # register "rom_address" = "0xfffc0000" # 256 KB image
  # register "rom_address" = "0xfff80000" # 512 KB image
  register "rom_address" = "0xfff00000"   # 1 MB image
end

Then, you have to obtain the VGA blob from the vendor BIOS. Thus, get the original vendor BIOS image using Flashrom:

$ flashrom -r kontron.dd

You can list all components of the vendor BIOS via the amideco utility (apt-get install amideco on Debian systems):

$ amideco kontron.dd -l
-=AmiBIOSDeco, version 0.31e (Linux)=-

FileLength      : 100000 (1048576 bytes)
FileName        : kontron.dd

        AMIBIOS information:
Version         : 0800
Packed Data     : 693A0 (431008 bytes)
Start           : DF83C
Packed Offset   : DF83C
Offset          : 0
Released        : 07 June 2007
DirName         : kontron.---
+------------------------------------------------------------------------------+
| Class.Instance (Name)        Packed --->  Expanded      Compression   Offset |
+------------------------------------------------------------------------------+

   08 01 (        Interface)    00798 ( 01944) => 00798 ( 01944)      DF83Ch
   04 02 (     Setup Client)    05B6E ( 23406) => 09437 ( 37943)  +   D9CB8h
   0C 03 (           ROM-ID)    00008 ( 00008) => 00008 ( 00008)      D9C9Ch
   0E 04 (         OEM Logo)    0005D ( 00093) => 03E11 ( 15889)  +   D9C28h
   1A 05 (       Small Logo)    00532 ( 01330) => 026A2 ( 09890)  +   D96E0h
   18 06 (ADM (Display MGR))    017FD ( 06141) => 04245 ( 16965)  +   D7ECCh
   19 07 (         ADM Font)    0059C ( 01436) => 01304 ( 04868)  +   D791Ch
   1B 08 (             SLAB)    2FF20 (196384) => 65299 (414361)  +   A79E8h
   21 09 (    Multilanguage)    032A6 ( 12966) => 0723E ( 29246)  +   A472Ch
   20 10 (    PCI AddOn ROM)    09145 ( 37189) => 0EC00 ( 60416)  +   9B5D0h
   20 11 (    PCI AddOn ROM)    09681 ( 38529) => 10000 ( 65536)  +   91F38h
   20 12 (    PCI AddOn ROM)    06008 ( 24584) => 0A800 ( 43008)  +   8BF1Ch
   11 13 (     P6 Microcode)    00001 ( 00001) => 00005 ( 00005)  +   7DEF4h
   90 14 (  User-Defined ;))    021DE ( 08670) => 04200 ( 16896)  +   7BD00h
   2A 15 (         User ROM)    005F8 ( 01528) => 00C7A ( 03194)  +   7B6F4h
   2E 16 (         User ROM)    047B3 ( 18355) => 07800 ( 30720)  +   76F2Ch
   06 17 (         DMI Data)    00258 ( 00600) => 01024 ( 04132)  +   76CC0h
   80 18 (  User-Defined ;))    00044 ( 00068) => 00044 ( 00068)      76C68h
Total Sections  : 18

The next step is to extract all components:

$ amideco kontron.dd -x
-=AmiBIOSDeco, version 0.31e (Linux)=-

FileLength      : 100000 (1048576 bytes)
FileName        : kontron.dd

        AMIBIOS information:
Version         : 0800
Packed Data     : 693A0 (431008 bytes)
Start           : DF83C
Packed Offset   : DF83C
Offset          : 0
Released        : 07 June 2007
DirName         : kontron.---
+------------------------------------------------------------------------------+
| Class.Instance (Name)        Packed --->  Expanded      Compression   Offset |
+------------------------------------------------------------------------------+

Total Sections  : 18

The file we need is the 64KB VGA blob named amipci_01.20:

$ ls
amibody.04  amibody.0e  amibody.1a  amibody.2e    amipci_01.20
amibody.06  amibody.11  amibody.1b  amibody.80    amipci_02.20
amibody.08  amibody.18  amibody.21  amibody.90    kontron.dd
amibody.0c  amibody.19  amibody.2a  amipci_00.20

In order to use onboard VGA you further need to edit targets/kontron/986lcd-m/Config.lb. Comment out the line

option ROM_SIZE = 1024 * 1024

and enable the line

option ROM_SIZE = (1024 * 1024) - (64 * 1024)

instead (we're assuming a 1 MB ROM chip here, change that if you use another size). This will leave 64 KB room in the coreboot ROM image. We can now build coreboot as usual:

$ ./buildtarget kontron/986lcd-m
$ cd kontron/986lcd-m/kontron_986lcd_m

Now copy your payload into the current directory and name it payload.elf. Then:

$ make -s

Finally, prepend the 64 KB VGA blob to the coreboot image:

$ cat amipci_01.20 coreboot.rom > coreboot_final.rom

The resulting coreboot_final.rom is your coreboot ROM image you can flash using flashrom.

Notes

  • If you use FILO, SATA will probably be hda and hdb, while hdc is the master drive of the IDE controller.
  • Currently you have to use pci=noacpi on the kernel command line to make IDE and SATA work.
  • If you experience kernel crashes (when building without onboard VGA support) try to blacklist the agpgart and intel_agp kernel modules.
Public domain I, the copyright holder of this work, hereby release it into the public domain. This applies worldwide.

In case this is not legally possible:
I grant anyone the right to use this work for any purpose, without any conditions, unless such conditions are required by law.