Creating a firmlink in /usr on MacOS 10.15 & 11

I cannot disable SIP to make / (root filesystem) writeable in my environment, so I'm trying to figure out how to create a synthetic firmlink in /usr instead.

I have no problem creating firmlinks under / by adding entries in /etc/synthetic.conf but cannot create one under /usr.

Tried this in /etc/synthetic.conf with a reboot but it doesn't work:

usr/config          System/Volumes/Data/config

Any tip (rather than disabling/enabling SIP or using /usr/local) would be very much appreciated, if there's a way. Thanks!


Solution 1:

Entries in the synthetic.conf file pertain only to the root mount point.

Reading the entire manual page it is quite clear the intent is that entries are only capable of being created at / and not beyond it.

From the DESCRIPTION section of the synthetic.conf manual page:

synthetic.conf describes virtual symbolic links and empty directories to be created at the root mount point. Because the root mount point is read-only as of macOS 10.15, physical files may not be created at this location. All writeable paths must reside on the data volume, which is mounted at /System/Volumes/Data.

synthetic.conf provides a mechanism for some limited, user-controlled file-creation at /. The synthetic entities described in this file are synthesized by the kernel during early system boot. They are not physically present on the disk, but when the system is booted, they behave as if they were within certain parameters.

synthetic.conf is intended to be used for creating mount points at /