Skip to content

Commit 29023d4

Browse files
coolstarcrawfxrd
authored andcommitted
Add filesystem drivers
Add EXT2/EXT4, exFAT, NTFS filesystem drivers. Do not add ISO9115 drivers as it breaks El Torito boot. Sourced from: https://github.com/pbatard/EfiFs/releases/tag/v1.10 https://github.com/pbatard/ntfs-3g/releases/tag/1.7 Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Change-Id: I2e4d67cd8251ef3ec8a122a3ea0081aca6cfc455
1 parent 66dbaf9 commit 29023d4

16 files changed

Lines changed: 878 additions & 0 deletions

FSDrivers/IA32/LICENSE.txt

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
Licensing for the filesystem drivers is complex. Three different licenses
2+
apply to various parts of the code:
3+
4+
* Christoph Pfisterer's original file system wrapper (FSW) code is covered
5+
by a BSD-style license. Many of the source files with names that take the
6+
form fsw_*.[ch] are so licensed, but this is NOT generally true of
7+
filesystem-specific files (e.g., fsw_ext2.c or fsw_btrfs.c).
8+
9+
* Certain filesystem drivers are licensed under the GPLv2, either because
10+
they borrow code from the Linux kernel or because a developer (typically
11+
Oracle) applied the GPLv2 license to them. This is true of the ext2fs,
12+
ext4fs, ReiserFS, HFS+, and ISO-9660 drivers.
13+
14+
* At least one filesystem driver (Btrfs) uses code taken from GRUB, and so
15+
uses the GPLv3 (or later) license.
16+
17+
Note that the GPLv2 and GPLv3 are, ironically, not compatible licenses.
18+
Thus, code from GPLv2 and GPLv3 projects should not be mixed. The BSD
19+
license used by Pfisterer's original code is compatible with both versions
20+
of the GPL, so the fact that both GPLv2 and GPLv3 drivers is built upon it
21+
is OK. If you intend to contribute to this project's drivers or use the
22+
code yourself, please keep this fact in mind.
23+
24+
The below was written by Christoph Pfisterer with respect to his original
25+
code:
26+
27+
File System Wrapper License
28+
=============================
29+
30+
The various parts of the File System Wrapper source code come from
31+
different sources and may carry different licenses. Here's a quick
32+
account of the situation:
33+
34+
* The core code was written from scratch and is covered by a
35+
BSD-style license.
36+
37+
* The EFI host driver was written from scratch, possibly using code
38+
from the TianoCore project and Intel's EFI Application Toolkit. It
39+
is covered by a BSD-style license.
40+
41+
* The ext2 and reiserfs file system drivers use definitions from the
42+
Linux kernel source. The actual code was written from scratch,
43+
using multiple sources for reference. These drivers are covered by
44+
the GNU GPL.
45+
46+
For more details, see each file's boilerplate comment. The full text
47+
of the GNU GPL is in the file LICENSE_GPL.txt.

FSDrivers/IA32/LICENSE_GPL.txt

Lines changed: 340 additions & 0 deletions
Large diffs are not rendered by default.

FSDrivers/IA32/exfat_ia32.efi

35.1 KB
Binary file not shown.

FSDrivers/IA32/ext2_ia32.efi

34.8 KB
Binary file not shown.

FSDrivers/IA32/ext4_ia32.efi

19.1 KB
Binary file not shown.

FSDrivers/IA32/ntfs_ia32.efi

176 KB
Binary file not shown.

FSDrivers/X64/LICENSE.txt

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
Licensing for the filesystem drivers is complex. Three different licenses
2+
apply to various parts of the code:
3+
4+
* Christoph Pfisterer's original file system wrapper (FSW) code is covered
5+
by a BSD-style license. Many of the source files with names that take the
6+
form fsw_*.[ch] are so licensed, but this is NOT generally true of
7+
filesystem-specific files (e.g., fsw_ext2.c or fsw_btrfs.c).
8+
9+
* Certain filesystem drivers are licensed under the GPLv2, either because
10+
they borrow code from the Linux kernel or because a developer (typically
11+
Oracle) applied the GPLv2 license to them. This is true of the ext2fs,
12+
ext4fs, ReiserFS, HFS+, and ISO-9660 drivers.
13+
14+
* At least one filesystem driver (Btrfs) uses code taken from GRUB, and so
15+
uses the GPLv3 (or later) license.
16+
17+
Note that the GPLv2 and GPLv3 are, ironically, not compatible licenses.
18+
Thus, code from GPLv2 and GPLv3 projects should not be mixed. The BSD
19+
license used by Pfisterer's original code is compatible with both versions
20+
of the GPL, so the fact that both GPLv2 and GPLv3 drivers is built upon it
21+
is OK. If you intend to contribute to this project's drivers or use the
22+
code yourself, please keep this fact in mind.
23+
24+
The below was written by Christoph Pfisterer with respect to his original
25+
code:
26+
27+
File System Wrapper License
28+
=============================
29+
30+
The various parts of the File System Wrapper source code come from
31+
different sources and may carry different licenses. Here's a quick
32+
account of the situation:
33+
34+
* The core code was written from scratch and is covered by a
35+
BSD-style license.
36+
37+
* The EFI host driver was written from scratch, possibly using code
38+
from the TianoCore project and Intel's EFI Application Toolkit. It
39+
is covered by a BSD-style license.
40+
41+
* The ext2 and reiserfs file system drivers use definitions from the
42+
Linux kernel source. The actual code was written from scratch,
43+
using multiple sources for reference. These drivers are covered by
44+
the GNU GPL.
45+
46+
For more details, see each file's boilerplate comment. The full text
47+
of the GNU GPL is in the file LICENSE_GPL.txt.

FSDrivers/X64/LICENSE_GPL.txt

Lines changed: 340 additions & 0 deletions
Large diffs are not rendered by default.

FSDrivers/X64/exfat_x64.efi

39.3 KB
Binary file not shown.

FSDrivers/X64/ext2_x64.efi

38.3 KB
Binary file not shown.

0 commit comments

Comments
 (0)