EDIT: Ich werde nur meine eigene Antwort akzeptieren, da dies einen Teil des Problems für mich gelöst hat. Wenn jemand etwas Ähnliches wie --bind in Linux veröffentlicht, werde ich diese Antwort akzeptieren.
Um mehr Antworten zu erhalten, beantworte ich meine eigene Frage mit dem, was ich herausgefunden habe.
Schritt 1 ist, jedes Mal beim Booten eine Ramdisk zu laden. Dazu erstelle ich ein Bash-Skript und dann einen launchd-Eintrag, um das Bash-Skript beim Booten aufzurufen.
Schreiben Sie ein Bash-Skript wie folgt:
RD=ramdisk
if [ ! -e "/Volumes/$RD" ]; then
diskutil erasevolume HFS+ "$RD" `hdiutil attach -nomount`
fi
mkdir -p /Volumes/$RD/private/tmp
mkdir -p /Volumes/$RD/private/var/log
mkdir -p /Volumes/$RD/private/var/tmp
Rufen Sie es dann beim Booten auf, indem Sie es zu launchd hinzufügen, indem Sie eine Datei mit dem Namen /Library/LaunchDaemons/com.my.ramdisk.plist mit folgendem Inhalt erstellen:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.my.ramdisk</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/sbin/ramdisk.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
Wenn ich nicht weiterkomme, können Sie Verzeichnisse auf der Ramdisk unter / tmp, / var / log und / var / tmp verknüpfen oder mounten. Diese drei Verzeichnisse sind auf meinem System alle mit / private / tmp, / private / var / log und / private / var / tmp verknüpft. Wenn ich die Symlinks in / Volumes / ramdisk / ... änderte, bootete das System nicht. Ich gehe davon aus, dass dies daran liegt, dass beim Booten etwas / tmp und / var / log benötigt, BEVOR das Skript my.my.ramdisk die Ramdisk einbindet. Ich brauche eine Möglichkeit, die Ramdisk direkt nach dem Einhängen von root einzubinden, bevor etwas anderes ausgeführt wird.
Hinweis Wenn Sie / var / log (Kernel, Daemon und andere wichtige Benutzerbereichsprotokolle) im temporären Bereich bereitstellen, wird der Inhalt beim nächsten Neustart gelöscht. Dies kann Ihre Diagnosefähigkeit beeinträchtigen.