help-grub
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Kernel options not passing in EFI image?


From: Avi Deitcher
Subject: Re: Kernel options not passing in EFI image?
Date: Wed, 25 May 2016 08:53:12 +0300

$ grub-mkimage --version
grub-mkimage (GRUB) 2.02-beta2-36ubuntu3

Makes sense; I am running the tests on an ubuntu 16.04 desktop.

I did run a build with "linux" and without, both with verbose "-v" enabled.
Some data points:

1- When building the modules into the image, it is reading from
/usr/lib/grub/x86_64-efi/, which is where I am copying from when not built
in. So it is getting the right files.

2- The only differences between the logs (other than file/module size) are
that including linux also includes mmap, relocator, video, boot, linux.

I will git clone and try it.




On Tue, May 24, 2016 at 12:20 PM, Andrei Borzenkov <address@hidden>
wrote:

> On Tue, May 24, 2016 at 11:18 AM, Avi Deitcher <address@hidden> wrote:
> > linux. It is the module "linux". I have no idea what/who/why/where.
> >
> > This line works:
> >
> > grub-mkimage -O x86_64-efi -i EFI/BOOT/BOOTX64.EFI
> > --config=boot/grub/grub.cfg --prefix='()/boot/grub' --compression=auto
> disk
> > part_msdos fat iso9660
> >
> > This line fails:
> >
> > grub-mkimage -O x86_64-efi -i EFI/BOOT/BOOTX64.EFI
> > --config=boot/grub/grub.cfg --prefix='()/boot/grub' --compression=auto
> disk
> > part_msdos fat iso9660 linux
> >
> >
>
> What is your grub version (to be sure we are not chasing something
> already fixed)? Could you test current GIT?
>
> > On Tue, May 24, 2016 at 11:09 AM, Avi Deitcher <address@hidden> wrote:
> >>
> >> Could it be too *many* modules? (or at least the wrong ones)?
> >>
> >> This fails:
> >>
> >> cp -r /usr/lib/grub/x86_64-efi ${CD}/boot/grub
> >> cd ${CD} && grub-mkimage -O x86_64-efi -i EFI/BOOT/BOOTX64.EFI
> >> --config=boot/grub/grub.cfg --prefix='()/boot/grub' --compression=auto
> disk
> >> part_msdos part_gpt linux loopback normal configfile search search_label
> >> true iso9660 efi_uga efi_gop gfxterm gfxmenu gfxterm_menu fat ls cat tar
> >> echo lsmmap mincmd gzio gettext exitcmd boot fshelp
> >>
> >> This succeeds:
> >>
> >> cp -r /usr/lib/grub/x86_64-efi ${CD}/boot/grub
> >> cd ${CD} && grub-mkimage -O x86_64-efi -i EFI/BOOT/BOOTX64.EFI
> >> --config=boot/grub/grub.cfg --prefix='()/boot/grub' --compression=auto
> disk
> >> part_msdos fat iso9660
> >>
> >> Huh??
> >>
> >>
> >>
> >> On Tue, May 24, 2016 at 11:02 AM, Avi Deitcher <address@hidden>
> wrote:
> >>>
> >>> The list was really big, so I put it in a gist:
> >>> https://gist.github.com/deitch/d5c52c29288864e5763c86c09ff7474f
> >>>
> >>> I also sorted them and did a diff.
> >>>
> >>>
> >>>
> >>> On Tue, May 24, 2016 at 10:43 AM, Avi Deitcher <address@hidden>
> wrote:
> >>>>
> >>>> OK, will do it right now.
> >>>>
> >>>> Interesting note: why does mkrescue have --prefix='()/boot/grub' as an
> >>>> option to mkimage? I get that rather than loading all of the modules
> into
> >>>> the grub binary, it puts them on the iso9660 filesystem and then
> accesses
> >>>> them that way, but what does '()' signify? That isn't any one known
> disk
> >>>> like (memdisk) or (cd0) or (hd0) etc.
> >>>>
> >>>> On Tue, May 24, 2016 at 10:40 AM, Andrei Borzenkov <
> address@hidden>
> >>>> wrote:
> >>>>>
> >>>>> On Tue, May 24, 2016 at 10:12 AM, Avi Deitcher <address@hidden>
> >>>>> wrote:
> >>>>> > Confirm that grub-mkrescue *does* pass the cmdline options along.
> >>>>> > Which
> >>>>> > almost definitely means my mkimage build is slightly (but
> critically)
> >>>>> > different than what mkrescue does.
> >>>>> >
> >>>>> > I ran mkrescue -v, the mkimage line was:
> >>>>> >
> >>>>> > grub-mkimage --directory '/usr/lib/grub/x86_64-efi' --prefix
> >>>>> > '()/boot/grub'
> >>>>> > --output 'somefile.efi' --format 'x86_64-efi' --compression 'auto'
> >>>>> > --config
> >>>>> > '/tmp/grub.9g6zmZ' 'part_msdos' 'fat' 'iso9660'
> >>>>> >
> >>>>> > Much simpler command line, yet it works?
> >>>>> >
> >>>>>
> >>>>> mkerscue makes *full* grub available in ISO, so everything that it
> >>>>> needs at boot time is autoloaded from image. Image itself only needs
> >>>>> just enough to access ISO after initial boot.
> >>>>>
> >>>>> It would be interesting to find out what is missing in your case. You
> >>>>> could start with booting rescue into CLI, issuing the same "linux"
> and
> >>>>> "initrd" commands and comparing the list of modules (lsmod). Use "set
> >>>>> pager=1" as module list is likely longer than normal screen.
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> --
> >>>> Avi Deitcher
> >>>> address@hidden
> >>>> Follow me http://twitter.com/avideitcher
> >>>> Read me http://blog.atomicinc.com
> >>>
> >>>
> >>>
> >>>
> >>> --
> >>> Avi Deitcher
> >>> address@hidden
> >>> Follow me http://twitter.com/avideitcher
> >>> Read me http://blog.atomicinc.com
> >>
> >>
> >>
> >>
> >> --
> >> Avi Deitcher
> >> address@hidden
> >> Follow me http://twitter.com/avideitcher
> >> Read me http://blog.atomicinc.com
> >
> >
> >
> >
> > --
> > Avi Deitcher
> > address@hidden
> > Follow me http://twitter.com/avideitcher
> > Read me http://blog.atomicinc.com
>



-- 
Avi Deitcher
address@hidden
Follow me http://twitter.com/avideitcher
Read me http://blog.atomicinc.com


reply via email to

[Prev in Thread] Current Thread [Next in Thread]