help-grub
[Top][All Lists]
Advanced

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

Re: GRUB doesn't recognize partitions on El-Torito image during EFI boot


From: Jacek Konieczny
Subject: Re: GRUB doesn't recognize partitions on El-Torito image during EFI boot from CD
Date: Tue, 12 Nov 2013 08:50:27 +0100

On Tue, 12 Nov 2013 07:07:49 +0400
Andrey Borzenkov <address@hidden> wrote:
> Sure. EFI spec, 12.3.2.1 :)
> 
[...]
> Version 1.0. To boot from a CD-ROM or DVD-ROM in the boot services 
> environment, an EFI
> System partition is stored in a “no emulation” mode as defined by the “El 
> Torito” specification. A
> Platform ID of 0xEF indicates an EFI System Partition.
[...]

Thanks a lot! I should known better to check the specification first.
Googling around plus trial and error attempts lead to confusion.

> Yes, is your image partitioned? 

Yes.

> Could you give example how your image is seen in EFI shell? EFI path
> for a media access would be interesting.

> It is not separate device. In EFI such partition would have media path
> like CDROM(1) where `1' is boot catalog number. Could you please show
> device path used to access your partition?

What EFI shell command should I use for that?

Before leaving today morning I caught something like this:
https://www.dropbox.com/s/joq9iy66c8bozhv/IMG_20131112_072421.jpg

It is an EFI shell booted from the hard disk emulation, partitioned image.

BTW. using the same image (partitioned) in "no emulation" mode caused
the EFI firmware fail to load any bigger files (e.g. i/o errors when
trying to load 'vmlinuz.efi', which worked properly in 'hard disk
emulation' mode).

> It is not forbidden in any way; it is just that such CD will not be
> directly bootable by EFI.

The strange thing is – my previous 'prototype', with EFI shell and
ELILO, was bootable. And GRUB loads too, it just cannot see the other
files on the image.

> Well, using it outside of CD is irrelevant for this :) But having image
> for BIOS emulation boot already available could be an argument.

For BIOS boot I used this image via GRUB looback. GRUB is loaded from a
separate el-torito image from BIOS.

> > BTW… my 'workaround' (with calling 'configfile' first with first
> > 'search' result and continuing with loopback if that fails) worked well
> > in VirtualBox, but failed on a real machine (manual loopback setup in
> > the rescue shell still worked)… strange.
> > 
> 
> It could be a bug and you need to give more information, starting with
> how you build grub, your CD and how you boot it.

A lot of debugging and data gathering I would rather avoid this time (I
have currently limited access to the EFI hardware).

> > But it seems GRUB does not use the EFI file-system access at all. Is
> > that right?
> 
> Yes.

Would it see the files on ESP when it was a proper EFI El-Torito image,
as defined by the specs (unpartitioned, no emul)? If not, would it still
be possible to chainload any other EFI application from this image?

> The thing is, placing files in El-Torito boot image makes them
> effectively invisible for anyone - there is no simple way to "mount" it
> under normal operating system either, which makes it hard to see what's
> in there.

When 'mkisofs' write an El-Torito image, it leaves it visible as a
regular file in the ISO-9660 filesystem, which is enough for me (I can
loopback-mount it when the final system boots).

> And I doubt EFI envisioned full-fledged use if it - rather it
> was done to enable access to ESP. So it is much easier to use standard
> CD for actual content leaving this magic for absolutely necessary ESP
> access.

I wanted to be able to chain-load other EFI applications (like the EFI
shell) from the GRUB, so I wanted files to be available via the EFI
services – putting the files on the 'ESP' FAT file system made them
available to any EFI application. I could not use the 'standard CD' this
way, as EFI cannot read ISO9660 file system directly.

Greets,
        Jacek



reply via email to

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