ubiquity does not install needed filesystem modules on UEFI PC

Bug #1651349 reported by Schplurtz le déboulonné
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
grub2 (Ubuntu)
New
Undecided
Unassigned

Bug Description

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

Phillip Susi (psusi)
affects: ubiquity (Ubuntu) → grub2 (Ubuntu)
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.