-
Posts
1,191 -
Joined
-
Last visited
Everything posted by oldnapalm
-
Como reparar o boot do Windows 7
oldnapalm replied to oldnapalm's topic in Guias & Tutoriais Hackintosh
A partição "system reserved" foi criada quando você instalou o Windows? Caso afirmativo, você deve selecionar esta partição para o boot do Windows. -
Como reparar o boot do Windows 7
oldnapalm replied to oldnapalm's topic in Guias & Tutoriais Hackintosh
Qual o problema com o seu Windows? Talvez não seja a mesma situação que pode ser resolvida com este procedimento. -
Se o botão de download está desativado é porque não existe a kext para download. Para quem quiser contribuir com kexts, na aba "how to upload" tem um vídeo que mostra como fazer o envio. Um bom repositório de kexts é o http://www.osx86.net
-
Updated: MaciASL Editor developed by phpdev32, compatible with DSDT Editor patches. el coniglio released this DSDT editor with automated patching capabilities The main editor windows allows the user to open a DSL file or extract the DSDT from IOReg. It has some useful resources, like syntax highlighting, navigation tree and some options that came with the text editor component it uses, like regex matching, auto completion, jump to pair, etc. The patcher window parses a script-like language representing the patches. The user can preview the modifications before applying them. This "language" allows us to write dynamic patches that can be applied in various situations. More specific commands can be written as they become necessary. For now these are the implemented commands (which can be stacked separated by ";") Changes in latest release: fixed bug which caused data loss if number of open and close brackets don't match fixed compile window to work with new IASL versions updated IASL to 20120420 Credits: Editor component: jsyntaxpane (http://code.google.com/p/jsyntaxpane/) IASL Copyright © Intel Corporation Written in Java
-
Web chat Ou acesse com seu cliente IRC favorito Rede: irc.freenode.net Canal: #Olarila irc://irc.freenode.net/#Olarila
-
Tela cinza com o logo da Apple Uma das perguntas mais frequentes entre os que estão iniciando no OSX86 e tentam instalar o Leopard via "distro" (iATKOS, iDeneb, iPC, Kalyway, XxX, entre outras): "Instalei, o PC reiniciou e fica na tela da maçã, o que fazer?" O primeiro passo para tentar solucionar o problema é fazer o boot no modo "verbose", basta digitar "-v" (sem as aspas) na tela do Chameleon, aquela onde você seleciona qual sistema operacional vai usar. Caso o Mac OS seja iniciado sem aparecer essa tela, fique pressionando a tecla "F8" antes de aparecer a tela cinza com o logo da Apple. Fazendo o boot no modo "verbose", ao invés da tela da maçã serão mostradas as mensagens do sistema. Faça uma busca no fórum ou no Google usando as mensagens de erro que aparecerem. Caso não encontrar nada relevante, tire uma foto da tela e anexe aqui no fórum solicitando ajuda, é muito mais provável que consiga ajuda se fornecer informações importantes, do que se escrever simplesmente "parou na tela da maçã". Kernel panic O caminho para a solução é bem parecido com o do caso anterior (boot no modo "verbose"). boot0: error Esse erro ocorre devido à partição onde o sistema foi instalado não estar ativa. Para solucionar faça o boot novamente pelo DVD de instalação, abra o terminal (Utilitários - Terminal) e rode os comandos: diskutil list veja o IDENTIFIER da partição onde instalou o sistema (diskDsP) no próximo comando substitua D pelo número do disco e P pelo número da partição fdisk -e /dev/diskD f P write y exit Still waiting for root device Se o boot no modo "verbose" parar nessa mensagem, é provável que você não tenha selecionado o "chipset driver" correto na personalização da instalação. Esses drivers também são chamados de "SATA/ATA drivers" e as opções são "Intel" (ICHx), "VIA", "nForce", "SiS", etc. Consulte o manual da sua placa mãe ou o site do fabricante, descubra qual a controladora onde o seu HD está ligado e selecione o driver correspondente. Boot do DVD e PC reinicia Digite "cpus=1" (sem as aspas) no boot. Ao fazer o boot do sistema instalado também será necessário utilizar essa opção, ao menos até fazer uma alteração no DSDT para evitar o problema. O programa DSDT_Patcher faz a correção automaticamente. Kernel panic ao montar DMG ou dispositivo USB O problema ocorre quando a versão da kernel não coincide com as kexts System e seatbelt. Para resolver instale uma kernel correspondente à versão do sistema, por exemplo, kernel 9.7.0 para Mac OS X 10.5.7, kernel 9.8.0 para Mac OS X 10.5.8. Teclado e mouse não funcionam após a instalação Você deve estar utilizando teclado e mouse PS/2 e não selecionou um driver apropriado ao personalizar a instalação. As distribuições mais recentes incluem duas opções, ApplePS2Controller e VoodooPS2Controller, selecione apenas uma delas. Este tópico está em construção, à medida em que as dúvidas forem aparecendo, novas dicas serão adicionadas.
-
Seguir esses procedimentos não garante que a atualização vá correr sem erros, mas aumenta a chance de você conseguir consertar sem ter que reinstalar tudo. 1 - Faça backup da kernel e das kexts sudo cp /mach_kernel /mach_kernel.bak sudo cp -R /System/Library/Extensions /System/Library/Extensions.bak 2 - Caso seu CPU não rode kernel vanilla, baixe a kernel Voodoo 9.8.0 (por qoopz), renomeie para mach_kernel.voodoo e coloque na raiz do HD do Leopard. 3 - Proceda com a atualização pelo "Software Update", ou baixe e instale o "Combo Update". 4 - Se precisar kernel voodoo, nos próximos 2 boots após a atualização digite o nome da kernel boot: mach_kernel.voodoo -v No primeiro boot é normal o sistema reiniciar automaticamente. Com o sistema rodando, renomeie a kernel para não precisar digitar o nome a cada boot sudo mv /mach_kernel /mach_kernel.orig sudo mv /mach_kernel.voodoo /mach_kernel Outra opção ao invés de renomear a kernel voodoo é alterar o nome da kernel padrão no arquivo com.apple.Boot.plist, se você usa o Chameleon v1 este arquivo fica em /Library/Preferences/SystemConfiguration, se usa o Chameleon v2 ele fica em /Extra <key>Kernel</key> <string>mach_kernel.voodoo</string> 5 - Caso tenha removido a AppleIntelCPUPowerManagement, instale a kext Disabler. 6 - Caso algo der errado, ainda pode ser corrigido usando o DVD de instalação (distro). Se você precisou algum "fix" na instalação, é provável que precise novamente, pode procurar um atualizado ou usar as kexts antigas (backup). 7 - Se algum dispositivo parar de funcionar (áudio, rede) também pode tentar usar as kexts do backup, ou procurar por versões atualizadas.
-
Para quem tem kernel panic relacionado a IOATAFamily e alerta "AppleIntelPIIXPATA: Secondary PCI IDE channel is disabled" no boot do Snow Leopard. Fix por THe KiNG do Project OS X http://www.projectosx.com/forum/index.php?showtopic=682 Inserir na controladora PATA (0x001F0001) OperationRegion (IDET, PCI_Config, 0x40, 0x04) // IDE Timing Register Field (IDET, WordAcc, NoLock, Preserve) { Offset (0x00), M1, 8, Offset (0x01), M2, 8, Offset (0x02), M3, 8, Offset (0x03), M4, 8 } Method (_DSM, 4, NotSerialized) { Store (0x07, M1) Store (0xE3, M2) Store (Zero, M3) Store (0xC0, M4) Return (Zero) }
-
Fix para placas que apresentam baixa performance dos HDs SATA quando no modo AHCI (outros HDs que não o do sistema). Consiste em passar os IRQs dos devices RTC0 e TMR para o device HPET (opcional mas recomendado) e liberar o IRQ do device PIC para ser usado pela controladora SATA (esta é a "chave" do fix). Fix por THe KiNG do Project OS X http://www.projectosx.com/forum/index.php?showtopic=564 HPET original: Device (HPET) { Name (_HID, EisaId ("PNP0103")) Name (CRS, ResourceTemplate () { Memory32Fixed (ReadOnly, 0xFED00000, // Address Base 0x00000400, // Address Length _Y0F) }) OperationRegion (^LPCR, SystemMemory, 0xFED1F404, 0x04) Field (LPCR, AnyAcc, NoLock, Preserve) { HPTS, 2, , 5, HPTE, 1, Offset (0x04) } Method (_STA, 0, NotSerialized) { If (LEqual (OSFL (), Zero)) { If (HPTE) { Return (0x0F) } } Else { If (HPTE) { Return (0x0B) } } Return (Zero) } Method (_CRS, 0, NotSerialized) { CreateDWordField (CRS, \_SB.PCI0.SBRG.HPET._Y0F._BAS, HPT) Multiply (HPTS, 0x1000, Local0) Add (Local0, 0xFED00000, HPT) Return (CRS) } } HPET modificado: Device (HPET) { Name (_HID, EisaId ("PNP0103")) Name (CRS, ResourceTemplate () { IRQNoFlags () {0} IRQNoFlags () {8} Memory32Fixed (ReadOnly, 0xFED00000, // Address Base 0x00000400, // Address Length _Y0F) }) OperationRegion (^LPCR, SystemMemory, 0xFED1F404, 0x04) Field (LPCR, AnyAcc, NoLock, Preserve) { HPTS, 2, , 5, HPTE, 1, Offset (0x04) } Method (_STA, 0, NotSerialized) { If (LEqual (OSFL (), Zero)) { If (HPTE) { Return (0x0F) } } Else { If (HPTE) { Return (0x0B) } } Return (Zero) } Method (_CRS, 0, NotSerialized) { CreateDWordField (CRS, \_SB.PCI0.SBRG.HPET._Y0F._BAS, HPT) Multiply (HPTS, 0x1000, Local0) Add (Local0, 0xFED00000, HPT) Return (CRS) } } RTC0 original: Device (RTC0) { Name (_HID, EisaId ("PNP0B00")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x00, // Alignment 0x02, // Length ) IRQNoFlags () {8} }) } RTC0 modificado: Device (RTC0) { Name (_HID, EisaId ("PNP0B00")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x00, // Alignment 0x02, // Length ) }) } TMR original: Device (TMR) { Name (_HID, EisaId ("PNP0100")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0040, // Range Minimum 0x0040, // Range Maximum 0x00, // Alignment 0x04, // Length ) IRQNoFlags () {0} }) } TMR modificado: Device (TMR) { Name (_HID, EisaId ("PNP0100")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0040, // Range Minimum 0x0040, // Range Maximum 0x01, // Alignment 0x04, // Length ) }) } PIC original: Device (PIC) { Name (_HID, EisaId ("PNP0000")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0020, // Range Minimum 0x0020, // Range Maximum 0x00, // Alignment 0x02, // Length ) IO (Decode16, 0x00A0, // Range Minimum 0x00A0, // Range Maximum 0x00, // Alignment 0x02, // Length ) IRQNoFlags () {2} }) } PIC modificado: Device (PIC) { Name (_HID, EisaId ("PNP0000")) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x0020, // Range Minimum 0x0020, // Range Maximum 0x00, // Alignment 0x02, // Length ) IO (Decode16, 0x00A0, // Range Minimum 0x00A0, // Range Maximum 0x00, // Alignment 0x02, // Length ) }) }
-
Tópico original: http://www.insanelymac.com/forum/index.php?showtopic=168014 Em algumas placas com chip ICH9/R os dispositivos USB não são reconhecidos, desligando o gerenciamento de energia. Para saber se é o seu caso, verifique a propriedade "Errata" dos AppleUSBUHCI no IORegistryExplorer, se o valor for 0x0 provavelmente o driver não reconheceu o dispositivo. O fix consiste em fazer um patch no DSDT alterando os device IDs dos dispositivos UHCI, para que o sistema reconheça como um ICH10R. Liste os dispositivos com o comando lspci -nn | grep UHCI 00:1d.0 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 [8086:2934] (rev 02) 00:1d.1 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 [8086:2935] (rev 02) 00:1d.2 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 [8086:2936] (rev 02) 00:1a.0 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 [8086:2937] (rev 02) 00:1a.1 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 [8086:2938] (rev 02) 00:1a.2 USB Controller [0c03]: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 [8086:2939] (rev 02) Então procure pelos devices USB com esses endereços no seu DSDT e adicione o método _DSM em cada um deles, com os device IDs conforme abaixo Device (USB0) { Name (_ADR, 0x001D0000) ... código original Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x34, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Device (USB1) { Name (_ADR, 0x001D0001) ... código original Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x35, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Device (USB2) { Name (_ADR, 0x001D0002) ... código original Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x36, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Device (USB4) { Name (_ADR, 0x001A0000) ... código original Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x37, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Device (USB5) { Name (_ADR, 0x001A0001) ... código original Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x38, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Device (USB6) { Name (_ADR, 0x001A0002) ... código original Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x39, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Veja que nem todos os devices USB foram modificados, mas estes 6 foram suficientes para o sleep funcionar. Caso ainda não tenha, adicione o método DTGP Method (DTGP, 5, NotSerialized) { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44, /* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B })) { If (LEqual (Arg1, One)) { If (LEqual (Arg2, Zero)) { Store (Buffer (One) { 0x03 }, Arg4) Return (One) } If (LEqual (Arg2, One)) { Return (One) } } } Store (Buffer (One) { 0x00 }, Arg4) Return (Zero) }
-
Se o boot termina numa tela cinza, basta injetar as propriedades "AAPL,HasPanel" e "model". Adicione o método _DSM no device GFX0 Method (_DSM, 4, NotSerialized) { Store (Package (0x04) { "AAPL,HasPanel", Buffer (0x04) { 0x01, 0x00, 0x00, 0x00 }, "model", Buffer (0x07) { "GMA950" } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } Utiliza o método DTGP, se ainda não tiver, inclua no seu DSDT Method (DTGP, 5, NotSerialized) { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44, /* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B })) { If (LEqual (Arg1, One)) { If (LEqual (Arg2, Zero)) { Store (Buffer (One) { 0x03 }, Arg4) Return (One) } If (LEqual (Arg2, One)) { Return (One) } } } Store (Buffer (One) { 0x00 }, Arg4) Return (Zero) }
-
- 1
-
-
Se você instalou o Snow Leopard e toda vez que reinicia o PC as configurações da BIOS são perdidas (CMOS checksum error - defaults loaded) a solução é simples, basta editar o DSDT, procurar pelo device RTC e alterar o length do segmento IO para 2. Se você nunca lidou com DSDT ou nem sabe do que se trata, pode seguir esses passos: 1) baixe o MaciASL 2) File - Extract DSDT 3) Patch - Open... selecione "RTC.txt" 4) Apply 5) IASL - Compile 6) IASL - Save AML as... dsdt.aml 7) Copie o dsdt.aml para /Extra or Clover/Acpi/patched or OC/Acpi
-
- 1
-
-
Esse é um fix para os HDs SATA AHCI internos que aparecem como externos (ícone laranja), dispensando o uso das kexts AHCIPortInjector e IOAHCIBlockStorageInjector. Consiste em mudar o device ID da controladora SATA (zhell's trick) para que ela seja reconhecida como Intel ESB2 AHCI ao invés de Unknown AHCI Controller. Testado com chipset ICH9R, pode funcionar com outros. Device ID original (lspci -nn) 00:1f.2 SATA controller [0106]: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA AHCI Controller [8086:2922] (rev 02) Código a ser inserido no device SATA (endereço 0x001F0002) Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x81, 0x26, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } Utiliza o método DTGP, se ainda não tiver, inclua no seu DSDT Method (DTGP, 5, NotSerialized) { If (LEqual (Arg0, Buffer (0x10) { /* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44, /* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B })) { If (LEqual (Arg1, One)) { If (LEqual (Arg2, Zero)) { Store (Buffer (One) { 0x03 }, Arg4) Return (One) } If (LEqual (Arg2, One)) { Return (One) } } } Store (Buffer (One) { 0x00 }, Arg4) Return (Zero) }
-
Fix para o shutdown, dispensa o uso da kext OpenHaltRestart para o PC desligar corretamente. Para placas mãe Asus: Tópico original: http://www.projectosx.com/forum/index.php?showtopic=904 Modifique o método _PTS para não fazer nada se o Arg0 for 0x05 (shutdown) Method (_PTS, 1, NotSerialized) { If (LEqual (Arg0, 0x05)) {} Else { ... código original } } Para placas mãe Gigabyte: Tópico original: http://www.insanelymac.com/forum/index.php?showtopic=192518 No método _PTS, onde o Arg0 for 0x05 (shutdown), substitua o código original por esse Store (Zero, SLPE) Sleep (0x10) e insira esse código no bloco principal OperationRegion (PMRS, SystemIO, 0x0430, One) Field (PMRS, ByteAcc, NoLock, Preserve) { , 4, SLPE, 1 } Outras placas podem precisar do patch como o da Gigabyte, mas o PMBASE pode ser diferente OperationRegion (PMRS, SystemIO, [color=#FF0000]PMBASE+30h[/color], One) Field (PMRS, ByteAcc, NoLock, Preserve) { , 4, SLPE, 1 } Observe na definição do CPU (se não estiver na DSDT, procure nas SSDT) Processor (P001, 0x01, [color=#FF0000]0x00000810[/color], 0x06) {} PMBASE+10h=0x810 PMBASE=0x800 nesse caso usaria OperationRegion (PMRS, SystemIO, [color=#FF0000]0x0830[/color], One)
-
Os patches separados estão disponíveis aqui. Os patches organizados por placa mãe estão aqui.
-
Atualizado: AppleALC (dynamic AppleHDA patcher, requer a Lilu) Existem duas kexts para áudio HDA: AppleHDA e VoodooHDA. A VoodooHDA funciona com vários codecs, alguns muito bem, outros nem tanto. Ela foi desenvolvida inicialmente aqui http://forum.voodooprojects.org/index.php/board,10.0.html e mais recentemente aqui http://www.projectosx.com/forum/index.php?showtopic=355 A AppleHDA é original do Mac OS X e não reconhece nativamente as placas de som dos PCs, a menos que se injete algumas propriedades no dispositivo HDEF (via DSDT ou kext HDAEnabler) e no arquivo plist (via kext LegacyHDA). Com um pouco de sorte você vai encontrar kexts prontas para o seu codec. Kexts e DSDT patches para ALC662, ALC883, ALC888, ALC888B, ALC889, ALC889A, AD1988B, AD2000B, entre outros, podem ser encontrados neste tópico http://www.insanelymac.com/forum/index.php?showtopic=140941
-
Muitos perguntam onde baixar kexts para placas de vídeo nVidia, a resposta é que elas já estão instaladas, fazem parte do Mac OS X. O problema é que elas não foram carregadas porque a placa não foi reconhecida. Para que a placa seja reconhecida é necessário injetar algumas propriedades nela. O bootloader Chameleon faz isso automaticamente, basta ativar a opção GraphicsEnabler e configurar o PciRoot (apenas se não for zero). No arquivo org.chameleon.Boot.plist <key>GraphicsEnabler</key> <string>Yes</string> <key>PciRoot</key> <string>1</string> Para saber o valor correto do PciRoot rode no terminal ioreg -l | grep -15 "AppleACPIPCI\ " | grep UID Você pode usar o Chameleon Wizard http://Olarila.com/forum/viewtopic.php?f=9&t=398 Existem kexts para isso (NVenabler, NVinject, EvoEnabler, entre várias outras) mas elas fazem a mesma coisa, injetam propriedades, elas não são os drivers em si. http://www.projectosx.com/forum/index.php?showtopic=370 Também é possível passar as propriedades manualmente para o Chameleon. No arquivo org.chameleon.Boot.plist <key>device-properties</key> <string>[hexadecimal EFI string]</string> Para obter as propriedades injetadas automaticamente pelo Chameleon rode o comando ioreg -lw0 -p IODeviceTree -n efi -r -x | grep device-properties | sed 's/.*<//;s/>.*//;' > device-properties.hex Para converter o arquivo device-properties.hex (hexadecimal EFI string) para plist (property list file) você pode usar o GFXUtil (http://forum.netkas.org/index.php?topic=64.0) gfxutil -s -n -i hex -o xml device-properties.hex device-properties.plist Também pode usar o OSX86Tools (http://code.google.com/p/osx86tools/). O OSX86Tools também pode ser usado para criar uma EFI string. Outra forma de injetar as propriedades é pela DSDT, veja nesse tópico http://Olarila.com/forum/viewtopic.php?f=7&t=39 Para algumas placas pode ser necessário adicionar o device ID nas kexts NVDAResman, NVDANV40Hal (séries 6xxx e 7xxx), NVDANV50Hal (série 8xxx em diante) e NVDAGF100Hal (série 4xx em diante). Edite o arquivo Info.plist das kexts e adicione o ID da sua placa (0xDeviceIDVendorID) na chave IOPCIPrimaryMatch ou IOPCIMatch IOPCIPrimaryMatch 0x[color=#FF0000]06e4[/color][color=#008000]10de[/color] Como encontrar o device ID http://Olarila.com/forum/viewtopic.php?f=6&t=25 Como editar o Info.plist http://Olarila.com/forum/viewtopic.php?f=3&t=69
-
Esse patch permite habilitar os drivers da nVidia injetando as propriedades necessárias pelo DSDT. Para saber onde inserir o código você pode usar o IORegistryExplorer. Exemplo de código a ser inserido (no caso em P0P2) Device (GFX0) { Name (_ADR, Zero) Method (_DSM, 4, NotSerialized) { Store (Package () { "@0,compatible", Buffer () { "NVDA,NVMac" }, "@0,device_type", Buffer () { "display" }, "@0,name", Buffer () { "NVDA,Display-A" }, "@1,compatible", Buffer () { "NVDA,NVMac" }, "@1,device_type", Buffer () { "display" }, "@1,name", Buffer () { "NVDA,Display-B" }, "NVCAP", Buffer () { /* 0000 */ 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, /* 0008 */ 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, /* 0010 */ 0x00, 0x00, 0x00, 0x00 }, "NVPM", Buffer () { /* 0000 */ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0008 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0010 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0018 */ 0x00, 0x00, 0x00, 0x00 }, "VRAM,totalsize", Buffer () { 0x00, 0x00, 0x00, 0x20 }, "device_type", Buffer () { "NVDA,Parent" }, "model", Buffer () { "nVidia GeForce 9800 GTX" }, "rom-revision", Buffer () { "nVidia GeForce 9800 GTX OpenGL Engine" } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Em algumas placas mãe o device onde o GFX0 se encontra não está presente na DSDT, então você precisa inseri-lo também (em PCI0) Device (PEG1) { Name (_ADR, 0x00010000) Device (GFX0) { ... igual ao exemplo acima } } Exemplo de patches para o DSDT Editor: Placas mãe Asus https://www.olarila.com/files/DSDT/Patches/Misc/nVidia 9800 GTX 512 MB.txt Placas mãe Gigabyte https://www.olarila.com/files/DSDT/Patches/Misc/nVidia 9600 GT 1GB PCI0.txt nVidia 9800 GTX 512 MB.txt.zip nVidia 9600 GT 1GB PCI0.txt.zip
-
Atualizado: se sua placa mãe tem UEFI boot, não é necessário usar hybrid MBR, o Windows pode ser instalado no modo UEFI que requer GPT http://Olarila.com/forum/viewtopic.php?f=3&t=2831 BIOS boot (legacy) O fórum tem vários tópicos explicando como instalar, utilize o método que preferir, porém na hora de particionar o HD no esquema GUID, crie duas partições, a primeira no formato Mac OS Expandido (Reg. Cronológico) para instalar o Mac OS, e a segunda no formato MS-DOS (FAT) para instalar o Windows. Desta forma o Utilitário de Disco vai criar uma tabela hybrid MBR, ou seja, o Mac OS vai poder tratar como uma tabela GUID, e o Windows vai poder tratar como MBR. Este esquema não é o mais recomendável, mas você não deverá ter problemas se não utilizar outro aplicativo para editar a tabela de partições (gParted ou ferramentas para Windows). Mais detalhes sobre o esquema hybrid MBR nesse link http://www.rodsbooks.com/gdisk/hybrid.html Atualizado: o CD de boot OSX86 ModCD permite instalar em partição MBR (usando DVD retail Snow Leopard 10.6 ou 10.6.3) http://Olarila.com/forum/viewtopic.php?f=3&t=20 Instaladores USB podem ser modificados para MBR http://Olarila.com/forum/viewtopic.php?f=3&t=995 Ao instalar o Windows, formate a partição FAT no formato NTFS. Após a instalação, no próximo boot o Windows será carregado automaticamente, então será necessário reinstalar o Chameleon para gerenciar o boot, para isso utilize o CD de boot para entrar no Mac OS. Uma forma fácil de instalar é utilizando esse pacote http://Olarila.com/forum/viewtopic.php?f=9&t=70 Esse tópico mostra outras formas de instalar o Chameleon http://Olarila.com/forum/viewtopic.php?f=3&t=23 Se você utiliza o Windows 7, é importante que ao gravar o arquivo boot0 no MBR, não grave os 512 bytes, mas sim apenas os 440 bytes iniciais, caso contrário terá problema no boot do Windows, o que pode ser resolvido utilizando esse procedimento http://Olarila.com/forum/viewtopic.php?f=3&t=27 Se utilizar o pacote acima ou fizer a instalação manual, não deverá ter problema. O segredo é utilizar o comando fdisk incluído no pacote de binários do Chameleon. O instalador acima foi feito tomando este cuidado.
-
Se você tem teclado e mouse PS/2, ou tem um noteboot/netbook (que normalmente têm teclado e trackpad com interface PS/2), vai precisar de drivers para que eles funcionem. Existem duas opções, ApplePS2Controller e VoodooPS2Controller. A versão para Snow Leopard em diante precisa da AppleACPIPS2Nub para funcionar. Os CDs de boot e DVDs "distro" geralmente incluem estas kexts. Se as teclas "\|" e "/?" não estiverem funcionando no seu teclado ABNT2 e você estiver usando ApplePS2, tente trocar pela VoodooPS2. Download http://www.mediafire.com/?ndtl43meomn Fórum oficial da VoodooPS2 http://forum.voodooprojects.org/index.php/board,8.0.html Versão compilada para Snow Leopard (i386 e x86_64) por Dong http://www.insanelymac.com/forum/index.php?showtopic=175372 Essa versão corrige o bug da "tecla travada" ao despertar do repouso http://www.insanelymac.com/forum/index.php?s=&showtopic=175372&view=findpost&p=1314293 (precisa da AppleACPIPS2Nub.kext do link anterior) Nova versão que dispensa a AppleACPIPS2Nub, por Andy Vandijck http://www.insanelymac.com/forum/index.php?showtopic=240639 Se o painel de preferências do trackpad não estiver aparecendo, tente usar este procedimento, edite o arquivo /System/Library/PreferencePanes/Trackpad.prefPane/Contents/Info.plist e remova as linhas <key>VendorID</key> <integer>1452</integer> Como editar o Info.plist http://Olarila.com/forum/viewtopic.php?f=3&t=69 Você pode inverter as teclas command e option editando o arquivo VoodooPS2Controller.kext/Contents/PlugIns/VoodooPS2Keyboard.kext/Contents/Info.plist <key>Swap command and option</key> <false/> ou em Preferências do Sistema, Teclado, Teclas Modificadoras Para o trackpad você pode precisar de uma kext específica para o modelo/fabricante (Alps, Synaptics, ElanTech) http://Olarila.com/files/10.8/PS2/
-
Se o boot no modo verbose parar nesta mensagem, é provável que você não tenha instalado o driver correto da controladora SATA/ATA. Estes drivers também são chamados de chipset drivers, e os mais comuns são Intel (AppleIntelPIIXATA.kext), VIA (AppleVIAATA.kext), ATI (AppleATIATA.kext) e nForce (AppleNForceATA.kext). Consulte o manual da sua placa mãe ou o site do fabricante, descubra qual a controladora onde o seu HD está ligado e instale o driver correspondente. Se a sua controladora possui a opção AHCI na BIOS, utilize esta opção que ela deve funcionar sem drivers adicionais. Veja aqui como editar a kext original para que a controladora Intel funcione no modo IDE. Veja aqui como configurar o Windows Vista ou 7 para funcionar no modo AHCI, caso você tenha instalado com a controladora no modo IDE.
-
Uma das perguntas mais frequentes entre os que estão iniciando no OSX86: "Instalei, o PC reiniciou e fica na tela da maçã, o que fazer?" O primeiro passo para tentar solucionar o problema é fazer o boot no modo verbose, basta digitar -v na tela do Chameleon ou em boot-args nas opções do Clover. Você também pode abrir o menu com as opções de boot pressionando a tecla seta para baixo no Chameleon ou a barra de espaço no Clover. Fazendo o boot no modo verbose, em vez da tela da maçã serão mostradas as mensagens do sistema. Faça uma busca no fórum ou no Google usando as mensagens de erro que aparecerem. Caso não encontrar nada relevante, tire uma foto da tela e anexe aqui no fórum solicitando ajuda, é muito mais provável que consiga ajuda se fornecer informações importantes, do que se escrever simplesmente "parou na tela da maçã".
-
Atualizado: para laptops Haswell com problema de reboot logo no início do boot, use este patch no kernel Atualizado: o boot loader Clover gera SSDTs inclusive para CPUs Ivy Bridge http://Olarila.com/forum/viewtopic.php?f=9&t=1032 Atualizado: para CPUs Sandy e Ivy Bridge o GeneratePStates do Chameleon não está funcionando desde o update 10.7.4, você pode usar este script para gerar uma SSDT com os P e C states Atualizado: vários PCs (desktop e laptop) com chipset Sandy e Ivy Bridge precisam que a AppleIntelCPUPowerManagement seja modificada http://Olarila.com/forum/viewtopic.php?f=9&t=1003 Atualizado: o boot loader Chameleon pode gerar SSDTs com P e C states automaticamente, basta ativar as opções GeneratePStates e GenerateCStates Você ainda precisa ter certeza de que a kext AppleLPC está sendo carregada. Se não estiver, ajuste o device ID do LPC com um DSDT patch http://Olarila.com/forum/viewtopic.php?f=7&t=646 Qual SMBIOS usar para o seu hardware http://Olarila.com/forum/viewtopic.php?f=2&t=1302 Aplicativo para monitorar temperatura, frequência e voltagem do processador: HWMonitor http://sourceforge.net/projects/hwsensors/files/ Plugins da FakeSMC: CPUSensors - monitorar processador GPUSensors - monitorar placa de vídeo LPCSensors - monitorar placa mãe (Super I/O) ACPISensors - outros não suportados pelo LPCSensors (só funciona com edições na DSDT, só instale se fizer essas alterações) O valor informado pelo CPU não é a temperatura real, mas sim quanto falta para chegar à temperatura em que ele iria se desligar (Tjmax). O Tjmax é calculado automaticamente, mas pode estar incorreto, fazendo com que a temperatura mostrada em graus Celsius também esteja errada. Neste caso você pode definir o valor manualmente, editando a chave Tjmax no arquivo Info.plist da kext CPUSensors. Como editar o Info.plist da kext http://Olarila.com/forum/viewtopic.php?f=3&t=69 A kext original responsável pelo gerenciamento de energia é a AppleIntelCPUPowerManagement, porém poucas placas mãe funcionam com essa kext sem nenhum ajuste, por isso os guias de instalação sugerem a utilização de alguma kext disabler, que desabilita a AppleIntelCPUPowerManagement para evitar kernel panic ou superaquecimento do processador. http://Olarila.com/files/10.6/PM/NullCPUPowerManagement.kext.zip Desde o Leopard 10.5.8 o repouso (sleep) só funciona se a AppleIntelCPUPowerManagement estiver rodando, ao utilizar uma kext disabler o sleep deixa de funcionar. Para resolver o problema foi criada a kext SleepEnabler, que ativa a AppleIntelCPUPowerManagement quando o computador vai entrar em repouso. http://code.google.com/p/xnu-sleep-enabler/downloads/list
-
Tópico original: http://www.insanelymac.com/forum/index.php?showtopic=181631 Recomendo a leitura do tópico Dicas sobre gerenciamento de energia Para que a kext AppleIntelCPUPowerManagement funcione corretamente, é necessário que sua BIOS tenha os objetos _CST (C States), _PSS (Performance Supported States) e _PSD (P-State Dependency) na tabela SSDT. Certamente não é regra, mas nas poucas placas mãe que observei, percebi as seguintes coincidências: [table=600][trf][tdf][/tdf] [td]BIOS[/td] [td]_CST[/td] [td]_PSS[/td] [td]_PSD[/td] [td]Primeiro CPU[/td] [tdl]LPC compatível[/tdl][/trf] [tr][tdf]ASUS P5*[/tdf] [td]AMI[/td] [td]não[/td] [td]sim[/td] [td]sim[/td] [td]CPU1[/td] [tdl]sim[/tdl][/tr] [trl][tdf]Gigabyte[/tdf] [td]AWARD[/td] [td]não[/td] [td]não[/td] [td]não[/td] [td]CPU0[/td] [tdl]não[/tdl][/trl][/table] Para confirmar quais métodos sua placa possui, você pode usar tentativa e erro, inserindo um objeto por vez na tabela DSDT e verificando se funciona, ou fazer o procedimento explicado abaixo, utilizando o Linux. Observe que não tem problema se adicionar um objeto na tabela DSDT que já exista na SSDT. Os P-States, por exemplo, em algumas placas ASUS já estão presentes, basta adicionar os C States para que o SpeedStep funcione. Porém funciona com apenas 2 P-States (o máximo e o mínimo), então se quiser pode adicionar mais P-States no DSDT. O seguinte comando pode ser executado no Linux para extrair todas as tabelas ACPI mkdir ACPI && dmesg | perl -we '$n=0; while (<>) { if (($t,$a,$l,$o) = (/^[^a-zA-Z]*ACPI: ([-._A-Z0-9]{4,4}) +([0-9A-F]{8,8}), ([0-9A-F]{4,4})+(?:\s*\(([^)]+))?/)) { $o && $o=~s/[^-._a-zA-Z0-9]+/-/g; ($cmd="acpidump -a $a -l $l > \"ACPI/${t}".($o?"_$o":"").".aml\""); print "Running command: \"$cmd\"\n"; system($cmd); ++$n; } } die("No match") unless $n;' && zip -r ACPI-Tables.zip ACPI Se o SpeedStep não funciona nativamente, é provável que sua BIOS não tenha os C States, então você precisa adicionar os seguintes métodos: No primeiro CPU (pode ser CPU0 ou CPU1, dependendo da BIOS) Method (_CST, 0, NotSerialized) { Return (Package (0x02) { One, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000000, // Address 0x01, // Access Size ) }, One, 0x9D, 0x03E8 } }) } No segundo CPU (pode ser CPU1 ou CPU2, dependendo da BIOS) Method (_CST, 0, NotSerialized) { Return (Package (0x04) { 0x03, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000000, // Address ,) }, One, Zero, 0x03E8 }, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000000414, // Address ,) }, 0x02, One, 0x01F4 }, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000000415, // Address ,) }, 0x03, 0x55, 0xFA } }) } Nos demais CPUs (se existirem) adicione uma referência ao _CST do segundo CPU (lembre que pode ser CPU1 ou CPU2, dependendo da BIOS) Method (_CST, 0, NotSerialized) { Return (^^CPU1._CST ()) } Adicione o método _PSD apenas no primeiro CPU Method (_PSD, 0, NotSerialized) { Return (Package (0x05) { 0x05, Zero, Zero, 0xFC, 0x04 }) } Nos demais CPUs, adicione uma referência ao _PSD do primeiro CPU Method (_PSD, 0, NotSerialized) { Return (^^CPU0._PSD ()) } Para o método _PSS você precisa saber o número de P-States do seu CPU e os valores de FID e VID de cada P-State. Para obter estes dados você pode usar o programa PStateChanger (link para download no tópico original, veja no início do post). Adicione apenas no primeiro CPU Method (_PSS, 0, NotSerialized) { Return (Package (0x0N) // N = número de P-States { Package (0x06) { Zero, Zero, 0x10, 0x10, 0xFFVV, // FF = FID, VV = VID Zero // primeiro P-State }, Package (0x06) { Zero, Zero, 0x10, 0x10, 0xFFVV, // FF = FID, VV = VID One // segundo P-State }, Package (0x06) { Zero, Zero, 0x10, 0x10, 0xFFVV, // FF = FID, VV = VID 0x02 // terceiro P-State }, Package (0x06) { Zero, Zero, 0x10, 0x10, 0xFFVV, // FF = FID, VV = VID 0x03 // quarto P-State } }) } Nos demais CPUs, adicione uma referência ao _PSS do primeiro CPU Method (_PSS, 0, NotSerialized) { Return (^^CPU0._PSS ()) } Outra coisa necessária para que o gerenciamento de energia nativo funcione, é que a kext AppleLPC esteja carregada. Se a sua placa mãe tem um dispositivo LPC com ID compatível, a kext será carregada normalmente. Caso contrário, use o zhell's trick para mudar o ID. Adicione no device LPC (endereço 0x001F0000) Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "device-id", Buffer (0x04) { 0x18, 0x3A, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } Para finalizar, configure o SMproductname de acordo com o CPU.
-
Para instalar uma kext basta reparar as permissões e arrastá-la para a pasta /System/Library/Extensions (HD - Sistema - Biblioteca - Extensions). Você pode fazer pelo terminal ou utilizando o app Kext Wizard. Kext Wizard: http://www.insanelymac.com/forum/index.php?showtopic=253395 Pelo terminal: 1 - Acerte as permissões da kext sudo chown -R 0:0 [espaço] [arraste a kext para o terminal] sudo chmod -R 755 [espaço] [arraste a kext para o terminal] 2 - Carregue a kext antes de instalar, para evitar um possível problema no próximo boot sudo kextload [espaço] [arraste a kext para o terminal] 3 - Se não houve problema, arraste a kext para a pasta Extensions 4 - Atualize a data da pasta Extensions para forçar a atualização do cache sudo touch /System/Library/Extensions Mais informações sobre os comandos de permissões http://Olarila.com/forum/viewtopic.php?f=3&t=24 Kext Utility: Arraste a kext para a pasta Extensions e em seguida rode o app http://cvad-mac.narod2.ru/Kext_Utility/ Outra forma de instalar é arrastando a kext para o ícone do programa
