grub efi doesn't install fs module needed to access root
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
grub2 (Debian) |
Fix Released
|
Unknown
|
|||
grub2 (Ubuntu) |
Fix Released
|
High
|
Unassigned | ||
Bionic |
Fix Released
|
Medium
|
Eric Desrochers |
Bug Description
[Impact]
One can't deploy using root XFS partition using 18.04 on UEFI platform.
[Test case]
* Deploy a Bionic machine with a storage layout as follows:
vda-part1 536.9 MB fat32 /boot/efi
vgroot-lvroot 31.7 GB xfs / ## Only xfs is important here.
The Bionic/18.04LTS deployments will fail to boot and will be redirected to grub prompt:
grub>
[Where problems could occur]
I checked the delta between the 2 grub (Bionic and Focal) versions after the add of 'xfs' module to see if thre is any fixes/CVE/... that we should pick up, and I found nothing.
There is this change:
- xfs: Accept filesystem with sparse inodes
But it only seems to affect xfsprogs (4.16.0) which is not found in Bionic.
Ryan, cyphermox and I were concerned that it is adding to the set of modules included in the secureboot-signed binary. I confirmed with vorlon and everything seemed okay on his end.
If something arise, it will be around xfs itself, and shouldn't affect other FS module. Situation would be as it is right now, xfs not working with uefi platform.
[Other information]
* Debian:
https:/
debian/changelog:
- Add xfs module to signed UEFI images (closes: #911147, LP: #1652822).
* Salsa commit:
https:/
* The workaround is to create a /boot partition, with ext4, so you have:
# Example
vda-part1 ext4 /boot
vda-part2 fat32 /boot/efi
vgroot-lvroot xfs /
[Original Description]
If I do a fresh install on an efi system and use xfs for the root and boot filesystems, the install will succeed and then on reboot grub will drop to a grub shell and fail to boot. If I try to do an ls on any of the xfs filesystems, grub reports unsupported filesystem. Doing an insmod on xfs.mod doesn't work on the xfs filesystem since it can't be read
/boot/efi is a fat32 esp partition and can be read by grub. I can make the system boot by putting a copy of /boot/grub/
insmod (hd0,gpt1)
I'm guessing this would work if boot was ext2.
My current HDD setup is:
fdisk -l /dev/sda
Disk /dev/sda: 477 GiB, 512110190592 bytes, 1000215216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 5F358931-
Device Start End Sectors Size Type
/dev/sda1 2048 2000895 1998848 976M EFI System
/dev/sda2 2000896 4001791 2000896 977M Linux filesystem
/dev/sda3 4001792 804902911 800901120 381.9G Linux LVM
My current fstab is:
/dev/mapper/
# /boot was on /dev/sda2 during installation
UUID=006c4d31-
# /boot/efi was on /dev/sda1 during installation
UUID=DFD4-FB95 /boot/efi vfat umask=0077 0 1
/dev/mapper/
/dev/mapper/
ProblemType: Bug
DistroRelease: Ubuntu 16.04
Package: grub-efi-amd64 2.02~beta2-
ProcVersionSign
Uname: Linux 4.4.0-57-generic x86_64
ApportVersion: 2.20.1-0ubuntu2.4
Architecture: amd64
CurrentDesktop: MATE
Date: Tue Dec 27 12:42:40 2016
InstallationDate: Installed on 2016-12-27 (0 days ago)
InstallationMedia: Ubuntu 16.04.1 LTS "Xenial Xerus" - Release amd64 (20160719)
SourcePackage: grub2
UpgradeStatus: No upgrade log present (probably fresh install)
Related branches
- Server Team CI bot: Approve (continuous-integration)
- curtin developers: Pending requested
-
Diff: 503 lines (+359/-29)7 files modifiedcurtin/block/mkfs.py (+35/-23)
curtin/commands/block_meta.py (+12/-4)
examples/tests/lvmroot.yaml (+42/-0)
examples/tests/uefi_lvmroot.yaml (+82/-0)
tests/unittests/test_block_mkfs.py (+7/-0)
tests/vmtests/__init__.py (+26/-2)
tests/vmtests/test_lvm_root.py (+155/-0)
tags: | added: yakkety |
summary: |
- grub efi xfs unsupported filesystem + grub efi doesn't install fs module needed to access root |
Changed in grub2 (Ubuntu): | |
importance: | Undecided → Critical |
tags: | added: id-5a8df3b7e96d9c9d3ffc8f7b |
Changed in grub2 (Debian): | |
status: | Unknown → Fix Released |
Changed in grub2 (Ubuntu Bionic): | |
status: | New → In Progress |
assignee: | nobody → Eric Desrochers (slashd) |
importance: | Undecided → Medium |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
description: | updated |
tags: | removed: verification-needed |
Status changed to 'Confirmed' because the bug affects multiple users.