*Atualizado 11/12* Problemas ao montar imagens DMG: Sandbox.kext / Seatbelt.kext
Problemas na montagem de imagens de disco (.DMG) e Kernel Panics ao abrir arquivos .dmg ocorrem quando a versão da Sandbox.kext ou Seatbelt.kext não corresponde exatamente à versão do kernel XNU em execução — especialmente em sistemas com kernels modificados (Voodoo, Legacy, AMD). Guia completo com hashes SHA1 e downloads de todas as versões do 10.5.5 ao 10.8.
- Autor Principal
-
@lanceomni
Publicado em 2009-01-22
- Coleção
- Leopard 10.5
- Histórico no Arquivo
- 334,965 leituras históricas · 15 notas técnicas selecionadas (de 20 postagens) · 2009-01-22 – 2012-11-26
- Colaboradores Creditados (11)
- @lanceomni (7)@eMatoS (3)@oneshot (2)@pαuℓzurrr.@nfoav8or@CamEdwardo@Sokairyk@Taisto@ptesone@Thomasasz@gils
- Referência de Hardware
- SATA III & NVMe SSDs ↗ USB 3.2 Boot Flash Drives ↗ AMD Radeon GPUs (QE/CI) ↗
Problemas ao montar DMG & Sandbox.kext/Seatbelt.kext
* ÚLTIMA EDIÇÃO: 25 de novembro de 2012
O Problema
Kernel Panics que acontecem durante a montagem de Imagens de Disco (.DMG) geralmente são causados por não ter a versão correta da Sandbox.kext/Seatbelt.kext alinhada com a versão do seu kernel. Você pode corrigir esse problema de montagem de disco combinando a versão do seu kernel com a compilação exata da Seatbelt.kext/Sandbox.kext correspondente. Esse é um problema clássico ao utilizar kernels não-vanilla (modificados).
Para que servem a Sandbox.kext e a Seatbelt.kext?
Ambas são implementações do mecanismo de Sandbox da Apple, descrito em mais detalhes aqui: http://en.wikipedia.org/wiki/Sandbox_(computer_security ↗). Seatbelt era o codinome interno usado pela Apple durante o ciclo do 10.5 Leopard, sendo renomeado para Sandbox do 10.6 Snow Leopard em diante.
Kernel 12.2.0 requer a Sandbox.kext do 10.8.0 (drop box.com/s/xp8p79m4rwe4vod/Sandbox.kext1080.zip)
Version N/A Build N/A Source N/A
SHA1=96ab102d51740e26d6fb278765387954b2ff2fa5
Kernel 12.1.0 requer a Sandbox.kext do 10.8.0 (drop box.com/s/xp8p79m4rwe4vod/Sandbox.kext1080.zip)
Version N/A Build N/A Source N/A
SHA1=96ab102d51740e26d6fb278765387954b2ff2fa5
Kernel 12.0.0 requer a Sandbox.kext do 10.8.0 (drop box.com/s/xp8p79m4rwe4vod/Sandbox.kext1080.zip)
Version N/A Build N/A Source N/A
SHA1=96ab102d51740e26d6fb278765387954b2ff2fa5
Kernel 11.4.2 requer a Sandbox.kext do 10.7.5 (drop box.com/s/a87rle8xf2uitvu/Sandbox.kext1075.zip)
Version 177.8 Build 3 Source 177008000000000
SHA1=67097f28b296f3cf6f452dd2de4f86f0353411cf
Kernel 11.4.0 requer a Sandbox.kext do 10.7.4 (drop box.com/s/9jcfrljqexzm96y/Sandbox.kext1074.zip)
Version 177.5 Build 11 Source 177005000000000
SHA1=639c01e5dbf243225612412b97af91d14dd085ed)
Kernel 11.3.0 requer a Sandbox.kext do 10.7.3 (drop box.com/s/rrusjrh9dtfut4k/Sandbox.kext1073.zip)
Version 177.3 Build 6 Source 177003000000000
SHA1=1cdb7b14492a7448f7e7dfe117bf86661a072196
Kernel 11.2.0 requer a Sandbox.kext do 10.7.2 (drop box.com/s/2ao8g03gf2haxdv/Sandbox.kext1072.zip)
Version 165.3 Build 2 Source 165003000000000
SHA1=2892f56c6f0e963bbdb9dd05a840e02cedb3e5e1
Kernel 11.1.0 requer a Sandbox.kext do 10.7.0 (drop box.com/s/pnmfbrcoyfwe4mo/Sandbox.kext1070.zip)
Version N/A Build N/A Source N/A
SHA1=67097f28b296f3cf6f452dd2de4f86f0353411cf
Kernel 10.8.0 requer a Sandbox.kext do 10.6.8 (drop box.com/s/rw1s1zco5aqmm0l/Sandbox.kext1068.zip)
Version 1 Build 86 Source 340100
SHA1=a4f5c98d747777781b92d12c517cdf18bc8b0692
Kernel 10.7.0 requer a Sandbox.kext do 10.6.7 (drop box.com/s/ebaa3scr9ay5ir5/Sandbox.kext1067.zip)
Version 1 Build 54 Source 340100
SHA1=f406659a15d084749b9d9274466a096bc9cf4b89
Kernel 10.6.0 requer a Sandbox.kext do 10.6.6 (drop box.com/s/lwbw3vbl32ei7jc/Sandbox.kext1066.zip)
Version 1 Build 13 Source 340100
SHA1=83e7e2f0882c0b0126ba8ddce8630b0a4375565f
Kernel 10.5.0 requer a Sandbox.kext do 10.6.5 (drop box.com/s/bd9e91x9923hdxf/Sandbox.kext1065.zip)
Version 1 Build 9 Source 340100
SHA1=ea657bd1b40d16e14d43aa11979b6efa5d3df0dc
Kernel 10.4.0 requer a Sandbox.kext do 10.6.4 (drop box.com/s/j5f4bbc0is95ktj/Sandbox.kext1064.zip)
Version 0 Build 300 Source 340000
SHA1=8ab3f051cf49387010e273f3b1eccd6f00935f8e
Kernel 10.3.0 requer a Sandbox.kext do 10.6.0
Version INSERT Build INSERT Source INSERT
SHA1=INSERT
Kernel 10.2.0 requer a Sandbox.kext do 10.6.0
Version INSERT Build INSERT Source INSERT
SHA1=INSERT
Kernel 10.1.0? requer a Sandbox.kext do 10.6.0
Version INSERT Build INSERT Source INSERT
SHA1=INSERT
Kernel 9.8.0 requer a Seatbelt.kext do 10.5.8 (drop box.com/s/5ee21mbhdws4wsf/seatbelt.kext1058.zip)
Version 107.12 Build 78 Source 1071200
SHA1=02283813a609583a6de7c7895fce22a59a09a789
Kernel 9.7.0 requer a Seatbelt.kext do 10.5.7 (drop box.com/s/qf3w9v9xbbn4asr/Seatbelt.kext1057.zip)
Version 107.12 Build 63 Source 1071200
SHA1=fa50ed67f12d72c24ee28f61f1b971b0d13a407b
Kernel 9.6.0 requer a Seatbelt.kext do 10.5.6 (drop box.com/s/7s9xucltiu2e3hx/seatbelt.kext1056.zip)
Version 107.10 Build 45 Source 1071100
SHA1=2e9774fd74575f438a7d18b8805fff37a189ebaa
Kernel 9.5.0 requer a Seatbelt.kext do 10.5.5 (drop box.com/s/toezdlvdb78t2uf/seatbelt.kext1055.zip)
Version 107.10 Build 14 Source 1071100
SHA1=0e07c564d78b78327ee3f4c99fb96147986a04c8
Como descobrir quais versões você tem instaladas
Verifique a versão do seu kernel abrindo o Terminal e digitando:
uname -a
OS X 10.8 Mountain Lion
Existe apenas uma versão da Sandbox.kext para o Mountain Lion.
OS X 10.6 Snow Leopard – 10.7 Lion
Verifique a versão da sua Sandbox.kext com:
openssl sha1 /System/Library/Extensions/Sandbox.kext/Contents/MacOS/Sandbox
OS X 10.5 Leopard
Verifique a versão da sua Seatbelt.kext com:
openssl sha1 /System/Library/Extensions/Seatbelt.kext/Contents/MacOS/Seatbelt
Compare o checksum SHA1 retornado com a lista acima. Além disso, a versão de código-fonte (Source Version) e os hashes SHA1 estão listados acima para conferência.
O checksum SHA1 é um hash criptográfico único gerado para cada arquivo. Se um arquivo for alterado em um único byte, o hash será diferente. Como uma Kext é na verdade uma pasta (bundle), apontamos o comando diretamente para o binário executável dentro dela.
De onde vêm esses arquivos?
Os arquivos fornecidos acima foram extraídos diretamente dos pacotes de atualização oficiais do site de suporte da Apple utilizando o aplicativo Pacifist (disponível em: charlessoft.com/).
Instalação Manual
Prefiro instalar arquivos de sistema manualmente pelo Terminal. Isso ajuda a reforçar o entendimento de para que servem os arquivos, onde devem ficar e quais são as permissões e proprietários corretos. Existem vários aplicativos de terceiros que fazem isso automaticamente. (Sim, alguns dos comandos abaixo são redundantes, mas a redundância evita dúvidas e erros.)
Em resumo:
Arraste a Kext baixada para a sua Mesa (Desktop)
(Substitua "Sandbox" por "Seatbelt" de acordo com o seu 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 /
Reinicie usando as boot-flags -v -f
Explicação passo a passo:
1. Obtenha privilégios de superusuário (root) para poder modificar arquivos do sistema.
sudo -s
2. Faça uma cópia de segurança da sua Kext atual criando o diretório "/backup/sandbox" na raiz do disco:
mkdir /backup/sandbox
3. Entre no diretório /System/Library para encurtar os comandos seguintes:
cd /System/Library
4. Copie a Sandbox.kext atual para a pasta de backup:
cp -R Extensions/Sandbox.kext /backup/Sandbox/Sandbox.kext
5. Copie a kext nova da sua Mesa para a pasta Extensions:
cp -R ~/Desktop/seatbelt.kext Extensions/seatbelt.kext
6. Defina o proprietário correto para a pasta Extensions:
chown -R root:wheel Extensions
7. Defina as permissões corretas para a pasta Extensions:
chmod -R 755 Extensions
8. Atualize o timestamp da pasta Extensions:
touch Extensions/
9. Remova o cache de extensões antigo para forçar o OS X a reconstruí-lo com a nova kext:
rm -Rf Extensions.mkext
10. Repare as permissões do disco principal:
diskutil repairpermissions /
11. Reinicie usando as flags de boot -v -f
-v (Verbose Mode) exibe as mensagens detalhadas de carregamento durante o boot.
-f força o OS X a recarregar todas as kexts diretamente da pasta Extensions em vez de ler o cache.
Existem métodos mais curtos, mas esta sequência cobre tudo para quem enfrenta problemas ao instalar kexts e já resolve eventuais falhas de permissão.
Aplicativos de Terceiros
Disponibilizo abaixo links de instaladores de kexts de terceiros para uso por sua conta e risco:
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 cindori.se
Não me enviem MP (Mensagem Privada) com dúvidas sobre este tópico. Respondam diretamente aqui no tópico e tentarei responder o mais rápido possível. Minha caixa de entrada vive lotando e fico impossibilitado de usá-la para mensagens realmente privadas.
Notas de Campo e Relatos da Comunidade
15 respostas técnicas selecionadas a partir de 20 postagens originais
Este tópico era realmente muito necessário! Parece que o pessoal esquece como se usa a ferramenta de busca.
Valeu, lanceomni!
Este tópico bem que merecia ficar fixado junto com os demais guias na seção [How-To]. Deixo a seu critério (já que você também é moderador :)).
Muito bem escrito, parabéns!
Posso mover para lá sim. Publiquei aqui e lá no InsanelyMac porque parece que o pessoal abre uns 12 tópicos por dia perguntando exatamente a mesma coisa.
[EDIT] Quis deixar bem visível nesta seção porque muita gente tem visão de túnel e pavor do botão de busca, se é que você me entende.
Fixaram (sticky) o meu tópico lá no InsanelyMac! Se eu vir mais um tópico sobre erro ao montar DMG por lá, juro que pulo de um penhasco!
Então eu preciso trocar o meu kernel primeiro e depois aplicar a Seatbelt.kext?
Estou no 10.5.5 e instalei o kernel Voodoo 9.6.0
(e agora estou com esse problema ao montar DMGs).
Devo voltar para o Voodoo 9.5.0 e instalar a Seatbelt.kext do 10.5.5?
Se o kernel 9.6.0 (do 10.5.6) está rodando bem na sua máquina, basta atualizar a Seatbelt.kext para a versão do 10.5.6.
@oneshot
Você quis dizer que está usando o Voodoo 9.5.0 ou aquela compilação derivada 9.6.0 baseada no projeto Voodoo? Sei que existem alguns kernels 9.6.0 baseados no Voodoo circulando por aí.
Basicamente, se o seu sistema está estável e o único problema é montar arquivos DMG, você só precisa alinhar as versões das kexts com a versão do kernel. Além da System.kext e da Seatbelt.kext, sempre garanta que, se estiver rodando um kernel 9.6.0, você também tenha a System.kext 9.6.0 e a Seatbelt.kext extraída do 10.5.6.
@lanceomni
Meu OS X é a versão 10.5.5 e instalei o kernel 9.6.0 baseado no Voodoo.
Procurei o Voodoo 9.5.0 na internet, mas ele vem dentro de um arquivo .DMG, então não consigo montar para instalar...
Consegue sim: se você tiver o Windows em dual boot ou outra máquina, pode abrir o arquivo .dmg usando o UltraISO ou TransMac para extrair o pacote, ou simplesmente baixar a Seatbelt.kext em formato .zip acima!
Aqui está o link para a Seatbelt.kext do 10.5.6; siga o procedimento do primeiro post para fazer backup dos arquivos atuais e instalar esta kext:
rapid share.com/files/214657998/seatbelt_1056.zip.html
MD5: 9E0F7C03B9586AAD8B6A3162D71B8786
Quando tento rodar o comando ''mkdir /backup/Seatbelt'' no Terminal, aparece a seguinte mensagem:
mkdir: /backup: No such file or directory
O que estou fazendo de errado?
Desculpem pelo meu inglês.
Você está tentando criar a subpasta "Seatbelt" dentro de uma pasta "/backup" que ainda não existe. Digite com a flag -p ou em dois passos:
mkdir /backup && mkdir /backup/Seatbelt
que vai funcionar na hora!
O link do RapidShare continua ativo.
Thomasasz,
[EDIT]link privado removido[EDIT]
Não sei se alguém ainda enfrenta problemas de montagem de DMG por incompatibilidade entre kernel e Sandbox/Seatbelt hoje em dia, mas notei que meus links antigos tinham caído e atualizei todos no primeiro post com links no Dropbox e suporte até o 10.8 Mountain Lion.
Feedbacks são bem-vindos! Confira o primeiro post do tópico.
@lanceomniNão sei se alguém ainda enfrenta problemas de montagem de DMG por incompatibilidade entre kernel e Sandbox/Seatbelt hoje em dia, mas notei que meus links antigos tinham caído e atualizei todos...
Olá!
Testei aqui e os novos links estão funcionando perfeitamente!
Fontes e Registro de Autoria (11 membros creditados · Tópico #1992)
| Usuário | Contribuição no Dossiê | Postagens | Período Ativo |
|---|---|---|---|
| @lanceomni | Autor Principal | 7 | 2009-01-22 → 2012-11-26 |
| @eMatoS | Colaborador Essencial | 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 |