View Single Post
 
Old 01-22-2009, 06:50 PM
lanceomni's Avatar
lanceomni lanceomni is offline
 
Join Date: Nov 2008
Location: Florida, US
Posts: 521
Lightbulb *Updated 11/12* DMG mounting issues Sandbox.kext/Seatbelt.kext

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:
Code:
uname -a
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.
Code:
sudo -s
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.
Code:
cd /System/Library
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
Code:
touch Extensions/
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

MOBO: Z77MX-QUO-AOS CPU: Core i7 3770K GPU: MSI N760 TF 2GD5/OC Case: Modded MacPro2,1
Memory: 32GB Corsair Vengeance (CMY32GX3M4A1600C9) Wifi: Airport Extreme bcm94321MCA BIOS: HermitCrab Labs H3A.816M
Monitor: AOC Q2963Pm 29" WFHD 2560x1080 21:9
Interests: KDE on Apple Darwin, Keeping it real with the command line, Helping those that help themselves

Last edited by lanceomni; 11-26-2012 at 04:10 AM.
Reply With Quote