แก้ไข: ฉันแค่จะยอมรับคำตอบของฉันเองเพราะมันแก้ปัญหาส่วนหนึ่งสำหรับฉัน หากใครบางคนโพสต์อะไรเช่น - ผูกใน Linux ฉันจะยอมรับคำตอบนั้น
ในความพยายามกระตุ้นคำตอบเพิ่มเติมฉันจะเริ่มตอบคำถามของฉันเองด้วยสิ่งที่ฉันค้นพบ
ขั้นตอนที่ 1 คือการติดตั้ง ramdisk ทุกครั้ง เมื่อต้องการทำสิ่งนี้ฉันสร้างสคริปต์ทุบตีและจากนั้นรายการ launchd เพื่อโทรหาสคริปต์ทุบตีเมื่อบู๊ต
เขียนสคริปต์ทุบตีเช่นนี้:
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
จากนั้นเรียกใช้งานเมื่อเริ่มระบบโดยเพิ่มลงใน launchd โดยสร้างไฟล์ชื่อ /Library/LaunchDaemons/com.my.ramdisk.plist ด้วยเนื้อหาต่อไปนี้:
<?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>
ที่ฉันติดอยู่เป็นวิธี symlink หรือเมานต์ไดเรกทอรีภายใน ramdisk ที่ / tmp, / var / log และ / var / tmp ไดเรกทอรีทั้งสามนี้มี symlinked ทั้งหมดในระบบของฉันไปยัง / private / tmp, / private / var / log และ / private / var / tmp เมื่อฉันเปลี่ยน symlink ให้ชี้ไปที่ / Volumes / ramdisk / ... ระบบจะไม่บูต ฉันคาดหวังว่านี่เป็นเพราะตอนบูตเครื่องมีบางอย่างที่ต้องการ / tmp และ / var / log ก่อนที่สคริปต์ com.my.ramdisk ของฉันจะเมานท์ ramdisk ฉันต้องการวิธีในการติดตั้ง ramdisk ทันทีหลังจากติดตั้งรูทก่อนที่จะมีอะไรอื่นทำงานอีก
หมายเหตุหากคุณเมานต์ / var / log (เคอร์เนล daemon และบันทึกพื้นที่ผู้ใช้สำคัญอื่น ๆ ) ในพื้นที่ชั่วคราวคุณจะสูญเสียเนื้อหาในการรีบูตครั้งถัดไป สิ่งนี้อาจขัดขวางความสามารถในการวินิจฉัยของคุณ