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: Thu, 26 Jun 2014 13:03:58 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.6.0

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

On 06/22/2014 10:44 AM, Andrey Borzenkov wrote:
> В Sat, 21 Jun 2014 12:01:31 -0400 SevenBits
> <address@hidden> пишет:
> 
>> -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
> 
>> On 06/01/2014 11:43 AM, Andrey Borzenkov wrote:
>>> В Tue, 27 May 2014 19:28:39 -0400 SevenBits 
>>> <address@hidden> пишет:
>>> 
>>>> -----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.
>>> 
>>> 
>>> Which grub version do you use? cmdpath is available post-2.00 
>>> (should be in 2.02beta2).
> 
>> I am using the latest version of GRUB which I just pulled from
>> the repository via git, and it does not seem to be present. Does
>> this only work in code from another branch?
> 
> 
> I just looked in grub 2.02~beta2 (both on i386-pc and i386-efi) and
> it is present. Not that it is so useful on BIOS as it contains just
> the hard disk, but on EFI it contains valid path to directory from
> which grub was loaded (well, in case of CD-ROM it is a bit more 
> complicated ...).
> 
> GNU GRUB  version 2.02~beta2
> 
> Minimal BASH-like line editing is supported. For the first word,
> TAB lists possible command completions. Anywhere else TAB lists
> possible device or file completions.
> 
> 
> 
> grub> set cmdpath=(cd0)/EFI/BOOT color_highlight=black/light-gray 
> ...

Okay, something _really_ odd is going on here. When I use the
grub-mkstandalone command to build a GRUB binary, cmdpath is not even
set. Here's the output I get:

                           GNU GRUB  version 2.02~beta2

     Minimal BASH-like line editing is supported. For the first word,
     TAB lists possible command completions. Anywhere else TAB lists
     possible device or file completions.

grub> echo ${cmdpath}

grub> ${cmdpath}
error: can't find command 'Z?'.
grub>

Additionally, I can't view any of the file systems on any device due
to unknown file system errors and missing modules. However, when I use
the command grub-mkimage to build, everything works fine:

                           GNU GRUB  version 2.02~beta2

     Minimal BASH-like line editing is supported. For the first word,
     TAB lists possible command completions. Anywhere else TAB lists
     possible device or file completions.

grub> echo ${cmdpath}
(hd0,gpt2)/efi/boot
grub>

I'm using the same grub.cfg file for both builds. Here are the build
commands:

../grub-mkimage -d . -p . --format x86_64-efi --config
'/home/user/Desktop/grub.cfg' -o ~/Desktop/boot.efi boot linux ext2
normal configfile lspci ls loadenv help echo fat exfat hfs hfsplus
part_msdos part_gpt part_apple multiboot multiboot2 terminal sleep
loopback normal fixvideo iso9660 loadbios setvariable applesetos

../grub-mkstandalone -d . -o ~/Desktop/boot.efi --format=x86_64-efi
- --install-modules="boot linux ext2 normal configfile lspci ls loadenv
help echo fat exfat hfs hfsplus part_msdos part_gpt part_apple
multiboot multiboot2 terminal sleep loopback normal fixvideo iso9660
loadbios setvariable applesetos"
/boot/grub/fonts/myfont.pf2='/boot/grub/fonts/unicode.pf2'
/boot/grub/grub.cfg='/home/user/Desktop/grub.cfg'

I've attached the grub.cfg as well. I'm pulling my hair out on this:
shouldn't cmdpath work from grub-mkstandalone? Could someone advise me
on what I'm doing wrong?

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

iQEcBAEBAgAGBQJTrFJ9AAoJEFbRvtGxmFPEwuAH/jtbX/S1ua8b136ugmotmVV0
Nf05GFrrlr3LJFB1lWG3rGcSD+vn133+FKcw3jVo7jB9X2HD/noRu+xH5WGJRhL/
lNayxadc6ObmJoqMezujUVRFK1VgSRdVk8yMctkyGbcxbtVA8X6jH9AhBxJdM1si
qpKIsJ8hFmyFgd3ORDmJppUiQmnzaxM7Cv3GAOxLjua7Fr0WGFhrJeqUEq+eR0gp
orm2brfI39uAuhvY891Mw8V3za4GZw9mhT2z7Ae0plpNTnYg8DvZ1rD8qdfdEqor
a2JD1SOsOLRVZ7Nz868mBH3Dr0Q/tIm8BZAXdNlKkxjR/6bUcmceOV0Vwa04F40=
=7MTX
-----END PGP SIGNATURE-----

Attachment: grub.cfg
Description: Text document

Attachment: grub.cfg.sig
Description: PGP signature


reply via email to

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