MacOS 10.15 Catalina>>>

Creating Root Level Directories

One of the changes which came with macOS Catalina was the introduction of a read-only root volume for the OS. For users or environments which were used tousing adding directories to the root level of the boot drive, this change meant they could no longer do that.

To address this need, Apple added a new method for creating directories at the root level which leverages Apple File System’s new firmlink functionality.Firmlinks are new in macOS Catalina and are similar in function to Unix symbolic links, but instead of only allowing travel one way (from source todestination) firmlinks allow bi-directional travel.

The use of firmlinks is exclusively reserved for the OS's own use, but Apple has also made available what are called synthetic firmlinks. These syntheticfirmlinks are how the OS enables folks to create directories and symbolic links on the read-only boot volume. For more details, please see below the jump.

Create a new folder

This can be anywhere and we are going to create a synthetic link to this new folder, I created mine in the Users folder.>/p?

% sudo mkdir /Users/SoftwareDownloads/
Password:
    

Create a synthetic firmlink

To create a synthetic firmlink, you need to do the following:

  1. Create a file in the /etc directory named synthetic.conf.
  2. Make sure /etc/synthetic.conf has the following permissions:
  3. In /etc/synthetic.conf, define the name(s) of the directory you want to have appear at the root level.
  4. After all desired entries have been made, save the /etc/synthetic.conf file.
  5. Restart the Mac to apply the changes.

For example

# man synthetic.conf
#
# create a symbolic link named "SoftwareDownloads" at / which points to
# "/Users/SoftwareDownloads"
SoftwareDownloads       /Users/SoftwareDownloads
    

Note: The file consists of two columns which must be seperated by a <tab> character