Hi Nico,
Following is my complete Payload setting,
1.Add a payload -> (GRUB2) 2.GRUB2 version -> (HEAD) 3.Include GRUB2 runtime config file into ROM image = Y 4.Gave the path of grub.cfg (which I copied from Fedora OS when booted is booted with other BIOS vendor).
Based on this, please provide your comments.
Thanks, Dhanasekar
On Wed, Jun 7, 2017 at 6:52 PM, Nico Huber nico.huber@secunet.com wrote:
On 07.06.2017 14:52, Dhanasekar Jaganathan wrote:
Hi Nico,
where do you expect to see the menu? a display? a serial console? In the former case, I expect you have to add a Video BIOS to your coreboot.rom (CONFIG_VGA_BIOS) and configure coreboot to run it (CONFIG_VGA_ROM_RUN). If you use a discrete gfx card, you don't need to add the VBIOS, it would be read from the card. In the latter case, GRUB has to be confi- gured to use the serial port, as Mariusz pointed out.
I'm a little confused here, did you add an etc/grub.cfg to the CBFS? You didn't say so but I wouldn't expect it to boot otherwise. If you have, can you please share this grub.cfg.
I am using a serial console for *DISPLAY*. I am not adding *grub.cfg* through *etc/grub.cfg*. When I booted the board with other vendor BIOS, I have copied* /boot/grub2/grub.cfg* from fedora OS and using this grub.cfg in
coreboot.
I have mentioned the location of grub. cfg in menuconfig *(Payload -> Include GRUB2 runtime config file into ROM image). *
I see, that wasn't visible from your .config because you changed it from GRUB2 to adding a simple elf payload. Just to make sure you understood this correctly: This only points the coreboot build system to the file and the file gets copied into CBFS as etc/grub.cfg during build. So in this configuration, you have to rebuild your coreboot every time you change the grub.cfg.
A more convenient solution would be to write a small intermediate grub.cfg that just loads the real grub.cfg from disk. e.g. create a new file called coreboot-grub.cfg with the single line:
configfile (ahci0,1)/grub2/grub.cfg
and point the coreboot build to that coreboot-grub.cfg. I've guessed the path from your current grub.cfg, I'm not 100% sure if it's correct.
I have attached the same.
In */boot/default/grub*, I have changed* GRUB_TIMEOUT = -1* ( which
stops
the system indefinitely at boot menu in GRUB2). Still system is not stopping at boot menu.
AFAIK, this file only works as input to `grub-mkconfig`. You'd still have to generate a grub.cfg with it and configure the GRUB payload to use it.
when ever I modify */etc/defualt/grub*, I will run *grub2-mkconfig -o /boot/grub2/grub.cfg*. I forget to mention this in my previous mail.
You have set CONFIG_ROM_SIZE and CONFIG_CBFS_SIZE to the same value (8MiB). This is wrong. coreboot shares the flash chip with other Intel firmware components (Firmware Descriptor (IFD), ME firmware etc.). Be- side other configuration, the IFD partitions the flash chip in regions. coreboot's CBFS lives in the BIOS region and should be at most of this region's size. You can decode the descriptor with `ifdtool -d ...` (you can find it in util/ifdtool/ in the coreboot source).
After setting, CONFIG_CBFS_SIZE = 6MB, I can able to build coreboot and
I
am not getting below issue,
*lzma: Decodeing error = 1* *Payload not loaded.*
Is it correct to set 6MB size for CONFIG_CBFS_SIZE?.
Please correct me, If I am wrong and Provide your suggestions.
It has to match your firmware descriptor, I can't tell you what it's set to. In other words, don't ask me, ask `ifdtool`. The following should work with the original, vendor ROM:
$ make -C util/ifdtool/ $ util/ifdtool/ifdtool -d /path/to/vendor.rom | grep (BIOS)
Nico