Apple - How to make root volume writeable again in Catalina?

You can create a symbolic in root directory via synthetic.conf, as an example see below the creation of a symbolic link named bar at /, which points to System/Volumes/Data/bar, a writeable location at the root of the data volume.

echo -e 'bar\tSystem/Volumes/Data/bar' | sudo tee -a /etc/synthetic.conf

After executing the command above, you need to reboot to see effects.


man synthetic.conf

Found this thread at Apple Developer Forums, where they do make their root directory writable again. This is not persistent across reboots, so you might want to create an script that runs at startup to make the change be permanent (don't think this is necessary but would be a way out).

Original Answer:

  1. Disable SIP (recovery mode, csrutil disable).

  2. Restart.

  3. Mount drive for read and write (sudo mount -uw /).

  4. Assign rights for read and write ([sudo] chmod - R 775 /your/folder/).

  5. Delete it ([sudo] rm -rf /your/folder/).

  6. Restart.

  7. Enable SIP (recovery mode, csrutil enable).

"sudo" in square brackets means it may be required (like in my case) while others report they managed to get result without it.

How to create a /bar directory you can write to:

  1. echo 'bar' | sudo tee -a /etc/synthetic.conf
  2. reboot
  3. Run the following commands:
sudo diskutil apfs addVolume disk1 APFSX Bar -mountpoint /bar
sudo diskutil enableOwnership /bar
sudo chflags hidden /bar  # Don't show the Bar volume on the desktop
echo "LABEL=Bar /bar apfs rw" | sudo tee -a /etc/fstab

You might need to use a different diskX number. Check diskutil list for more.

Credit to @callahad on the NixOS/nix issue tracker: