On Feb 13, 2014, at 3:03 AM, Saint Germain <saint...@gmail.com> wrote:

> On 13 February 2014 09:50, Frank Kingswood
> <fr...@kingswood-consulting.co.uk> wrote:
>> On 12/02/14 17:13, Saint Germain wrote:
>>> 
>>> Ok based on your advices, here is what I have done so far to use UEFI
>>> (remeber that the objective is to have a clean and simple BTRFS RAID1
>>> install).
>>> 
>>> A) I start first with only one drive, I have gone with the following
>>> partition scheme (Debian wheezy, kernel 3.12, grub 2.00, GPT partition
>>> with parted):
>>> sda1 = 1MiB BIOS Boot partition (no FS, "set 1 bios_grub on" with
>>> parted to set the type)
>>> sda2 = 550 MiB EFI System Partition (FAT32, "toggle 2 boot" with
>>> parted to set the type),  mounted on /boot/efi
>> 
>> 
>> I'm curious, why so big? There's only one file of about 100kb there, and I
>> was considering shrinking mine to the minimum possible (which seems to be
>> about 33 MB).
>> 
> 
> It is quite difficult to find reliable information on this whole UEFI
> boot with linux (info you can find for sure, but which ones to follow
> ? there are so many different info out there).
> 
> So I don't know if this 550 MiB is an urban legend or not, but you can
> find several people recommending it and the reason why:
> http://askubuntu.com/questions/336439/any-problems-with-this-partition-scheme
> http://askubuntu.com/questions/287441/different-uses-of-term-efi-partition
> https://bbs.archlinux.org/viewtopic.php?pid=1306753
> http://forums.gentoo.org/viewtopic-p-7352214.html
> 
> Other people recommend around 200-300 MiB, so I basically took the
> upper limit to see what happen.
> If you have more reliable info on the topic I would be interested !

Draw straws, flip a coin, I wouldn't stress out about it that much. Considering 
it's effectively impossible to resize a partition 1 ESP once there's a 
partition 2 right behind it, I think 550MB is totally sane in particular if you 
plan on experimenting with different EFI OS Loaders, or multibooting since all 
OS Loaders go on the ESP. If it's a single OS only system, yeah sure you can 
get by with a smaller ESP.

And yes the UEFI boot thing is like playing jacks (knucklebones). Many variants.



> 
>>> sda3 = 1 TiB root partition (BTRFS), mounted on /
>>> sda4 = 6 GiB swap partition
>>> (that way I should be able to be compatible with both CSM or UEFI)
>>> 
>>> B) normal Debian installation on sdas, activate the CSM on the
>>> motherboard and reboot.
>>> 
>>> C) apt-get install grub-efi-amd64 and grub-install /dev/sda
>>> 
>>> And the problems begin:
>>> 1) grub-install doesn't give any error but using the --debug I can see
>>> that it is not using EFI.
>>> 2) Ok I force with grub-install --target=x86_64-efi
>>> --efi-directory=/boot/efi --bootloader-id=grub --recheck --debug
>>> /dev/sda
>>> 3) This time something is generated in /boot/efi:
>>> /boot/efi/EFI/grub/grubx64.efi
>>> 4) Copy the file /boot/efi/EFI/grub/grubx64.efi to
>>> /boot/efi/EFI/boot/bootx64.efi
>> 
>> 
>>                ^^^^ is EFI/boot/ correct here?
>> 
>> If you're lucky then your BIOS will tell what path it will try to read for
>> the boot code. For me that is /EFI/debian/grubx64.efi.
>> 
> 
> I followed the advices here (first result on Google with "grub uefi debian"):
> http://tanguy.ortolo.eu/blog/article51/debian-efi
> 
>>> 5) Reboot and disable the CSM on the motherboard
>>> 6) No boot possible, I always go directly to the UEFI-BIOS
>>> 
>>> I am currently stuck there. I read a lot of conflicting advises which
>>> doesn't work:
>>>   - use "modprobe efivars" and efibootmgr: not possible because I have
>>> not booted in EFI (chicken-egg problem)
>> 
>> 
>> Not exactly. Boot in EFI mode into your favourite installer rescue mode,
>> then chroot into the target filesystem and run efibootmgr there.
>> 
> 
> In the end I managed to do it like this:
> 1) Make a USB stick with FAT32 partition
> 2) Install grub on it with:
> grub-install --target=x86_64-efi --efi-directory=/media/usb0 --removable
> 3) Note on a paper the grub commands to start the kernel in 
> /boot/grub/grub.cfg
> 3) Reboot, Disable CSM in the motherboard boot utility (BIOS?), Reboot
> with the USB stick connected
> 4) Normally it should have started on the USB stick grub command-line
> 5) Enter the necessary command to start the kernel (if you have some
> problem with video mode, use "insmod efi_gop")
> 6) Normally your operating system should start normally
> 7) Check that efibootmgr is installed and working (normally efivars
> should be loaded in the modules already)
> 8) grub-install --efi-directory=/boot/efi --recheck --debug
> (with the debug info you should see that it is using grub-efi and not grub-pc)
> 9) efibootmgr -c -d /dev/sda -p 2 -w -L "Debian (GRUB)" -l
> '\EFI\Debian\grubx64.efi'
> (replace -p 2 with yout correct ESP partition number)
> 10) Reboot and enjoy !

OK at least with GRUB 2.00 I never have to use any options with grub-install 
when installing to a chrooted system. It also even writes the proper entry into 
NVRAM for me, I don't have to use efibootmgr.

Also I've never had single \ work with efibootmgr from shell. I have to use \\. 
Try typing efibootmgr -v to see the actual entry you created and whether it has 
the \ in the path.

But one thing that explains why the UEFI bootloading stuff is confusing for you 
is that every distro keeps their own grub patches. So there is very possibly a 
lot of difference between the downstream grub behaviors, and upstream.


Chris Murphy

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to