Mac OS X em Hardware x86 Arquivo Técnico 2008–2024
InfiniteMac OSx86 › Leopard 10.5 › *Atualizado 11/12* Problemas ao montar imagens D…
334,965 reads · 2009-01-22 – 2012-11-26
Dossiê Técnico Leopard 10.5

*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) ↗
Dossiê técnico traduzido para Português (Brasil) · Comandos de terminal, nomes de kexts, nós ACPI e flags de boot preservados exatamente como no originalVer original em inglês (Original English) →

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

Nota de Campo #1 @eMatoS 2009-01-22

Este tópico era realmente muito necessário! Parece que o pessoal esquece como se usa a ferramenta de busca.

Valeu, lanceomni!

Nota de Campo #2 @nfoav8or 2009-01-22

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!

Atualização do Autor #1 @lanceomni 2009-01-22 ↳ Re: @nfoav8or

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.

Atualização do Autor #2 @lanceomni 2009-01-23

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!

Nota de Campo #3 @oneshot 2009-03-27

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?

Nota de Campo #4 @eMatoS 2009-03-27

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.

Atualização do Autor #3 @lanceomni 2009-03-27 ↳ Re: @eMatoS

@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.

Nota de Campo #5 @oneshot 2009-03-28

@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...

Nota de Campo #6 @eMatoS 2009-03-28

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!

Atualização do Autor #4 @lanceomni 2009-03-28 ↳ Re: @eMatoS

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

Nota de Campo #7 @Sokairyk 2009-04-26

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.

Nota de Campo #8 @Taisto 2009-04-26

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!

Atualização do Autor #5 @lanceomni 2011-06-23 ↳ Re: @Taisto

O link do RapidShare continua ativo.

Thomasasz,

[EDIT]link privado removido[EDIT]

Atualização do Autor #6 @lanceomni 2012-11-26

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.

Validado com a participação de: @pαuℓzurrr. @CamEdwardo @ptesone @Thomasasz
Fontes e Registro de Autoria (11 membros creditados · Tópico #1992)
UsuárioContribuição no DossiêPostagensPeríodo Ativo
@lanceomniAutor Principal72009-01-22 → 2012-11-26
@eMatoSColaborador Essencial32009-01-22 → 2009-03-28
@oneshotColaborador22009-03-27 → 2009-03-28
@pαuℓzurrr.Colaborador12009-01-22
@nfoav8orColaborador12009-01-22
@CamEdwardoColaborador12009-04-03
@SokairykColaborador12009-04-26
@TaistoColaborador12009-04-26
@ptesoneColaborador12009-09-19
@ThomasaszColaborador12009-11-10
@gilsColaborador12012-11-26

Escolher idioma · Choose your language