help-grub
[Top][All Lists]
Advanced

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

Re: Possible to Embed GRUB Font File into Binary?


From: SevenBits
Subject: Re: Possible to Embed GRUB Font File into Binary?
Date: Tue, 27 May 2014 19:28:39 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 05/27/2014 03:48 PM, Jordan Uggla wrote:
> On Sun, May 25, 2014 at 9:29 AM, SevenBits
> <address@hidden> wrote:
>> Okay, so I've tried this out and I am having difficulties. GRUB
>> does not seem to be able to access any of the commands in the
>> included modules. When I boot into GRUB, a bunch of errors
>> scrolls past on the screen too quickly to read (though they
>> appear to be about missing commands) and then I end up in the
>> GRUB normal prompt.
>> 
>> I've using the exact same configuration file that I'm using with 
>> grub-mkimage, except it doesn't work this time. I recall seeing 
>> something a while ago saying that modules are not automatically
>> loaded when using grub-mkstandalone. If that's the case, then how
>> would I activate them? When I get dropped into the prompt and
>> type something like `insmod linux` it responds by saying that the
>> module Linux was not found, even though I gave the command for it
>> to be included.
>> 
>> I've attached my grub.cfg file that I'm using. Perhaps someone
>> could advise me as to what I'm doing wrong?
> 
> From your grub.cfg: set prefix=''
> 
> $prefix is the variable used by grub to find its modules, by
> setting it to the empty string you prevent grub from being able to
> find the modules.

Oh, duh. Not sure how that got in there.

I'm having some additional issues now. Essentially, when GRUB is
loaded from a memdisk in this manner, the root is set to the memdisk.
Which is fine, except for one problem. I need to be able to get the
device that the EFI executable file is currently residing on, because
I need to set up loopback for an ISO file located in the same
directory as the GRUB EFI image. When I generated the image using
grub-mkimage, the root was set to this device, so this was not a problem.

This URL ( https://wiki.archlinux.org/index.php/Grub#GRUB_Standalone )
 suggests using a variable called ${cmdpath} to solve this.
Unfortunately, the variable is not defined in my configuration.

I cannot hard-code the path to use (i.e hd1,msdos0) because this
portable GRUB copy is meant to be put onto a USB stick and booted on
users' computers. Hard-coding the path would be ineffective because my
users could for example have multiple hard drives, meaning that my
hard-coded path might not point to the USB that I want and instead
point to some other drive entirely, or a non-existent drive.

This is where my limited knowledge of GRUB internals is coming into
play. Is there some easy way to get the device that the image being
run is contained on?

> 
> You're also running "normal" in your grub.cfg, but grub is already
> in normal mode when it's reading the grub.cfg.

Okay.

> 
> Finally, while I can't find any cases where things would likely go 
> wrong as they are, please quote all your variable expansions, and 
> strings with sometimes-special characters for my sanity's sake :)
> 
> # The following is confusing, and may break in the future: echo
> kernel path: ${kernel_path} | ramdisc path: ${initrd_path}
> 
> # More clear, and even in the future '|' won't be special here: 
> echo "kernel path: ${kernel_path} | ramdisc path: ${initrd_path}"

I was not aware that this was a rule. I will make the proper changes.
Should I do the same for the linux command as well, e.g should

linux ${var} quiet splash ... --

become

linux "${var} quiet splash ... --"

> 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.14 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJThR+nAAoJEFbRvtGxmFPELDIIALZt3X2bApzItNjKci2pLYZe
aH6NQvC5M2BRGcKDE9kGZJA09r8hPnEAjaoHCUQzLbj3jkkXq1/Bpts8XCLOuWoK
KLaAsGDAs5uaOADqQAmKDUS9slmlb0NOapEgctkqqEVJr25fIM2nx0YzB7c1xThD
FQds4DndUraF0yZgPB6dT5I+16jj43V6f0zqWt8I+gmPIb6Xn7r0yW00c41SK3/C
vEG8cldrXpApOM+3hagrpRvAgVXWrbRoWUGav5MP2AQC2bBhDbE7UcJN5ljm0Q6I
up/sKnJbCmTlJpmU+Kij3JAiitnL4d7GzSZbFupjrgTe3weiPfKdYJTO0aGsqEA=
=wuTB
-----END PGP SIGNATURE-----



reply via email to

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