Files
markbase/docs/FSKit_INSTALLATION_SUMMARY.md
Warren 1300a4e223
Some checks failed
Test / test (push) Has been cancelled
Test / build (push) Has been cancelled
MarkBase架构升级:Multi-Volume Virtual Tree + Dual-View Management + Git Remote修正
核心功能:
-  Categories/Series双视图管理(category_view.rs + import_markdown.rs)
-  FUSE Multi-Volume支持(tree_type参数)
-  SSH/SFTP/SCP/rsync协议完整实现(4042行)
-  NFS/SMB Module Phase 1-3完成
-  Archive Module Phase 1-4完成(2916行)
-  Download Center API完整实现
-  S3兼容API实现(560行)

Git配置修正:
-  删除错误origin(gitea.momentry.ddns.net)
-  删除m5max128(指向机器名)
-  设置origin = m5max128gitea.momentry.ddns.net/admin/markbase
-  设置m4minigitea = m4minigitea.momentry.ddns.net/warren/markbase

数据清理:
-  删除38个临时SQLite(保留accusys.sqlite、demo.sqlite)
-  删除.bak、test_*.bin、调试脚本等临时文件
-  删除临时目录(build/、download files/、raid_test/等)
-  更新.gitignore排除临时文件

架构优化:
- 52个文件修改,2434行新增,4739行删除
- Workspace成员整合(16个crate)
- 数据库状态:accusys.sqlite保留(主demo测试)

远程同步:
-  准备推送到m5max128gitea(远程Gitea)
-  准备推送到m4minigitea(本地Gitea)
2026-06-12 12:59:54 +08:00

6.7 KiB

FSKit Module Installation - Key Findings Summary

Quick Reference


1. Apple Official Documentation

Documentation Status

  • fskitd man page: Available (man fskitd)
  • FSKit Framework: macOS 15+ (Sequoia) introduction
  • ⚠️ Apple Developer Documentation: Available but requires JavaScript
  • Third-party documentation: None found (MarkBaseFS is one of the first)

2. Third-Party Implementations

Current State

  • rclone: No FSKit Module (uses FUSE-T/macFUSE)
  • Google Drive: No FSKit Module (uses deprecated kernel extensions)
  • Other third-party: None found on GitHub/Stack Overflow

Conclusion: MarkBaseFS is one of the first third-party FSKit Modules publicly documented.


3. Installation Mechanism

How macOS Discover FSKit Modules?

Discovery Process:

fskitd daemon → ExtensionKit framework → .appex bundles → Info.plist → EXExtensionPointIdentifier

Two Discovery Paths:

  1. Apple Modules: /System/Library/ExtensionKit/Extensions/

    • Discovered by ExtensionKit framework
    • Reserved for Apple-signed modules
  2. Third-Party Modules: /Library/Filesystems/

    • Discovered by fskitd daemon
    • Standard location for third-party FSKit Modules
    • MarkBaseFS current location: Correct

Does FSKit Daemon Automatically Discover?

Answer: YES

Evidence:

  • fskitd man page: "invoked by launchd when volume creation is requested"
  • No manual registration required
  • No restart required
  • fskitd running: PID 99535

4. System Extension API

Is System Extension API Required?

Answer: NO

Critical Finding: FSKit Modules are App Extensions, NOT System Extensions!

Feature App Extension (FSKit) System Extension
Package Type .appex (XPC!) .appex (XPC!)
Extension Point com.apple.fskit.fsmodule com.apple.system-extension
API ExtensionKit API System Extension API
User Approval Not required Required (System Preferences)
Location /Library/Filesystems/ /Library/SystemExtensions/

5. Correct Installation Location

Primary Location for Third-Party FSKit Modules

Recommended: /Library/Filesystems/

Evidence:

  • MarkBaseFS Module currently at /Library/Filesystems/MarkBaseFS FSKit Module.appex
  • Historical precedent: NetFSPlugins at /Library/Filesystems/NetFSPlugins/
  • fskitd scans this location
  • Apple modules use /System/Library/ExtensionKit/Extensions/ (reserved for Apple)
  • /System/Library/ExtensionKit/Extensions/ → Reserved for Apple
  • /Library/Application Support/com.apple.fskit/ → Does not exist
  • /Library/SystemExtensions/ → Reserved for System Extensions

