[coreboot] GRUB boot menu is not showing GRUB2
jdhanasekarmca at gmail.com
Wed Jun 7 15:38:59 CEST 2017
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.
On Wed, Jun 7, 2017 at 6:52 PM, Nico Huber <nico.huber at 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
> > 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
> >>> 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
> > 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\)
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the coreboot