Re: RFC: Can a file system be built as a kext?
site_archiver@lists.apple.com Delivered-To: darwin-kernel@lists.apple.com Dkim-filter: OpenDKIM Filter v2.10.3 mail.lundman.net B52562E8D05 Dkim-signature: v=1; a=rsa-sha256; c=simple/simple; d=lundman.net; s=dkim; t=1755296937; bh=0t+Ih8qGDm5wpmohAvgsOsZMOe52ZMVRT138URcMjz8=; h=Subject:From:In-Reply-To:Date:Cc:References:To; b=bS5E0X/0hdr8OorEN6MEld0auJG33xqlbhbeTitAvJu1gqQ+SrXTMxFwGbn4OLDSo fGA3AhaIFH++khlu29IUrAq9AGNZniKgzCyDXIKISFciJ0u0Y+OyfgSLIRRXvV0iBd NGR26GD9cT1CrQ0al+m1j8o5BQPVI5qksgVqbuSk= Hi, I still work on and maintain OpenZFS on macOS, as a kext. Filesystems are probably the last part that you can do as a kext, most other things have moved into Userspace. Apple version of Fuse I suppose. There is a FileSystem variant of that shipped with Sequoia, which I intend to have a go at, but there seem to be very little information on it. I would like Apple to port AFS to it, so we can see how they want us to use it. Working with kext is getting more tedious. You can no longer just load and unload while debugging, now you need to reboot. You can not just link against XNU symbols, only those explicitly exported in config/*.x86_64.exports and config/*.arm64.exports which is not much. Slightly more annoying is that arm64 exports are even more limited than x86_64. Like they forgot to copy some over? Debugging is quite poor on arm64. You can connect lldb to target host, but you can practically do nothing. No stepping etc. You can get the paniclog and maybe the stack. Even getting the stack from a .panic text file is not really possible. No more keepsyms here. (I mean you can, bunch of objcopy, and math, and its sort of close). Apple has made it clear they want to get rid of kexts tho, so it feels like any effort spent on it, will ultimately be wasted, as one day it will end. But today, it is still possible. Lund
On Aug 16, 2025, at 4:40, Rick Macklem via Darwin-kernel <darwin-kernel@lists.apple.com> wrote:
Hi,
Long ago (nearly 20 years) I wrote a NFSv4 client for Mac OSX 10.4. I could build it as a kext because it linked against the entire mach_kernel, which was allowed. Once that capability went away (somewhere around Snow Leopard) I dropped it, in part because Apple started shipping their own NFSV4 client. (It was once on source forge, but seems to have gone away.)
Anyhow, since NFSv4.1/4.2 is finally maturing and Apple has not updated their client, I was thinking of getting back in the game. However, if I cannot build a kext, there isn't much point, since source patches against the kernel won't interest anyone. (I would put the sources up somewhere like github.)
Which brings me to the big question... If I find a suitable laptop, can I build a kext that will install/work as a file system?
Thanks in advance for any comments, rick _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/darwin-kernel/lundman%40lundman.net
This email sent to lundman@lundman.net
_______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-kernel mailing list (Darwin-kernel@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/darwin-kernel/site_archiver%40lists.... This email sent to site_archiver@lists.apple.com
participants (1)
-
Jorgen Lundman via Darwin-kernel