*Actualizado 11/12* Problemas al montar imágenes DMG: Sandbox.kext / Seatbelt.kext
Los Kernel Panics que se producen al montar imágenes de disco (.DMG) suelen deberse a una incompatibilidad entre la versión del kernel XNU instalado (especialmente en kernels modificados para AMD o Intel Legacy) y las extensiones Sandbox.kext o Seatbelt.kext. Aquí tienes la tabla completa de correspondencias, sumas SHA1 e instrucciones de instalación manual.
- Autor principal
-
@lanceomni
Publicado el 2009-01-22
- Colección
- Leopard 10.5
- Registro histórico
- 334,965 lecturas históricas · 15 notas de campo seleccionadas (de 20 mensajes) · 2009-01-22 – 2012-11-26
- Voces acreditadas (11)
- @lanceomni (7)@eMatoS (3)@oneshot (2)@pαuℓzurrr.@nfoav8or@CamEdwardo@Sokairyk@Taisto@ptesone@Thomasasz@gils
- Referencia de hardware
- SATA III & NVMe SSDs ↗ USB 3.2 Boot Flash Drives ↗ AMD Radeon GPUs (QE/CI) ↗
Problemas al montar imágenes DMG y Sandbox.kext / Seatbelt.kext
* ÚLTIMA EDICIÓN: 25 de noviembre de 2012
El problema
Los Kernel Panics que se producen al montar imágenes de disco (.DMG) suelen estar causados por no tener la versión correcta de Sandbox.kext o Seatbelt.kext emparejada con tu kernel. Puedes solucionar este fallo al montar imágenes de disco instalando la compilación de Seatbelt.kext / Sandbox.kext que corresponda exactamente a la versión de tu kernel. Es un problema muy habitual cuando se utilizan kernels modificados (non-vanilla).
¿Para qué sirven Sandbox.kext y Seatbelt.kext?
Ambos son implementaciones del mecanismo de aislamiento de seguridad (Sandbox) descrito con más detalle aquí: http://en.wikipedia.org/wiki/Sandbox_(computer_security ↗). Seatbelt era el nombre en clave interno utilizado por Apple durante Mac OS X 10.5 Leopard, pero a partir de 10.6 Snow Leopard pasó a llamarse Sandbox hasta el día de hoy.
El kernel 12.2.0 requiere el Sandbox.kext de 10.8.0 (drop box.com/s/xp8p79m4rwe4vod/Sandbox.kext1080.zip)
Versión N/D Compilación N/D Código fuente N/D
SHA1=96ab102d51740e26d6fb278765387954b2ff2fa5
El kernel 12.1.0 requiere el Sandbox.kext de 10.8.0 (drop box.com/s/xp8p79m4rwe4vod/Sandbox.kext1080.zip)
Versión N/D Compilación N/D Código fuente N/D
SHA1=96ab102d51740e26d6fb278765387954b2ff2fa5
El kernel 12.0.0 requiere el Sandbox.kext de 10.8.0 (drop box.com/s/xp8p79m4rwe4vod/Sandbox.kext1080.zip)
Versión N/D Compilación N/D Código fuente N/D
SHA1=96ab102d51740e26d6fb278765387954b2ff2fa5
El kernel 11.4.2 requiere el Sandbox.kext de 10.7.5 (drop box.com/s/a87rle8xf2uitvu/Sandbox.kext1075.zip)
Versión 177.8 Compilación 3 Código fuente 177008000000000
SHA1=67097f28b296f3cf6f452dd2de4f86f0353411cf
El kernel 11.4.0 requiere el Sandbox.kext de 10.7.4 (drop box.com/s/9jcfrljqexzm96y/Sandbox.kext1074.zip)
Versión 177.5 Compilación 11 Código fuente 177005000000000
SHA1=639c01e5dbf243225612412b97af91d14dd085ed)
El kernel 11.3.0 requiere el Sandbox.kext de 10.7.3 (drop box.com/s/rrusjrh9dtfut4k/Sandbox.kext1073.zip)
Versión 177.3 Compilación 6 Código fuente 177003000000000
SHA1=1cdb7b14492a7448f7e7dfe117bf86661a072196
El kernel 11.2.0 requiere el Sandbox.kext de 10.7.2 (drop box.com/s/2ao8g03gf2haxdv/Sandbox.kext1072.zip)
Versión 165.3 Compilación 2 Código fuente 165003000000000
SHA1=2892f56c6f0e963bbdb9dd05a840e02cedb3e5e1
El kernel 11.1.0 requiere el Sandbox.kext de 10.7.0 (drop box.com/s/pnmfbrcoyfwe4mo/Sandbox.kext1070.zip)
Versión N/D Compilación N/D Código fuente N/D
SHA1=67097f28b296f3cf6f452dd2de4f86f0353411cf
El kernel 10.8.0 requiere el Sandbox.kext de 10.6.8 (drop box.com/s/rw1s1zco5aqmm0l/Sandbox.kext1068.zip)
Versión 1 Compilación 86 Código fuente 340100
SHA1=a4f5c98d747777781b92d12c517cdf18bc8b0692
El kernel 10.7.0 requiere el Sandbox.kext de 10.6.7 (drop box.com/s/ebaa3scr9ay5ir5/Sandbox.kext1067.zip)
Versión 1 Compilación 54 Código fuente 340100
SHA1=f406659a15d084749b9d9274466a096bc9cf4b89
El kernel 10.6.0 requiere el Sandbox.kext de 10.6.6 (drop box.com/s/lwbw3vbl32ei7jc/Sandbox.kext1066.zip)
Versión 1 Compilación 13 Código fuente 340100
SHA1=83e7e2f0882c0b0126ba8ddce8630b0a4375565f
El kernel 10.5.0 requiere el Sandbox.kext de 10.6.5 (drop box.com/s/bd9e91x9923hdxf/Sandbox.kext1065.zip)
Versión 1 Compilación 9 Código fuente 340100
SHA1=ea657bd1b40d16e14d43aa11979b6efa5d3df0dc
El kernel 10.4.0 requiere el Sandbox.kext de 10.6.4 (drop box.com/s/j5f4bbc0is95ktj/Sandbox.kext1064.zip)
Versión 0 Compilación 300 Código fuente 340000
SHA1=8ab3f051cf49387010e273f3b1eccd6f00935f8e
El kernel 10.3.0 requiere el Sandbox.kext de 10.6.0
Versión INSERT Compilación INSERT Código fuente INSERT
SHA1=INSERT
El kernel 10.2.0 requiere el Sandbox.kext de 10.6.0
Versión INSERT Compilación INSERT Código fuente INSERT
SHA1=INSERT
El kernel ¿10.1.0? requiere el Sandbox.kext de 10.6.0
Versión INSERT Compilación INSERT Código fuente INSERT
SHA1=INSERT
El kernel 9.8.0 requiere el Seatbelt.kext de 10.5.8 (drop box.com/s/5ee21mbhdws4wsf/seatbelt.kext1058.zip)
Versión 107.12 Compilación 78 Código fuente 1071200
SHA1=02283813a609583a6de7c7895fce22a59a09a789
El kernel 9.7.0 requiere el Seatbelt.kext de 10.5.7 (drop box.com/s/qf3w9v9xbbn4asr/Seatbelt.kext1057.zip)
Versión 107.12 Compilación 63 Código fuente 1071200
SHA1=fa50ed67f12d72c24ee28f61f1b971b0d13a407b
El kernel 9.6.0 requiere el Seatbelt.kext de 10.5.6 (drop box.com/s/7s9xucltiu2e3hx/seatbelt.kext1056.zip)
Versión 107.10 Compilación 45 Código fuente 1071100
SHA1=2e9774fd74575f438a7d18b8805fff37a189ebaa
El kernel 9.5.0 requiere el Seatbelt.kext de 10.5.5 (drop box.com/s/toezdlvdb78t2uf/seatbelt.kext1055.zip)
Versión 107.10 Compilación 14 Código fuente 1071100
SHA1=0e07c564d78b78327ee3f4c99fb96147986a04c8
Cómo averiguar qué versiones tienes instaladas
Comprueba la versión de tu kernel abriendo la Terminal y escribiendo:
uname -a
OS X 10.8 Mountain Lion
Solo existe una versión de Sandbox.kext para Mountain Lion.
OS X 10.6 Snow Leopard – 10.7 Lion
Comprueba tu versión de Sandbox.kext:
openssl sha1 /System/Library/Extensions/Sandbox.kext/Contents/MacOS/Sandbox
OS X 10.5 Leopard
Comprueba tu versión de Seatbelt.kext:
openssl sha1 /System/Library/Extensions/Seatbelt.kext/Contents/MacOS/Seatbelt
Compara la suma de verificación SHA1 obtenida con la lista anterior. Además, al final de esta publicación se indican las versiones de código fuente y las sumas SHA1.
La suma de verificación SHA1 es un hash generado mediante un algoritmo especial que produce una huella única para cada archivo: si el archivo se modifica en lo más mínimo, su hash dejará de coincidir. Dado que un kext es en realidad una carpeta (paquete), debemos apuntar al binario ejecutable interno para calcular el hash.
¿De dónde proceden estos archivos?
Los archivos proporcionados arriba se extrajeron directamente de los paquetes de actualización del sitio de soporte de Apple utilizando Pacifist (disponible en charles soft.com/).
Instalación manual
Prefiero instalar manualmente los archivos del sistema: ayuda a comprender mejor para qué sirve cada archivo, dónde debe ubicarse y qué permisos y propietario corresponden. Existen muchas aplicaciones que automatizan esto, pero aquí tienes los comandos (sí, algunos pasos son redundantes a propósito: la redundancia evita dudas y errores).
En resumen:
Arrastra el kext descargado a tu Escritorio.
(Sustituye "Sandbox" por "Seatbelt" según tu sistema).
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 /
Reinicia utilizando los parámetros de arranque -v -f.
Explicación paso a paso:
1. Obtén privilegios de superusuario (root) para poder modificar archivos del sistema:
sudo -s
2. Haz una copia de seguridad de tu kext actual. Primero crearemos una carpeta llamada "backup" en el directorio raíz y una subcarpeta llamada "sandbox" para guardarlo. Abre la Terminal y escribe:
mkdir /backup/sandbox
3. Cambia al directorio /System/Library para acortar los comandos siguientes:
cd /System/Library
4. Copia Sandbox.kext a la nueva carpeta "backup":
cp -R Extensions/Sandbox.kext /backup/Sandbox/Sandbox.kext
5. Copia el kext desde tu Escritorio a la carpeta Extensions:
cp -R ~/Desktop/seatbelt.kext Extensions/seatbelt.kext
6. Asigna el propietario adecuado a la carpeta Extensions:
chown -R root:wheel Extensions
7. Establece los permisos adecuados para la carpeta Extensions:
chmod -R 755 Extensions
8. Actualiza la marca de tiempo (touch) de la carpeta Extensions:
touch Extensions/
9. Elimina la caché de extensiones para obligar a OS X a reconstruirla incluyendo el nuevo kext:
rm -Rf Extensions.mkext
10. Repara los permisos del disco:
diskutil repairpermissions /
11. Reinicia utilizando los parámetros de arranque -v -f:-v El modo detallado (Verbose) muestra información de diagnóstico durante el arranque.-f Fuerza a OS X a recargar los kexts desde la carpeta Extensions en lugar de usar la caché (ya borramos el archivo de caché, pero sirve como precaución adicional).
Existen métodos más cortos para hacer esto, pero esta secuencia cubre todos los frentes para quienes tienen problemas al instalar kexts y puede resolver otros fallos relacionados con permisos.
Aplicaciones de terceros
Dejo los siguientes enlaces a instaladores de kexts de terceros para que los uses bajo tu propia responsabilidad:
KextHelper mac update.com/app/mac/26865/kext-helper
KextWizard http://www.insanelymac.com/forum/topic/253395-kext-wiza… ↗
KextBeast http://tonymacx86.blogspot.com/2010/08/kextbeast-simple… ↗
Kext Drop cin dori.se
Por favor, no me envíes mensajes privados (MP) con dudas sobre esta guía. Responde directamente en este hilo e intentaré contestar lo antes posible; mi buzón de mensajes privados se llena continuamente y no puedo usarlo para lo que realmente sirve.
Notas de campo y pruebas de la comunidad
15 respuestas técnicas seleccionadas de 20 intervenciones originales
Esto hacía muchísima falta. Parece que la gente no sabe usar el buscador del foro.
Gracias, lanceomni.
Probablemente este hilo debería ir en la sección de guías [How-To]. Te lo dejo a tu elección (ya que tú también eres moderador :)).
Totalmente de acuerdo... está muy bien redactado.
Puede que lo mueva allí. Lo publiqué aquí y en InsanelyMac porque parece que últimamente la gente abre unos 12 hilos al día preguntando exactamente por este problema.
[EDICIÓN] Quería que estuviera bien visible en esta sección del foro porque ya sabes que muchos usuarios sufren de visión de túnel y le tienen alergia al buscador, si me entiendes.
Han fijado mi hilo con chincheta (sticky) en InsanelyMac. Como vea un solo hilo más preguntando por el fallo al montar archivos DMG allí, me tiro por un barranco.
Entonces, ¿tengo que cambiar primero mi kernel y luego aplicar el Seatbelt.kext?
Tengo 10.5.5 e instalé el kernel Voodoo 9.6.0
(y sufro el problema al montar imágenes DMG).
¿Debería instalar Voodoo 9.5.0 y después el Seatbelt.kext de 10.5.5?
Si el kernel de 10.5.6 (9.6.0) te funciona bien, basta con que actualices los kexts para que coincidan con él.
@oneshot
¿Quieres decir que tienes Voodoo 9.5.0 o tienes un kernel 9.6.0 derivado del proyecto Voodoo? Sé que circulan varios kernels 9.6.0 basados en el código de Voodoo.
Básicamente, si estás contento con cómo va tu sistema y el único problema es al montar imágenes DMG, solo tienes que asegurarte de que las versiones coincidan entre sí. Más allá de System.kext y Seatbelt.kext, desconozco qué otros efectos secundarios puede tener usar un kernel más reciente que el resto del sistema operativo (yo solo he probado a usar un kernel más antiguo que la versión del SO).
Asegúrate simplemente de que, si estás ejecutando un kernel 9.6.0, tengas también instalados el System.kext 9.6.0 y el Seatbelt.kext de 10.5.6.
@lanceomni
Tengo la versión 10.5.5 de OS X
y le instalé el kernel versión 9.6.0 basado en Voodoo.
Busqué en internet el instalador de Voodoo 9.5.0, pero viene dentro de un archivo .DMG, así que no puedo montarlo para instalarlo...
Claro que puedes: si tienes acceso a otro sistema o a Windows, puedes abrir el archivo DMG con UltraISO para extraer los archivos de su interior.
Aquí tienes un enlace al Seatbelt.kext de 10.5.6; por favor, sigue el procedimiento del primer mensaje para hacer copia de seguridad de tus archivos actuales e instalar este kext:
rapid share.com/files/214657998/seatbelt_1056.zip.html
MD5: 9E0F7C03B9586AAD8B6A3162D71B8786
Intento seguir los pasos, pero cuando escribo mkdir /backup/Seatbelt me sale este error:
mkdir: /backup: No such file or directory
¿Qué estoy haciendo mal?
Disculpad mi inglés.
Estás intentando crear la subcarpeta "Seatbelt" dentro de una carpeta "/backup" que aún no existe. Escribe:
mkdir /backup && mkdir /backup/seatbelt (o usa mkdir -p /backup/Seatbelt)
Con eso funcionará.
El enlace de RapidShare sigue activo.
Thomasasz,
[EDICIÓN] enlace privado eliminado [EDICIÓN]
No sé si alguien sigue teniendo problemas al montar imágenes DMG por incompatibilidad entre el kernel y Sandbox/Seatbelt, pero vi que mis enlaces antiguos habían caducado y los he actualizado todos.
Cualquier comentario es bienvenido. Consultad el primer mensaje de este hilo.
@lanceomniNo sé si alguien sigue teniendo problemas al montar imágenes DMG por incompatibilidad entre el kernel y Sandbox/Seatbelt, pero vi que mis enlaces antiguos habían caducado y los he actualizado todos. Cualquier comentario es bienvenido. Consultad el primer mensaje de este hilo.
Hola,
¡A mí los enlaces nuevos me funcionan perfectamente!
Fuentes y registro de autoría (11 usuarios acreditados · Hilo #1992)
| Usuario | Rol en la monografía | Mensajes | Periodo activo |
|---|---|---|---|
| @lanceomni | Autor principal | 7 | 2009-01-22 → 2012-11-26 |
| @eMatoS | Colaborador clave | 3 | 2009-01-22 → 2009-03-28 |
| @oneshot | Colaborador | 2 | 2009-03-27 → 2009-03-28 |
| @pαuℓzurrr. | Colaborador | 1 | 2009-01-22 |
| @nfoav8or | Colaborador | 1 | 2009-01-22 |
| @CamEdwardo | Colaborador | 1 | 2009-04-03 |
| @Sokairyk | Colaborador | 1 | 2009-04-26 |
| @Taisto | Colaborador | 1 | 2009-04-26 |
| @ptesone | Colaborador | 1 | 2009-09-19 |
| @Thomasasz | Colaborador | 1 | 2009-11-10 |
| @gils | Colaborador | 1 | 2012-11-26 |