help-grub
[Top][All Lists]
Advanced

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

GRUB on EFI: "couldn't terminate EFI services"


From: Giovanni Mascellani
Subject: GRUB on EFI: "couldn't terminate EFI services"
Date: Tue, 21 Aug 2012 16:15:00 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:10.0.5) Gecko/20120624 Icedove/10.0.5

Hi everyone.

I'm trying to run GRUB on my new EFI-based laptop. Unfortunately I'm
running into a few problems. I'm using GRUB 2.00 downloaded using:

wget ftp://ftp.gnu.org/gnu/grub/grub-2.00.tar.gz

Configured with:

./configure --with-platform=efi --target=x86_64 --program-prefix=""

And built with:

make

(these operations are ran over a computer other than the one I'm trying
to boot, of course; anyway, they're both Debian installations, 64 bits).

Then I create the GRUB EFI image with:

cd grub-core
../grub-mkimage -o grub.efi -O x86_64-efi -p '' -d . part_gpt ext2 fat
configfile part_msdos linux boot multiboot chain

and copy it on a USB stick (MS-DOS partition table, FAT partition),
putting it in the directory /efi/boot/bootx64.efi. I also copy all
grub-core/*.lst grub and grub-core/*.mod in /efi/boot/x86_64-efi and
create an empty configuration file in /efi/boot/grub.cfg.

Then I insert the stick in the new computer (the one that I'm trying to
boot), which has a GPT partition table and a few partitions.
Particularly, the second one is ext4 formatted and contains the root of
the Debian installation. I boot the computer using UEFI via the USB
stick I created and get the GRUB shell. I try to boot Linux with the
following commands:

insmod efi_gop
set root=(hd1,gpt2)
linux /boot/vmlinuz-2.6.32-5-amd64 root=/dev/sda2
initrd /boot/initrd.img-2.6.32-5-amd64

Until here, GRUB doesn't complain of anything. Then I give the command
"boot", would expect the kernel to start, but instead I just receive the
message "error: couldn't terminate EFI services." and again the GRUB
prompt. If I give again "boot", it says "error: overlap detected". Then,
if I give again the "linux" and "initrd" commands (with the same
arguments as before) and then "boot", the kernel starts, but apparently
is unable to find the root device.

The strange thing is that doing many attempts (with slightly different
commands, mostly playing with things as fix_video, gfxterm, videotest
and video=efifb kernel options) sometimes, although quite rarely, I
manage to have the system correctly booted, including the detection of
the root filesystem (BTW, kernel and initrd are always the same). I
couldn't spot so far any pattern related to when the boot succeeds or
not. On the other hand

My instinct suggests me that most of the problem hides behind that
"couldn't terminate EFI services", but unfortunately I know nothing
about GRUB or EFI to try to understand its meaning. Could someone on
this list try to help me tracking down the problem?

The EFI implementation is Aptio version 2.14.1219 (it also advertises
itself as version 204, don't know which number is more significant). The
computer is an Asus N56VZ-S4033V.

Thanks to everyone who can help me.

Giovanni.
-- 
Giovanni Mascellani <address@hidden>
Pisa, Italy

Web: http://poisson.phc.unipi.it/~mascellani
Jabber: address@hidden / address@hidden

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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