# Thread: Gummiboot: A Simple UEFI Boot Manager

1. Kanotix Developer
Join Date
Aug 2007
Posts
6,534
Back to gummiboot, the bootloader look is very basic. It autodetects EFI/Microsoft/Boot/bootmgfw.efi and EFI/Boot/bootx64.efi - no need to add a config file for that. Maybe
shellx64.efi could be autodetected as well, as many uefi implmentations search that at this position when you use efi shell from setup. As the documention is only done by examples those should be done better. Some things i found out and which are not really clear:

1. You can not boot with initrd and root=ROOTUUID=... only with root=UUID=... - at least not with debian
2. / in front is always optional, never mentioned
3. linux/initrd combo is the same as efi with options initd=path\to\initrd - that means all it does it replacing / by \ and adding initrd=... as first option

I personally do not like that the position /loader is used for the config files. There should be at least a compile override to use a different one, i would prefer /EFI/gummiboot which i used to install the efi binary. A tiny bit themeing would not hurt as well, a title option for the main menu, maybe some color overrides, not everybody likes lightgray on black.

Here are my test files:

http://kanotix.com/files/fix/gummiboot/
Last edited by Kano; 07-12-2012 at 01:44 PM.

2. Moderator
Join Date
May 2007
Location
Third Rock from the Sun
Posts
6,433
Originally Posted by Kano
Thats absolutely correct. Basically you can do everything that you can do with that loader with efibootmgr directly. The problem is however when you find bad uefi implementations, like firmware 3402 for asus p8z68-v. there on bootup only the last added loader (-l option for efibootmgr) is kept even when there was already an entry with a different label (-L) was there and had other (kernel) options. I reported that to asus but just got this response (i selected Linux as os because my examples are with efibootmgr):

Basically i see this as bad joke when you look at the price for the board - then you could expect complete uefi support and not only a partitial one.
Kano, resend that support message but do not mention linux, instead use different UEFI MS os's. (eg: Vista, Win 7, Server). It was the only way I could get past the BS tier 1 support and get the case escalated to engineering for other UEFI issues that they have.

3. Kanotix Developer
Join Date
Aug 2007
Posts
6,534
Just found a Kanotix user with Asus P8Z77-V LX. BIOS 0610 has got the same problem. But i found a little hack, you can use similar entries with just one differnet char (change upper/lowercase) because it is fat anyway. But thats not how it should work.
Last edited by Kano; 07-12-2012 at 05:04 PM.

4. Phoronix Member
Join Date
Feb 2011
Posts
88
Finally some attention to looks on an open source effort. After years of envying the smooth look of an Apple computer booting and after the not well supported efforts by BURG, now a bootloader that takes desktop computing seriously is being launched, with professionally designed icons and graphics.

It was about time.

5. Senior Member
Join Date
May 2011
Posts
1,163
Originally Posted by Aleve Sicofante
Finally some attention to looks on an open source effort. After years of envying the smooth look of an Apple computer booting and after the not well supported efforts by BURG, now a bootloader that takes desktop computing seriously is being launched, with professionally designed icons and graphics.

It was about time.

Wow.

Somebody who out-sarcasmed me.

I'm humbled.

6. Kanotix Developer
Join Date
Aug 2007
Posts
6,534
Read BURG backwards then you know that it was a GRUB(2) mod. Some of its options are included in GRUB 2.

But gummiboot only shows a textlist with all title entries which are defined in the loader/entries dir (+autodetected win/default). That's not fancy, well maybe a picture could be shown in the background as well, would be a nice addon.

Compared to UEFI quickbootselection you can use edit mode, this should be possible to disable/pw protect.

7. Senior Member
Join Date
Dec 2011
Posts
1,744

## Pretty bootloader

I don't want a pretty bootloader.

I just want a quick, fast, simple, easy, smart bootloader that doesn't fuck up.

Plus if it avoids screen resolution switches so the screen doesn't change resolution forth and back.

8. Kanotix Developer
Join Date
Aug 2007
Posts
6,534
I dont get what you mean by smart, but gummiboot is very tiny (just 60k compared to grub) as it is more or less just a simple menu for efi binaries (and is of course itself an efi binary). when you know efi shell then you understand the efi syntax directly. the linux/initrd variant was just added to make it simpler to use. When you look at current git commits then you see that the devs work now on hooks to write the loader/entries config files based on the installed kernels.

http://cgit.freedesktop.org/gummiboot/

I wrote my samples manually, which was not too hard. Yesterday i talked to Harald Hoyer in the #fedora-devel irc channel and found out that on fedora udev creates /dev/disk/by-partuuid/... entries so that root=PARTUUID=... will work with an initrd as well. I compared the code to debian's udev and found that the lines are basically there as well which should create those symlinks, but it does not happen with wheezy. in case you use gpt you can get the partuuid as well using:
Code:
blkid -p -s PART_ENTRY_UUID -o value /dev/root
if you have got a suitable kernel this will work without initrd. If you want to use UUID+initrd then you get those by
Code:
blkid -p -s UUID -o value /dev/root
With the scripts around gummiboot.efi you will usually not have to write that on your own, just if you want to test it without.

If you want to learn a bit more about uefi i would suggest to try efi shell and boot linux or whatever you want with it manually. it is like dos, just instead of a:, b:,c: it is fs0:, fs1:,fs2:. rename the vmlinuz to whatever.efi if you want to use the shell to start it.

Many uefi implementions can start shellx64.efi even from a fat formatted usb key (or just rename it to EFI/BOOT/BOOTX64.EFI. You get it like this:
Code:
wget -O shellx64.efi 'http://tianocore.git.sourceforge.net/git/gitweb.cgi?p=tianocore/edk2;a=blob_plain;f=EdkShellBinPkg/FullShell/X64/Shell_Full.efi;hb=HEAD'

#### Posting Permissions

• You may not post new threads
• You may not post replies
• You may not post attachments
• You may not edit your posts
•