DMG mounting issues & Sandbox.kext/Seatbelt.kext
* LAST EDIT November 25, 2012
The Problem
Kernel Panics, which happen during the mounting if Disk Images (.DMG), can be caused by not having the correct Sandbox.kext/seatbelt.kext matched with your kernel. You can correct the Disk Mounting issue by matching your kernel with the proper seatbelt.kext build. This is a common issue when working with non-vanilla kernels.
What are Sandbox.kext and Seatbelt.kext for?
Both are implementations of Sandbox described in more detailed here:
http://en.wikipedia.org/wiki/Sandbox_(computer_security). Seatbelt was the code name used by Apple. This was used during 10.5 but was renamed Sandbox from 10.6 to present.
12.2.0 kernel requires
Sandbox.kext from 10.8.0
Version N/A Build N/A Source N/A
SHA1=96ab102d51740e26d6fb278765387954b2ff2fa5
12.1.0 kernel requires
Sandbox.kext from 10.8.0
Version N/A Build N/A Source N/A
SHA1=96ab102d51740e26d6fb278765387954b2ff2fa5
12.0.0 kernel requires
Sandbox.kext from 10.8.0
Version N/A Build N/A Source N/A
SHA1=96ab102d51740e26d6fb278765387954b2ff2fa5
11.4.2 kernel requires
Sandbox.kext from 10.7.5
Version 177.8 Build 3 Source 177008000000000
SHA1=67097f28b296f3cf6f452dd2de4f86f0353411cf
11.4.0 kernel requires
Sandbox.kext from 10.7.4
Version 177.5 Build 11 Source 177005000000000
SHA1=639c01e5dbf243225612412b97af91d14dd085ed)
11.3.0 kernel requires
Sandbox.kext from 10.7.3
Version 177.3 Build 6 Source 177003000000000
SHA1=1cdb7b14492a7448f7e7dfe117bf86661a072196
11.2.0 kernel requires
Sandbox.kext from 10.7.2
Version 165.3 Build 2 Source 165003000000000
SHA1=2892f56c6f0e963bbdb9dd05a840e02cedb3e5e1
11.1.0 kernel requires
Sandbox.kext from 10.7.0
Version N/A Build N/A Source N/A
SHA1=67097f28b296f3cf6f452dd2de4f86f0353411cf
10.8.0 kernel requires
Sandbox.kext from 10.6.8
Version 1 Build 86 Source 340100
SHA1=a4f5c98d747777781b92d12c517cdf18bc8b0692
10.7.0 kernel requires
Sandbox.kext from 10.6.7
Version 1 Build 54 Source 340100
SHA1=f406659a15d084749b9d9274466a096bc9cf4b89
10.6.0 kernel requires
Sandbox.kext from 10.6.6
Version 1 Build 13 Source 340100
SHA1=83e7e2f0882c0b0126ba8ddce8630b0a4375565f
10.5.0 kernel requires
Sandbox.kext from 10.6.5
Version 1 Build 9 Source 340100
SHA1=ea657bd1b40d16e14d43aa11979b6efa5d3df0dc
10.4.0 kernel requires
Sandbox.kext from 10.6.4
Version 0 Build 300 Source 340000
SHA1=8ab3f051cf49387010e273f3b1eccd6f00935f8e
10.3.0 kernel requires
Sandbox.kext from 10.6.0
Version INSERT Build INSERT Source INSERT
SHA1=INSERT
10.2.0 kernel requires
Sandbox.kext from 10.6.0
Version INSERT Build INSERT Source INSERT
SHA1=INSERT
10.1.0? kernel requires
Sandbox.kext from 10.6.0
Version INSERT Build INSERT Source INSERT
SHA1=INSERT
9.8.0 kernel requires
Seatbelt.kext from 10.5.8
Version 107.12 Build 78 Source 1071200
SHA1=02283813a609583a6de7c7895fce22a59a09a789
9.7.0 kernel requires
Seatbelt.kext from 10.5.7
Version 107.12 Build 63 Source 1071200
SHA1=fa50ed67f12d72c24ee28f61f1b971b0d13a407b
9.6.0 kernel requires
Seatbelt.kext from 10.5.6
Version 107.10 Build 45 Source 1071100
SHA1=2e9774fd74575f438a7d18b8805fff37a189ebaa
9.5.0 kernel requires
Seatbelt.kext from 10.5.5
Version 107.10 Build 14 Source 1071100
SHA1=0e07c564d78b78327ee3f4c99fb96147986a04c8
How to determine which versions you have installed
Check your kernel version by opening Terminal and typing:
OSX 10.8 Mountain Lion
There is only one version of Sandbox.kext for Mountain Lion
OSX 10.6 Snow Leopard - 10.7 Lion
Check your version of Sandbox.kext
Code:
openssl sha1 /System/Library/Extensions/Sandbox.kext/Contents/MacOS/Sandbox
OSX 10.5 Leopard
Check your version of Seatbelt.kext
Code:
openssl sha1 /System/Library/Extensions/Seatbelt.kext/Contents/MacOS/Seatbelt
Compare the sha1 checksum, to the list above. In addition, Source Version and SHA1 checksums are provided at the end of this post.
The sha1 checksum is a hash created using a special algorithm. It results in a hash that is unique to a file. If a file is altered, it will not have an identical hash. Since a Kext is actually a folder, we must target a specific file within in order to generate the hash. For the Sandbox.kext, I chose the actual binaries.
Where do these files come from?
The files provided above were extracted from Apple's support site using Pacifist (Available here:
http://www.charlessoft.com/)
Manual Installation
I prefer to manually install system related files. It helps reinforce your understanding of what files are for, where they should go, and what the proper permissions and ownerships should be set to. There are many applications that are available to do this for you. (Yes, you will find that some of these commands are redundant. Redundancy results in less questions)
In short:
Drag the downloaded Kext to your Desktop
(Replace "Sandbox" with "Seatbelt" depending on your needs.)
Code:
sudo -s
mkdir /backup/Sandbox
cd /System/Library
cp -R Extensions/Sandbox.kext /backup/Sandbox/Sandbox.kext
cp -R ~/Desktop/Sandbox.kext Extensions/Sandbox.kext
chmod -R 755 Extensions/
chown -R root:wheel Extensions/
touch Extensions/
rm -Rf Extensions.mkext
diskutil repairpermissions /
Reboot using the boot-flags
-v -f
Steps explained:
1. Give yourself root privileges so that you can modify files.
2. Make a backup copy of your existing Kext. First we will make a directory called "backup" in our root directory and a directory in it called "sandbox" to store them. Open Terminal and type:
Code:
mkdir /backup/sandbox
3. Change directories to /System/Library This will shorten some of the commands we have to type in.
4. Copy Sandbox.kext to the new "backup" folder.
Code:
cp -R Extensions/Sandbox.kext /backup/Sandbox/Sandbox.kext
5. Copy the kext from your desktop to the extensions folder
Code:
cp -R ~/Desktop/seatbelt.kext Extensions/seatbelt.kext
6. Set the proper ownership for the extensions folder.
Code:
chown -R root:wheel Extensions
7. Set the proper permissions for the extensions folder.
Code:
chmod -R 755 Extensions
8. Touch the extensions folder
9. Remove the extensions cache to force OSX to rebuild it with our new kext.
Code:
rm -Rf Extensions.mkext
10. Repair permissions to your drive.
Code:
diskutil repairpermissions /
11. Reboot using the boot-flags
-v -f
-v Verbose Mode displays useful information during the boot process.
-f Forces OSX to load kexts from the extensions folder instead of the cache file. We did delete the cache file so this is just a precaution.
There are shorter methods to do this but this should cover everything for those who have issues installing kexts and may solve other issues related to permissions.
3rd Part Applications
I offer the following links to 3rd part Kext installers to be used at your own risk.
KextHelper
http://www.macupdate.com/app/mac/26865/kext-helper
KextWizard
http://www.insanelymac.com/forum/top...ller-and-more/
KextBeast
http://tonymacx86.blogspot.com/2010/...installer.html
Kext Drop
http://www.cindori.se
Do not PM with questions regarding this post. Reply to this post and I will try to reply as soon as possible. My PM mail box fills up on a regular basis and I am unable to use it for what its for.... Private MSGs