EDYCJA: Po prostu zaakceptuję własną odpowiedź, ponieważ rozwiązała dla mnie jedną część problemu. Jeśli ktoś opublikuje coś podobnego - w Linuksie, zaakceptuję tę odpowiedź.
Aby uzyskać więcej odpowiedzi, zacznę odpowiadać na własne pytanie tym, czego się dowiedziałem.
Krok 1 polega na zamontowaniu ramdysku przy każdym uruchomieniu. Aby to zrobić, tworzę skrypt bash, a następnie uruchamiany wpis, aby wywoływać skrypt bash podczas rozruchu.
Napisz skrypt bash w następujący sposób:
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
Następnie wywołaj go przy uruchamianiu, dodając go do uruchomienia, tworząc plik o nazwie /Library/LaunchDaemons/com.my.ramdisk.plist o następującej treści:
<?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>
Utknąłem w sposób umożliwiający dowiązanie symboliczne lub zamontowanie katalogów wewnątrz ramdysku w / tmp, / var / log i / var / tmp. Te trzy katalogi są symlinkowane w moim systemie z / private / tmp, / private / var / log i / private / var / tmp. Kiedy zmieniłem dowiązania symboliczne na / Volumes / ramdisk / ..., system nie chce się uruchomić. Spodziewam się, że dzieje się tak, ponieważ w czasie uruchamiania coś chce / tmp i / var / log PRZED moim skryptem com.my.ramdisk montuje ramdysk. Potrzebuję sposobu na zamontowanie ramdysku zaraz po zamontowaniu roota, zanim cokolwiek innego się uruchomi.
Uwaga: Jeśli zamontujesz / var / log (jądro, demon i inne krytyczne dzienniki przestrzeni użytkownika) w przestrzeni tymczasowej, utracisz jego zawartość przy następnym ponownym uruchomieniu. Może to ograniczać Twoją zdolność do diagnozowania.