MAAS fast-path EFI install creates ESP that's too small

Bug #1306164 reported by Rod Smith
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
curtin
Fix Released
Critical
Blake Rouse
curtin (Ubuntu)
Fix Released
Critical
Unassigned

Bug Description

A MAAS fast-path install to an EFI-based computer creates an EFI System Partition (ESP) that's 100MiB in size. Such a small ESP can result in a number of problems, as described in several earlier bug reports (for non-MAAS installs) and on various external Web pages:

https://bugs.launchpad.net/ubuntu/+source/partman-efi/+bug/811485
https://bugs.launchpad.net/ubuntu/+source/partman-efi/+bug/769669
http://social.technet.microsoft.com/Forums/windows/en-US/fcfbb232-7b77-46d5-b8e1-b3399abfbae4/260mb-is-not-a-sufficient-size-to-efi-system-partition-of-native-4k-disk?forum=w8itproinstall
https://wiki.archlinux.org/index.php/Unified_Extensible_Firmware_Interface#EFI_System_Partition

That's a lot to read, and unfortunately, size recommendations have gone up over time as new implementation-specific bugs and other issues have come to light, so some of those pages describe inadequate minimums, at least in their first posts. The most concrete of the above is the Microsoft link, which describes a FAT limitation that's relevant only on disks with 4096-byte sectors, and imposes a hard "260MB" (I'm not sure if that's really 260MB or 260MiB) minimum size limit. (Although the link is to a Microsoft site, the same FAT issues apply to Ubuntu.) Such disks are starting to become available now, so at a minimum, anything under 260MiB is risky. Note that if disk sector sizes ever increase again, the minimum limit will also increase at that time.

I recommend 512MiB as a minimum because I've encountered, and seen user reports of, specific EFI implementations with bugs that cause the EFI to be unable to reliably read all files on the partition when the FAT32 filesystem is under 512MiB. I have an Intel DG43NB, for instance, on which files will randomly "disappear" from the EFI when the ESP is smaller than 512MiB. Such problems are rare, but frustrating when they do occur, because they can cause boot loader failures of various sorts. (Given Ubuntu's EFI boot loader configuration, chances are the result would be a failure to boot at all, although I haven't actually observed this.)

Given the large size of modern disks, there's no point in being stingy; making the ESP 512MiB or larger is sensible. Note that I mean 512MiB, not 512MB. If you want to be safe against MiB-MB confusion, make it 550MiB. (That will also cover an increase in sector size to 8192 bytes, should such a thing happen any time soon.)

My current MAAS data:

$ dpkg -l '*maas*' | cat
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-=====================================================-===================================================-============-===============================================================================
ii maas 1.5+bzr2236-0ubuntu1 all MAAS server all-in-one metapackage
ii maas-cli 1.5+bzr2236-0ubuntu1 all MAAS command line API tool
ii maas-cluster-controller 1.5+bzr2236-0ubuntu1 all MAAS server cluster controller
ii maas-common 1.5+bzr2236-0ubuntu1 all MAAS server common files
ii maas-dhcp 1.5+bzr2236-0ubuntu1 all MAAS DHCP server
ii maas-dns 1.5+bzr2236-0ubuntu1 all MAAS DNS server
ii maas-region-controller 1.5+bzr2236-0ubuntu1 all MAAS server complete region controller
ii maas-region-controller-min 1.5+bzr2236-0ubuntu1 all MAAS Server minimum region controller
ii python-django-maas 1.5+bzr2236-0ubuntu1 all MAAS server Django web framework
ii python-maas-client 1.5+bzr2236-0ubuntu1 all MAAS python API client
ii python-maas-provisioningserver 1.5+bzr2236-0ubuntu1 all MAAS server provisioning libraries

Revision history for this message
Rod Smith (rodsmith) wrote :
Changed in maas:
status: New → Triaged
Changed in curtin:
status: New → Confirmed
assignee: nobody → Blake Rouse (blake-rouse)
Changed in maas:
assignee: nobody → Blake Rouse (blake-rouse)
importance: Undecided → Critical
Changed in curtin:
status: Confirmed → In Progress
Changed in maas:
status: Triaged → In Progress
Changed in maas:
status: In Progress → Fix Released
status: Fix Released → Fix Committed
Changed in curtin:
status: In Progress → Fix Committed
Scott Moser (smoser)
Changed in curtin:
importance: Undecided → Critical
Changed in curtin (Ubuntu):
importance: Undecided → Critical
status: New → In Progress
no longer affects: maas
Changed in curtin (Ubuntu):
milestone: none → ubuntu-14.04
Changed in curtin (Ubuntu):
status: In Progress → Fix Released
Changed in curtin:
status: Fix Committed → Fix Released
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.