You are not logged in.

#1 2013-11-23 18:37:14

lmello
Member
From: Brazil
Registered: 2012-11-06
Posts: 299

Can the UEFI partition be formatted other than vfat?

Hi,

Recently I've come with the challenge (?) of UEFI motherboards. I have looked upon a Fedora 18 machine and it had its /boot (with efi files on /boot/efi) partition formatted as ext4. So far I've read that the UEFI partition should be formatted as vfat, but that intrigued me - is it obligatory to have /boot/efi mounted on a vfat filesystem or can I use another type? Because I'm looking forward to btrfs in the near future.


Fundamental Axiom of the Universe (aka Murphy's Law): Whatever can go wrong, will go wrong.
First Digital Deduction: Nothing obeys Murphy's Law so well as computers.
Second Digital Deduction: Everything go wrong at least once.
Third Digital Deduction: Things go wrong even when there's absolutely no possibility of anything go wrong.

Offline

#2 2013-11-23 18:40:19

the.ridikulus.rat
Member
From: Indiana, USA
Registered: 2011-10-04
Posts: 765

Re: Can the UEFI partition be formatted other than vfat?

lmello wrote:

Hi,

Recently I've come with the challenge (?) of UEFI motherboards. I have looked upon a Fedora 18 machine and it had its /boot (with efi files on /boot/efi) partition formatted as ext4. So far I've read that the UEFI partition should be formatted as vfat, but that intrigued me - is it obligatory to have /boot/efi mounted on a vfat filesystem or can I use another type? Because I'm looking forward to btrfs in the near future.

The UEFI partition FS should be readable by the system firmware, and according to spec only FAT variants (FAT32 recommended) are the supported FS. So unless you can find a way to modify your system's UEFI firmware and include ext2/3/4 or btrfs UEFI driver in the firmware itself, FAT is the only supported FS.

Offline

#3 2013-11-23 21:02:20

lmello
Member
From: Brazil
Registered: 2012-11-06
Posts: 299

Re: Can the UEFI partition be formatted other than vfat?


Fundamental Axiom of the Universe (aka Murphy's Law): Whatever can go wrong, will go wrong.
First Digital Deduction: Nothing obeys Murphy's Law so well as computers.
Second Digital Deduction: Everything go wrong at least once.
Third Digital Deduction: Things go wrong even when there's absolutely no possibility of anything go wrong.

Offline

#4 2013-11-23 21:14:02

WonderWoofy
Member
From: Los Gatos, CA
Registered: 2012-05-19
Posts: 8,412

Re: Can the UEFI partition be formatted other than vfat?

You're missing the point here.  It is the firmware that needs to handle this.  Typically the firmware is not something that can be easily changed, as x86 UEFI systems have firmware that is built off the open standards, but then have a bunch of proprietary crap on top of it.  So this makes it pretty impossible to build your own firmware on most machines, as you could do the UEFI spec part, but not the rest of the stuff that might be absolutely crucial to making your system operate properly.

Additionally, I think that part of the windows 8 secureboot requirements are that the hardware will only accept firmware that is rsa signed by the vendor's key.  This key is not publicly available, so even if you were able to somehow throw together a patched bios, you still wouldn't be able to actually flash it in the standard way.  Theoretically, you could use an actual hardware flasher and flash the chip directly, but this would require disassembly of the machine, and a mass amount of bricking risk.

Offline

#5 2013-11-23 22:59:10

srs5694
Member
From: Woonsocket, RI
Registered: 2012-11-06
Posts: 719
Website

Re: Can the UEFI partition be formatted other than vfat?

lmello wrote:

The code at that URL looks like a version of the ext2/3/4fs drivers included in rEFInd. In order to be useful, one of two conditions must be met:

  • The resulting driver binary must be stored on a filesystem that the firmware can already read and must be loaded by the firmware itself or by some program that the firmware launches. Thus, when used in this way, these drivers don't help you get around the need for a FAT partition. In fact, this condition can be met by rEFInd; the rEFInd binary and filesystem driver are stored on the FAT ESP, and rEFInd can then load Linux kernels or other boot loaders from an ext2/3/4 filesystem.

  • The resulting code must be incorporated into the firmware itself -- that is, flashed to your computer's EEPROM chip. It's theoretically possible to do this as a regular user, but it would require a lot of knowledge to put together a working EFI image, and you might need to use a hardware EEPROM burner and physically replace the chip in your computer.

According to Wikipedia, Linaro "is a not-for-profit (NFP) engineering organization that works on consolidating and optimizing open source software for the ARM architecture." Thus, my guess is that Linaro is adding ext2/3/4fs support to its EFI implementation for ARM computers. It's unlikely that Dell, Toshiba, Sony, or other manufacturers of x86/x86-64 PCs will pick up this code, because some of it is GPLed. Future ARM-based computers might see this functionality, though.

One more point: The existing ext2/3/4fs drivers for EFI are read-only. This can be limiting in that you can't use the EFI's text editor or other tools that require write access to the partition.

FWIW, Apple's EFI implementation includes a read-only HFS+ driver, so Macs can boot from HFS+ volumes. (In fact, that's how they boot OS X; the OS X boot loader is stored on the OS X root directory, not on the ESP.) I've heard of people who use HFS+ on their ESPs on Macs. VirtualBox's EFI also includes an HFS+ driver, but I've never tried booting VirtualBox using an HFS+ ESP, so I don't know if that would work.

Ultimately, the use of FAT for the ESP isn't a significant problem, at least in principle. (There are some bugs in some EFIs' FAT implementations, but that's a matter of system-specific bugs.) Although it would be handy to be able to use links and other such features on the ESP, that's a minor limitation at worst. The ESP's purpose is pretty limited: Store boot loaders and related files. FAT is adequate for that task, and FAT is well-supported in a wide range of OSes, so FAT is the only logical choice for the job. Using FAT for the ESP will not limit you in your filesystems used elsewhere, so there's no real problem with using it.

Offline

Board footer

Powered by FluxBB