Missing pieces from documentation for MacOS

Hi,

In the past few days I have struggled to get CernVMFS mounted on my Mac with OS 14 on M1 Pro chip. I finally managed to do it, but wanted to share my experience on the forum, and kindly ask if the documentation can be slightly more extensive in parts.

The installation essentially requires 3 reboots of the Mac, if MacFuse was not installed before.*

  • Once to enable kernel extensions from Startup utility before MacFuse is installed

  • Once to enable the MacFuse software to run from Settings → Privacy and Security → Security

    • User will either see software by Benjamin Fleischer is disabled and they need to press Allow
    • or they will need to press on Details and allow software by Benjamin Fleischer
    • if buttons are greyed out or software is not showing, try to poke the Extensions with touch ~/Library/Extensions and wait 5 minutes and try again
  • Once MacFuse is enabled test it with

    /usr/bin/kmutil load -p /Library/Filesystems/macfuse.fs/Contents/Extensions/14/macfuse.kext
    

    then run

    kmutil inspect | grep macfuse
    

    and you should see an entry running.
    For me there was also a problem in OS X 14.4 where I had to remove all versions of MacFUSE extension except 14 – following this thread. I don’t understand the problem, but simply following the suggestion in thread I was able to get macfuse working properly.

  • When this is all done, an installation of CernVMFS as the documentation specifies should be done (in terminal, with curl). Once the installation completes (it takes some time, and unrelated note but safari doesn’t work when the installation is running), you need to reboot once more.

After the reboots, then you need to follow the documentation to create the CVMFS configuration. One thing that is missing from the documentation is that for each repository (not just the config) a mkdir step is needed, followed by the mount:

  • sudo mkdir -p /cvmfs/cvmfs-config.cern.ch && sudo mount -t cvmfs cvmfs-config.cern.ch /cvmfs/cvmfs-config.cern.ch
  • sudo mkdir -p /cvmfs/atlas.cern.ch && sudo mount -t cvmfs atlas.cern.ch /cvmfs/atlas.cern.ch

and so on…

Once all directories are created and the mounts are complete, I still got an Operation not permitted error when I tried to just ls into the mounted directories.
This is not picked up by cvmfs_config chksetup or cvmfs_config chksetup as both returned OK status.

This was resolved by giving Terminal access to Network volumes with

Settings -> Privacy and Security -> Files and Folders -> Terminal -> Network Volumes

One other small thing in the documentation you say

If the probe fails, try to restart autofs with sudo systemctl restart autofs

and I think it is also worth noting that this instruction is not for Macs.

After all the above, I can now access the mounted CVMFS. The documentation is great in providing the general steps to get CVMFS mounted on a local computer, but I hope that you would agree that the documentation on MacOS at the moment needs some tips on handling the installation.

Thank you very much.

All the best,
Mohamed

Hi Mohamed,

thanks for this detailed report! It is known that Apple makes it more and more difficult to install kernel extensions. Fortunately, it looks like we will have an alternative to macfuse with fuse-t (GitHub - macos-fuse-t/fuse-t), which is much easier to install. It will be added as an option for the next feature release. Currently, one can try fuse-t with this nightly build:

http://ecsft.cern.ch/dist/cvmfs/nightlies/cvmfs-git-1234/cvmfs-2.12.0-0.1234-git-958741c6df468802.pkg

We’ll update the documentation with the next release that brings support for fuse-t.
Best regards,
Valentin