Hello!
As now SPI-Chips with more space than 512kB are supported for the Gigabyte M57SLI-4 Mainboard, i want to build a coreboot image with Linux as Payload.
First i tried to do that with buildrom-devel, but i wasn't successful. Buildrom-devel created a payload.elf file (in buildrom-devel/work/coreboot/svn/targets/gigabyte/m57sli/m57sli/payload.elf), which should be a linux-2.6.22.2 image with my current kernel config, but without modules, everything compiled into the kernel. This payload.elf file has a size of about three megabytes.
The buildrom tool failed to create a working image, so i tired to build the stuff manually. First i checked out the current coreboot svn tree, and edited the "payload" option in targets/gigabyte/m57sli/Config.lb to point at the payload.elf file which i got from the buildrom tool. I also set the "option ROM_SIZE" to the correct value for 4megabytes.
Compilling the image manually worked nearly, at the end i got an error in the fallback directory, where it complains about the image size. Here it is:
"objcopy --gap-fill 0xff -O binary coreboot coreboot.strip ./buildrom coreboot.strip coreboot.rom payload 0x20000 0x3f000 ERROR: payload (2956431) + coreboot (131072) - Size is 2829455 bytes larger than ROM size (258048). make: *** [coreboot.rom] Error 1"
After that error i had a look to the Makefile in that directory and noticed that there is written the following: "coreboot.rom: coreboot.strip buildrom $(PAYLOAD-1) ./buildrom $< $@ $(PAYLOAD-1) $(ROM_IMAGE_SIZE) $(ROM_SECTION_SIZE)"
I just had set the ROM_SIZE in the Config.lb but it seems that here the ROM_SECTION_SIZE is used to generate the image.
But at that point i've a (maybe) stupid question: What is the difference between normal/fallback/failover, and are all these 3 images needed?
Another quite simple/stupid question is, how do i generate a payload.elf with the correct kernel options by hand? (or are the kernel options not in the payload.elf which was generated by buildrom?)
It would be quite easyier for me, if someone would be so nice, and add an article to the Wiki how the procesess for Linux as payload works, manually and with buildrom.
Kind regards, Harald Gutmann