# Uboot on FAT partition



## Phishfry (Dec 12, 2015)

I am attempting to learn Crochet and I am going though the manuals and I have a simple nagging question:

Why does Uboot use a FAT partitioning scheme?

It seems odd to a Windows>XP hater. Linux and BSD using FAT...

Looking here I guess maybe the projects age has something to do with it?
http://www.denx.de/wiki/U-Bootdoc/Presentation

Supported Filesystems (read-only):


FAT
Reiser
JFFS2


----------



## SirDice (Dec 14, 2015)

No, it's simply because a Raspberry Pi and several other boards can only boot from FAT. Also note that UEFI systems boot from a FAT partition too.


----------



## Atsuri (Dec 15, 2015)

I think I'm still a bit of a layman in terms of file systems, but is not perhaps that FAT has a smaller footprint and as a file system occupies less HDD space on the partition for file system related tools?

That's how I would reason the use of FAT for both UEFI and Raspberry Pi boot partitions.


----------



## SirDice (Dec 15, 2015)

Atsuri said:


> I think I'm still a bit of a layman in terms of file systems, but is not perhaps that FAT has a smaller footprint and as a file system occupies less HDD space on the partition for file system related tools?


Very much possible. I've tried looking up _why_ they choose FAT but was unable to find anything. Possibly because it's a fairly simple layout and is therefor easily implemented in firmware. And I think it's also one of the most compatible filesystems, most operating systems are capable of handling it.

If anybody knows the reasoning behind the choice I'd be very interested to hear it


----------



## ondra_knezour (Dec 15, 2015)

SirDice you make me really curious about such reasoning, however I also didn't find anything factual, only quick overview of the UEFI "evolution" at http://www.uefi.org/sites/default/files/resources/A_Tale_of_Two_Standards_0.pdf 

And being strict, one have to say, that the chosen format is not exactly FATxx, but EFI system partition


> “The file system supported by the Extensible Firmware Interface is based on the FAT file system. EFI defines a specific version of FAT that is explicitly documented and testable. Conformance to the EFI specification and its associate reference documents is the only definition of FAT that needs to be implemented to support EFI. To differentiate the EFI file system from pure FAT, a new partition file system type has been defined.”



Finally, nice link  https://www.happyassassin.net/2014/01/25/uefi-boot-how-does-that-actually-work-then/


----------



## Crivens (Dec 15, 2015)

When searching for "what is this FATxx really?", rhe closest thing to an actual spec I came to was "if the checkdisk of W2K likes it, it's OK". And that was from "upstream" there. So, finally, something documented - even if it is not the real thing.


----------



## Phishfry (Dec 15, 2015)

I felt dumb asking the question but I do like to know how things work.


----------



## ondra_knezour (Dec 16, 2015)

Asking questions is only way how to get knowledge, so don't worry


----------



## Crivens (Dec 16, 2015)

ondra_knezour, correct. There are no stupid questions, only stupid answers.


----------



## SirDice (Dec 16, 2015)

Crivens said:


> There are no stupid questions, only stupid answers.


A wise man learns more from asking a dumb question than a dumb person learns from a wise answer


----------

