Any FSKit sample available from Apple?

Is there an FSKit sample available? I have tried sample code from https://github.com/KhaosT/FSKitSample on macOS Tahoe 26. I am able to compile the code, with signed/unsigned code, the mount always hangs on Apple Silicon macOS Tahoe 26.

Here is the mount script: mkfile -n 100m dummy // create a dummy file hdiutil attach -imagekey diskimage-class=CRawDiskImage -nomount dummy // mount the newly created file as a raw block device mkdir /tmp/TestVol mount -F -t MyFS diskX /tmp/TestVol

Any idea why the mount hangs.

Answered by DTS Engineer in 878101022
Is there an FSKit sample available?

Yes. There’s a link to the sample on the top page of the FSKit documentation.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

Is there an FSKit sample available?

Yes. There’s a link to the sample on the top page of the FSKit documentation.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

I have tried passthrough file system fskit sample (https://developer.apple.com/documentation/fskit/building-a-passthrough-file-system) and got the same error as the mount hangs. The log has the following message:

fskitd: [com.apple.FSKit:default] Hello FSClient! entitlement no

Not sure if it is related to the hang.

And a kernel extension certificate is used to sign the passthrough file system extension. Does it need to be signed? If so, what signing certificate is needed?

And a kernel extension certificate is used to sign the passthrough file system extension.

I’m not sure how you came to that conclusion. There is such a thing as a KEXT-enabled code-signing identity [1], but that’s irrelevant to this discussion.

Does it need to be signed?

Yes. FSKit modules must be signed with the com.apple.developer.fskit.fsmodule entitlement. That’s a restricted entitlement, which means it must be authorised by a provisioning profile [2] [3]. To create that profile, you’ll need to be a member of a paid team.

Based on our records it looks like you are a member of a paid team. Given that, you should be able to get this working as follows:

  1. Sign into with your Apple Account in Xcode > Apple Accounts.
  2. In the sample code project, for each target, go to the Signing & Capabilities editor and select your team in the Team popup.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

[1] See KEXT Code Signing Problems for more info about that.

[2] To learn more about profiles, see TN3125 Inside Code Signing: Provisioning Profiles.

[3] You can probably bypass this by disabling SIP, but that’s not something I recommend in general.

Thanks. It works after developer account is added into Xcode project

Any FSKit sample available from Apple?
 
 
Q