[Bug 1651349] [NEW] ubiquity does not install needed filesystem modules on UEFI PC

Launchpad Bug Tracker 1651349 at bugs.launchpad.net
Tue Jan 3 14:42:52 UTC 2017


You have been subscribed to a public bug:

UEFI grub 64 has VFAT and (supposedly) ext filesystem modules built in.
If /boot is on another kind of filesystem (XFS in my case), grub can't
boot a newly installed PC.

I installed ubuntu 16.04.1 amd64 desktop on a UEFI PC and chose XFS for
/ partition and no separate /boot. So /boot was on XFS. grub could not
load /boot/grub/grub.cfg. newly installed PC did not boot.

Recommended action IMHO :
=========================
Ubiquity should make sure grub can effectively load the /boot/grub/grub.cfg file. It has to put whatever filesystem grub module are needed in the EFI partition and make sure this module is loaded early from the EFI /EFI/ubuntu/grub.cfg.

I manually did that, and now the PC happily boots.

Details of what I did :
=======================
1) On a working computer, create an USB install using usb-creator-gtk
2) Use a pure UEFI PC, with no CSM or other legacy boot enabled.
3) boot this computer into the live session with the usb stick created
4) install Ubuntu Gnu/Linux. Choose manual partitioning. Create one
   XFS formatted filesystem. Disk partition format is GPT. Partitions are
   set up like this :
       Start (sector)    End (sector)  Size        Code  Name
   1            2048          534527   260.0 MiB   EF00  EFI system partition
   2          534528          944127   200.0 MiB   8200  Swap
   3          944128       500118158   238.0 GiB   8300  Everything

5) installation goes on without any error or warning
6) reboot. Grub starts but can't access the filesystem since it does not have XFS capacity. The machine is not bootable.

For years, I have been using such configurations with BIOS. Bios grub
has been able to read XFS and boot. The same usb stick, if plugged in a
BIOS PC will perfectly install with / formatted as XFS. BIOS grub
installed from this same media has XFS support (or it is merged into
grub 1.5 stage, don't really know), and the PC boots.

My solution :
=============
1) on the EFI partition, copy xfs.mod in directory EFI/ubuntu/
2) load the xfs module before grub tries to read /boot/grub/grub.cfg (which is on XFS). This is done in the initial grub.cfg of the EFI partition.
Here is my EFI/ubuntu/grub.cfg file

search.fs_uuid BC9C-B499 root hd0,gpt1 
insmod /efi/ubuntu/xfs.mod
search.fs_uuid 192019be-35a2-4eea-aabc-6c8956d50573 root hd0,gpt3 
set prefix=($root)'/boot/grub'
configfile $prefix/grub.cfg

** Affects: grub2 (Ubuntu)
     Importance: Undecided
         Status: New

-- 
ubiquity does not install needed filesystem modules on UEFI PC
https://bugs.launchpad.net/bugs/1651349
You received this bug notification because you are a member of Ubuntu Foundations Bugs, which is subscribed to grub2 in Ubuntu.



More information about the foundations-bugs mailing list