
Work based on current u-boot repository;
https://github.com/lundman/u-boot/compare/upstream...upstream-zfs
As previously discussed, all sources are GPLv2.
This patchs supports ZPOOL v28 (including ashift patches) on Single or Mirror VDEVs.
It does not work with RAIDZ and higher VDEVs.

Hi Jorgen,
On Tue, May 22, 2012 at 1:32 PM, Jorgen Lundman lundman@lundman.net wrote:
Work based on current u-boot repository;
https://github.com/lundman/u-boot/compare/upstream...upstream-zfs
These patches will likely not get reviewed and definitely will not get merged unless that are posted to the mailing list
As previously discussed, all sources are GPLv2.
Does that imply the possibility that a ZFS driver might one day get added to the Linux kernel proper?
This patchs supports ZPOOL v28 (including ashift patches) on Single or Mirror VDEVs.
It does not work with RAIDZ and higher VDEVs.
Regards,
Graeme

Does that imply the possibility that a ZFS driver might one day get added to the Linux kernel proper?
ZOL http://zfsonlinux.org/ already exists and runs very well. But it should be noted that the license prohibits the *distribution* of Linux with ZFS. Which is why it is a separate kernel module. Read more about license on the ZOL pages from people who know more about it than I.
So *I* don't think we will see a kernel with ZFS already in it, but you can already "apt-get install zfs" for many distributions. I use initrd to load ZFS then boot my pool.
However, that is a separate issue here, since ZOL is based on the Solaris kernel sources, which are CDDL.
GRUB ZFS "booting" sources are based on the GRUB GPL sources, provided by Sun to GRUB.
They are very stripped down, and can only read files, on single/mirror. No RAIDZ etc logic was released as GPL, so GRUB sources can not boot from those volumes (a limitation from day one).
I did notice that Illumos (OpenIndiana) have work started on extending GRUB boot, and ZFS crypto. But that is currently futureware.
Lund

Hi Jorgen,
On Tue, May 22, 2012 at 1:51 PM, Jorgen Lundman lundman@lundman.net wrote:
GRUB ZFS "booting" sources are based on the GRUB GPL sources, provided by Sun to GRUB.
Hmm, I know that GRUB is GPLv3+ - Is the ZFS code GPLv3+ or was that released under a different version? (I know the ZFS license was discussed before, but I can't recall if the explicit GPL version was referred to)
Regards,
Graeme

GRUB 0.96 (2005) which received the initial ZFS GRUB sources was probably GPLv2. The ZFS sources files contributed are all tagged with GPLv2. I have left all header license chunks untouched.
Hmm, I know that GRUB is GPLv3+ - Is the ZFS code GPLv3+ or was that released under a different version? (I know the ZFS license was discussed before, but I can't recall if the explicit GPL version was referred to)
Regards,
Graeme

I stand corrected, going over the files now for the patching, nearly all ZFS related files (headers, and internals) are GPLv3. The GRUB specific files (the files interfacing with the GRUB API) appear to be GPLv2.
Lund
Jorgen Lundman wrote:
GRUB 0.96 (2005) which received the initial ZFS GRUB sources was probably GPLv2. The ZFS sources files contributed are all tagged with GPLv2. I have left all header license chunks untouched.
Hmm, I know that GRUB is GPLv3+ - Is the ZFS code GPLv3+ or was that released under a different version? (I know the ZFS license was discussed before, but I can't recall if the explicit GPL version was referred to)
Regards,
Graeme

Hi Jorgen,
On May 22, 2012 4:31 PM, "Jorgen Lundman" lundman@lundman.net wrote:
I stand corrected, going over the files now for the patching, nearly all
ZFS related files (headers, and internals) are GPLv3. The GRUB specific files (the files interfacing with the GRUB API) appear to be GPLv2.
That is a problem. U-Boot is nominally GPLv2+ which would allow inclusion of GPLv3 code but there are significant portions of U-Boot which are GPLv2 (Linux kernel code for example) which is a blocker :(
Regards,
Graeme

That is a problem. U-Boot is nominally GPLv2+ which would allow inclusion of GPLv3 code but there are significant portions of U-Boot which are GPLv2 (Linux kernel code for example) which is a blocker :(
Originally the first checking has GPLv2. So GRUB bumped up the version somewhere along the way. I can go back to GPLv2 source, as there are no differences.
Lund

Hi Jorgen,
On May 22, 2012 5:34 PM, "Jorgen Lundman" lundman@lundman.net wrote:
That is a problem. U-Boot is nominally GPLv2+ which would allow inclusion of GPLv3 code but there are significant portions of U-Boot which are
GPLv2
(Linux kernel code for example) which is a blocker :(
Originally the first checking has GPLv2. So GRUB bumped up the version
somewhere along the way. I can go back to GPLv2 source, as there are no differences.
Yep. Just provide a commit ID to cover our a..es :)
Regards,
Graeme

Dear Jorgen Lundman,
In message 4FBB4195.3000207@lundman.net you wrote:
That is a problem. U-Boot is nominally GPLv2+ which would allow inclusion of GPLv3 code but there are significant portions of U-Boot which are GPLv2 (Linux kernel code for example) which is a blocker :(
Originally the first checking has GPLv2. So GRUB bumped up the version somewhere along the way. I can go back to GPLv2 source, as there are no differences.
Please provide (as part of the commit message) _exact_ reference for the origin of that code.
Best regards,
Wolfgang Denk

Dear Jorgen Lundman,
In message 4FBB08B2.7010407@lundman.net you wrote:
https://github.com/lundman/u-boot/compare/upstream...upstream-zfs
As previously discussed, all sources are GPLv2.
How would this be possible? My understanding is that ZFS comes only under a GPL incompatible license. Please elucidate.
Best regards,
Wolfgang Denk

Wolfgang Denk wrote:
As previously discussed, all sources are GPLv2.
How would this be possible? My understanding is that ZFS comes only under a GPL incompatible license. Please elucidate.
Perhaps a more visual answer is in order, to my other two replies, on the license situation.
If you look in Solaris sources, for ZFS, you will find 94 files, of which 94 files are of CDDL license. That is some:
(/usr/src/solaris11/usr/src) wc -l ./uts/common/fs/zfs/*.[ch] ./common/zfs/*.[ch] ./uts/common/sys/fs/z* 103993 total
So, about 100k worth of source. But Sun had no way to boot intel platform. So they wrote a subset "ZFS boot" sources for GRUB, under GPL v2 license.
Ie, 22 files, all GPLv2.
(/usr/src/grub-0.97/) wc -l include/zfs/* fs/zfs/*.[ch] 4328 total
At no point is the GRUB/u-boot ZFS sources the same as the actual file-system files. (Although, some of the headers overlap). As Sun wanted GRUB support, they were forced to release GRUB ZFS subset sources as GPLv2.
Lund
participants (3)
-
Graeme Russ
-
Jorgen Lundman
-
Wolfgang Denk