DigitalOcean: You haven't used our services in a while... "no matter what roadblock lies in your way, we’re here to help."

Me: My roadblock is that you stopped offering #FreeBSD images.

DigitalOcean: You can bring your own image!

Me: BYO images require ext3/ext4, which are not native FreeBSD filesystems.

@emaste Why doesn't FreeBSD support it?
@Conan_Kudo The FreeBSD kernel does support ext3/ext4, but we have no tooling to build VM images on an ext3/ext4 filesystem, I'm not sure it's been tested as a root fs, the loader most likely doesn't support it, etc.
@emaste I assume it could be tested and made to work. DigitalOcean isn't the only provider with restrictions like this. It may be useful to do consider supporting it properly in FreeBSD...
@Conan_Kudo @emaste The only benefit of supporting ext in FreeBSD that I can see is mounting drives. It would be silly to use it for the root fs.
@autolycus @Conan_Kudo @emaste Back when I ran FreeBSD, the issue was that ext3/4 are GPL and not license compatible with the FreeBSD kernel, which to your point, is why there is limited mount support but not kernel level rootfs support. At the time at least, Linux wasn't great at ufs support either. Getting FreeBSD and Linux to directly share files was much more annoying than I expected it would be.

@vwbusguy @autolycus @Conan_Kudo #FreeBSD includes a BSD licensed ext2/3/4 implementation and there's no fundamental reason an ext3/4 rootfs is impossible.

https://cgit.freebsd.org/src/tree/sys/fs/ext2fs

ext2fs « fs « sys - src - FreeBSD source tree

@emaste @vwbusguy @autolycus @Conan_Kudo You could use UFS for boot and ext4 for the system, would that work?
@neel @emaste @autolycus @Conan_Kudo I've been out of the #FreeBSD game for a several years, but last I checked, the driver was incredibly basic and didn't support journaling, so it wasn't really safe beyond read-only mounts (the reverse was also true for ufs on Linux). There's also no generally practical reason to do this on FreeBSD instead of supported filesystems like ufs, zfs, etc. Blindly reverse engineering Filesystems isn't trivial, especially with high risk for data loss.
@neel @emaste @autolycus @Conan_Kudo And yes, it is ironic that zfs's license isn't a showstopper for FreeBSD, but Linux's GPL is a conflict both ways (to be clear, I squarely blame Oracle for this wrt zfs). But openzfs via fuse on Linux is more developed and robust than the ext driver in the FreeBSD kernel.
@neel @emaste @autolycus @Conan_Kudo IANAL, but someone could also fork FreeBSD, license it under GPL, and hack the Linux ext drivers to work with the FreeBSD calls, but this goes against the ideology of much of the BSD community. Distributions might also possibly relicense their Linux kernel version to GPLv3 and ship zfs, but that might break the ability to contribute and changes back to the upstream kernel, which goes against much of the Linux ideology. Again, IANAL.

@vwbusguy @neel @emaste @autolycus @Conan_Kudo You don't need to hack #FreeBSD, it has implemented Linux calls too, on BSD license. 😀 It is called Linuxator. So, ext drivers should work with FreeBSD, same as it is done with Wi-Fi and DRM drivers. All of them are "rip-offs" from Linux.

License also isn't a problem. Even FreeBSD kernel still has some code with GPL.

@thindil @neel @emaste @autolycus @Conan_Kudo Technically true, but it seems to all be /sys/contrib and primarily device trees. Nothing under /sys/fs (where the ext driver lives) as far as I can tell, except to note that there are a couple of "cddl" named folders specifically for CDDL code, but I don't see anything similar for GPL.

@vwbusguy @thindil @neel @autolycus @Conan_Kudo

see sys/gnu: in there is gcov and a bwn (Broadcom WiFi) phy

@emaste @thindil @neel @autolycus @Conan_Kudo FWIW, Those are in process of being rewritten to BSD licensed code: https://wiki.freebsd.org/GPLinBase

You can personally, legally probably make it happen, but there is an ideological difference beyond the legal difference. I look at this GPL inclusion like Fedora packaging proprietary Intel firmware. It's a exception rather than the rule for the sake of practicality, but not at all an ideological opening of floodgates.

GPLinBase - FreeBSD Wiki