You are not logged in.

#1 2014-12-12 19:23:24

olive
Member
From: Belgium
Registered: 2008-06-22
Posts: 1,490

How to refer to the double parent directory in grub.cfg

I am makig a grub standalone efi executable as in the arch wiki: https://wiki.archlinux.org/index.php/GRUB

I have finally a working solution but still one odd problem. ${cmdpath} is set where I have put the grub efi executable, in my case: (hd0,msdos1)/efi/grub. I would like to refer in the confir to a file named (hd0,msdos1)/arch/vmlinuz. So I naively put

menuentry Archlinux {
linux ${cmdpath}/../../arch/vmlinuz [options]
inird [...]
}

But it seems that grub does not understand the ../.. , it does not find it if I say:

ls ${cmdpath}/../../arch/vmlinuz

or even

ls (hd0,msdos1)/efi/grub/../../arch/vmlinuz

although one singel ".." component in the path seems to be understood, as odd as it is. (it does understand (hd0,msdos1)/efi/grub/../<some file> but not (hd0,msdos1)/efi/grub/../../<some file>). Of course there are plenty of work around, but anyone have an idea why?

P.S. Grub is not the most easily configurable boot loader but it ios the only one that I have found that is able to load a 64 bit kernel from a 32 bit EFI (common in some tablet).

Offline

Board footer

Powered by FluxBB