6. Entitlements Required

Critical Entitlements

Required:

<key>com.apple.developer.fskit.fsmodule</key>
<true/>

<key>com.apple.security.app-sandbox</key>
<true/>

<key>com.apple.application-identifier</key>
<string>your.bundle.id</string>

Comparison

Entitlement Apple FSKit MarkBaseFS Match
com.apple.developer.fskit.fsmodule true true
com.apple.security.app-sandbox true true
com.apple.application-identifier yes yes

Conclusion: MarkBaseFS entitlements match Apple FSKit Modules perfectly.


7. Installation Steps (MarkBaseFS)

Current Status

MarkBaseFS Module is correctly installed:

  1. Location: /Library/Filesystems/MarkBaseFS FSKit Module.appex
  2. Extension Point: com.apple.fskit.fsmodule
  3. Entitlements: Match Apple modules
  4. Code Signing: Developer ID Application (K3TDMD9Y6B)
  5. Notarization: Ticket stapled
  6. Ownership: root:wheel
  7. Discovery: Automatic by fskitd

Installation Command

# Install MarkBaseFS FSKit Module
sudo cp -R "MarkBaseFS FSKit Module.appex" /Library/Filesystems/
sudo chown -R root:wheel "/Library/Filesystems/MarkBaseFS FSKit Module.appex"

# Verify installation
ls -la /Library/Filesystems/
codesign -dvvv "/Library/Filesystems/MarkBaseFS FSKit Module.appex"

No Additional Steps Required

  • No System Extension API
  • No user approval
  • No restart
  • No manual registration

8. FSKit Architecture

Running Services

fskitd (PID: 99535)
  ↓
fskit_agent (Mach service: com.apple.fskit.fskit_agent)
  ↓
ExtensionKit framework (discovery)
  ↓
FSKit Modules (.appex)

Launch Agent Configuration

/System/Library/LaunchAgents/com.apple.fskit.fskit_agent.plist
- Program: /usr/libexec/fskit_agent
- MachServices: com.apple.fskit.fskit_agent
- LimitLoadToSessionType: Background, Aqua

9. Key Actionable Findings

What You Need to Know

  1. Location is correct: /Library/Filesystems/ is the standard location
  2. No System Extension API: FSKit Modules are App Extensions
  3. No user approval required: Unlike System Extensions
  4. Automatic discovery: fskitd discovers modules automatically
  5. No restart required: Dynamic discovery
  6. Entitlements match Apple: MarkBaseFS has correct entitlements
  7. Code signed: Developer ID Application + notarization

What You DON't Need to Do

  • Move to /System/Library/ExtensionKit/Extensions/
  • Request System Extension approval
  • Use System Extension API
  • Restart macOS
  • Register manually with fskitd

10. Next Steps for MarkBaseFS

  1. Current installation is correct - No changes needed
  2. Test mounting:
    • Try mounting via Finder
    • Try mounting via diskutil
    • Test performance (target: 600 MB/s)
  3. Document user procedures:
    • How to mount MarkBaseFS volumes
    • How to configure mount options
  4. Performance validation:
    • Compare with NFS backend
    • Validate FSKit backend performance

Conclusion

MarkBaseFS FSKit Module is correctly installed and configured.

No changes to installation process are required.

FSKit Modules are App Extensions (not System Extensions) → Simple installation, no approval needed.


Sources

  • fskitd man page: man fskitd
  • Apple FSKit Modules: /System/Library/ExtensionKit/Extensions/
  • MarkBaseFS Module: /Library/Filesystems/MarkBaseFS FSKit Module.appex
  • Launch Agent: /System/Library/LaunchAgents/com.apple.fskit.fskit_agent.plist
  • Code signing: codesign -dvvv output
  • Full report: /Users/accusys/markbase/docs/FSKit_INSTALLATION_RESEARCH.md

Summary Version: 1.0 Date: 2026-05-28 Status: Ready for Action