[GUÍA] Snow Leopard en Gigabyte EP35-DS3r

miliuco

Activo
[GUÍA] Snow Leopard en Gigabyte EP35-DS3r

NOTA PREVIA: conviene actualizar la BIOS a la versión F4 en la que Gigabyte ha renovado la sección AHCI que ahora es 1.20 y el arranque en modo AHCI es mucho más rápido que en las BIOS anteriores.

Para los que tengan una placa base similar a la mía y quieran probar Snow Leopard (SL) comento los detalles más significativos de la instalación teniendo en cuenta que se trata de un SO en versión beta todavía y que además no está diseñado para nuestros PCs.

Pre-instalación (preparación en 10.5)

He usado SL compilación 10a380 sobre un disco duro diferente (HFS+ con GUID) al que tengo con 10.5.

En BIOS tengo:
- dispositivos SATA como AHCI
- controladora IDE desactivada
- HPET de 64 bits activado.

Se prepara un archivo DSDT.aml básico (sin audio ni vídeo) en el que se hacen 2 modificaciones:

- ajuste de Stellarola para evitar que la CMOS de la BIOS se desconfigure tras cada uso de SL, hay que modificar ligeramente la sección del dispositivo RTC que en mi caso queda así:
Código:
            Device (RTC)
                {
                    Name (_HID, EisaId ("PNP0B00"))
                    Name (ATT0, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0070,             // Range Minimum
                            0x0070,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length ANTES ERA 4
                            )
                    })
                    Name (ATT1, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0070,             // Range Minimum
                            0x0070,             // Range Maximum
                            0x00,               // Alignment
                            0x04,               // Length
                            )
                    })
                    Method (_CRS, 0, NotSerialized)
                    {
                        If (LGreaterEqual (OSFX, 0x03))
                        {
                            If (HPTF)
                            {
                                Return (ATT1)
                            }
                            Else
                            {
                                Return (ATT0)
                            }
                        }
                        Else
                        {
                            Return (ATT0)
                        }
                    }
                }
- ajuste de Roisoft para que los discos no se muestren en el escritorio con el icono de carpeta o de disco externo, se trata de inyectar el ID del chipset ICH9r en la sección correspondiente al dispositivo IDE1 para que sea reconocido como ESB2 AHCI de forma que SL reconozca los discos duros como internos; éste es el código que he puesto inmediatamente debajo de la línea correspondiente al dispositivo IDE1:
Código:
Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x02)
                        {
                            "device-id", 
                            Buffer (0x04)
                            {
                                0x81, 0x26, 0x00, 0x00  // ESB2 AHCI ID , tu ICH9R será detectado como ESB2 y tus discos como internos
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }

Se puede preparar con la aplicación EFIStudio un archivo com.apple.Boot.plist con la cadena EFi correspondiente a la tarjeta gráfica (8800GT en mi caso) para tener aceleración gráfica en SL.

Instalación (desde 10.5)

La instalación se realiza desde 10.5:

1- mostrar archivos invisibles
2- doble clic en /Volumes/DVD_SL/System/Installation/Packages/OSinstall.mpkg
3- elegir disco de SL como destino y esperar a que termine la instalación
4- aplicar Chameleon 1 0 2:
- Chameleon1 con soporte para SL de Aquamac (no parchea SMBIOS y no muestra algunas informaciones en Perfil de Sistema))
- Chameleon 2 con PCEfi 10 de Netkas (permite parchear SMBIOS y todo se muestra bien en Perfil de Sistema)
5- aplicar algunas extensiones de 64 bits: AppleDecrypt, Disabler (o NullCPUPowerManagement en su lugar), OpenHaltRestart y PlatformUUID (en /S/L/E, no en /Extra)
6- se puede borrar AppleIntelCPUPowerManagement pero al tener DSDT y disabler no es necesario
7- copiar DSDT.aml o bien a la raíz / de SL (Chameleon 1 de Aqua-mac) o bien a la carpeta /Extra (Chameleon 2 + PCEfi 10)
8- copiar com.apple.Boot.plist con la cadena gráfica o bien a su sitio habitual (Chameleon 1 de Aqua-mac) o bien a la carpeta /Extra (Chameleon 2 + PCEfi 10)

Post-instalación (desde SL)

1- el primer disco de arranque en la BIOS ha de ser el de SL, no funciona bien arrancar el disco de 10.5 para elegir el de SL en el menú de Chameleon
2- si se usa Chameleon1 de Aquamac, SL sólo arranca bien con kernel y extensiones en modo de 32 bits (arranque por defecto o con el modificador -x32 en el prompt de Darwin)
3- si se usa Chameleon2, SL arranca bien con kernel y extensiones en modo de 64 bits (arranque por defecto o con el modificador -x64 en el prompt de Darwin) aunque es posible arrancar en modo 32 bits con el modificador -x32
4- a pesar del inconveniente de la falta de información en Perfil de Sistema parece arrancar y funcionar mejor con Chameleon1 en modo 32 que con Chameleon2 en modo 64 (los test de GeekBench 64 y de Xbench arrojan valores idénticos en ambos modos)
5- si el arranque en modo 64 no llega a completarse por no llegar a cargar dsmos.kext (se para en "Waiting for DSMOS...") puede ser que el desencriptador que se usa (dsmos o AppleDecrypt) no está bien compilado para 64, entonces conviene borrar ése e instalar otro
6- a los pocos minutos de tener el sistema en marcha sale un KP que parece estar relacionado con mdworker, se soluciona desactivando mdworker, borrando o moviendo el archivo
/System/Library/LaunchDaemons/com.apple.metadata.mds.plist
aunque se pierde la capacidad de indexar el contenido del disco en el arranque y Spotlight puede fallar
7- es conveniente reparar permisos de la carpeta Extensiones con la herramienta de Cvad "Kext Utility for Leopard y Snow"
8- aporte de Roisoft: también es conveniente recrear la caché de extensiones (que en SL está en diferente sitio que en 10.5) con este comando en Terminal:
sudo kextcache -v 1 -t -l -m /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext /System/Library/Extensions
Nota: si la ejecución de este comando da errores con los kext que se han instalado a mano hay que darles a esos kext los permisos adecuados (propietario root:wheel o 0:0) antes de volverlo a ejecutar
9- la Ethernet funciona bien (no he probado TimeMachine pero sí compartir archivos con otro Mac)
10- en el primer arranque no funciona la reparación de permisos con Utilidad de Discos ni Actualización de software pero a partir del 2º se puede acceder a las actualizaciones del sistema con 2 nuevas compilaciones más recientes que la 10a380 y la reparación de permisos funciona bien
11- si el sistema funciona bien se puede instalar la extensión VoodooHDA de 64 bits, en mi caso da sonido correcto al chip ALC889a aunque con errores frecuentes en System.log
12- el reposo no funciona, el sistema no despierta bien y hay que reiniciar a mano (he probado con los modos hibernate 0 y 3 y con la opción de “Reiniciar automáticamente tras un corte de suministro” y sin ella).

NOTA: los archivos a que hago referencia se descargan desde distintos sitios de Internet, es cuestión de buscarlos (como orientación propongo los nombres de Applesana y Roisoft, Laszlo en ProjectSnow, SaCleoCheater en InfiniteMac, Aquamac en ProjectSnow, etc.).
 

roisoft

New member
Salu2!

Felicidades por la guía Milicuo, gran trabajo como siempre... !!

Si me permites un par de apuntes....si el arranque se te para en "waiting for dsmos" significa que tu decrypter no está funcionando ok en modo 64 bits o que ha sido compilado incorrectamente. Usa el Appledecrypt que he posteado en el hilo anterior....

Los KP aleatorios me da la sensación que son producidos en instalaciones con disco duro compartido co leopard u otro sistema operativo..

Otra cosa que recomiendo es crear correctamente el kextcache, la utilidad de reparacion de permisos a la que haces referencia no lo hace del todo correcto..

teclear esto desde el terminal

kextcache -v 1 -t -l -m /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext /System/Library/Extensions

recomiendo usar los kext que usamos en /Extra en /S/L/Extensions, snow es algo quisquilloso con esto, o si quereis seguir con los kext añadir el directorio /Extra/Extensions al mkext de snow

kextcache -v 1 -t -l -m /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext /System/Library/Extensions /Extra/Extensiones

#nota : como podeis observar he llamado /Extra/Extensiones al directorio con "nuestros" kext debido a que si los añado al /Extra/Extensions me dará problemas el mkext de Snow y el bootloader
 

miliuco

Activo
Efectivamente, Roisoft, cambio dsmos por AppleDecrypt de tu otro mensaje y ahora es posible arrancar en modo de 64 bits, gracias, por lo que veo no es tan simple compilar en modo 64 estos archivos.

Y me meto también con la kextcache, pongo todas las extensiones en /S/L/E y voy a utilizar el comando que posteas.
 

miliuco

Activo
Mdworker activado en SL 10a411

Con el sistema actualizado a la versión 10a411 (desde la 10a380 original) parecen haber desaparecido esos KP aleatorios que aparecían a los pocos minutos de tener SL en marcha con mdworker activado y Spotlight en funcionamiento.

Se proponía una forma de evitar esos KP desactivando mdworker, borrando o moviendo el archivo
/System/Library/LaunchDaemons/com.apple.metadata.mds.plist
aunque se perdía la funcion de Spotlight.

Para volver a habilitar mdworker y Spotlight hay que:

1- en Terminal "sudo nano /etc/hostconfig" sin las comillas, en el archivo hostconfig hay que crear o modificar una línea con este texto:
SPOTLIGHT=-YES-

2- restaurar con Pacifist 2 archivos desde el DVD o la imagen DMG de SL:
/System/Library/LaunchAgents/com.apple.SpotlightServer.plist
/System/Library/LaunchDaemons/com.apple.metadata.mds.plist

3- en Terminal:
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.metadata.mds.plist
sudo launchctl load -w /System/Library/LaunchAgents/com.apple.SpotlightServer.plist

4- reactivar el índice del disco de SL, en Terminal:
sudo mdutil -i on /
(ha de mostrar el mensaje "Indexing enabled.").

5- reiniciar sesión o el sistema.

NOTA: Pacifist puede fallar con el mensaje de que no se encuentra "usr/bin/update_prebinding", para arreglarlo basta con copiar ese archivo desde una instalación de 10.5 (usr/bin/update_prebinding es un enlace hacia el archivo /usr/bin/update_dyld_shared_cache que no es necesario copiar pues ya existe en SL).
 

miliuco

Activo
Otra forma de mostrar discos duros como internos

Ya se ha comentado la propuesta de Roisoft para que los discos duros SATA AHCI no se muestren como carpetas o como discos externos (cargando por DSDT el identificador del dispositivo ESB2 AHCI, lo que hace que en Perfil de Sistema la sección Serial-ATA muestre ese dispositivo ESB2).

Hay otra forma de conseguir el mismo efecto sin modificar DSDT mediante la extensión IOAHCIBlockStorageInjector.kext de 64 bits, esta "falsa" extensión se instala en /S/L/E y se limita a informar a IOAHCIBlockStorage de que los discos SATA son internos con lo que los iconos del escritorio recuperan el aspecto clásico de disco duro de OSX.

Al usar DSDT sin ajuste de ESB2 AHCI los dispositivos Serial-ATA salen en Perfil de Sistema como genéricos "Unknown AHCI Standard Controller", es algo puramente cosmético que no afecta al rendimiento pero se puede mejorar ese aspecto modificando el archivo
/System/Library/Extensions/AppleAHCIPort.kext/Contents/Info.plist
en su primer apartado que originalmente es
Código:
		<key>GenericAHCI</key>
		<dict>
			<key>CFBundeIdentifier</key>
			<string>com.apple.driver.AppleAHCIPort</string>
			<key>Chipset Name</key>
			<string>AHCI Standard Controller</string>
			<key>IOClass</key>
			<string>AppleAHCI</string>
			<key>IOPCIClassMatch</key>
			<string>0x01060100&0xffffff00</string>
			<key>IOProbeScore</key>
			<integer>800</integer>
			<key>IOProviderClass</key>
			<string>IOPCIDevice</string>
			<key>Vendor Name</key>
			<string>Unknown</string>
		</dict>
y cambiando la clave Vendor Name de Unknown a Intel con lo que Perfil de Sistema lo muestra así:
Intel AHCI Standard Controller:

Fabricante: Intel
Producto: AHCI Standard Controller
Velocidad: 3 gigabits
Descripción: AHCI Version 1.20 Supported.
 

miliuco

Activo
Netkas lanza la versión 10.1 de PC_EFiv10

En el blog de Netkas ha salido el aviso del lanzamiento de la versión 10.1 de PC_EFiv10, parece tener algunas mejoras sobre todo en cuanto a placas Gigabyte.

La he instalado en el disco de SL (simplemente hay que substituir el archivo /boot por el que se descarga desde Netkas.org, conservando la instalación de Chameleon2) y se observan algunas ventajas:

- el tiempo de arranque se ha reducido significativamente
- SL arranca por defecto en modo x64
- el sistema parece funcionar bien presentando buena estabilidad.
 

roisoft

New member
Sería interesante que alguna vez éste individuo haga una release completa de los fuentes, ya que está incompleta ( dicho por el mismo en el irc), su anterior pc_efi (del que no hay fuentes) estaba basado en el trabajo de d. elliot (dfe, al que no hace referencia en ningun momento) y posteriormente en chameleon, interesante es leer las opiniones de d. elliot sobre netkas. Ahora su nueva pc_efi se basa en cham2 y cuando por fin hace una release de fuentes, éstas estan incompletas, ahora una actualización en los que nos añade un diff con los cambios, pero donde están la version completa de los fuentes para añadir estos cambios?, de cine vamos...




*miliuco , disculpa por este off-topic, puedo borrar el post si lo crees oportuno.

** por cierto chameleon2 tb es capaz de botear snow leopard en modo 64 , lo único que es necesario hacer es un mkext y colocarlo eb /extra para botear desde él y en el segundo reinicio ya puedes eliminarlo ya que actualizará el cache correctamente en la ubicacion nueva para snow, asi es como yo lo boteaba hace varios meses y si te fijas en los fuentes del chameleon veras que hay soporte para x86_64 y con unos mínimos ajustes podras compilarte una version snow "friendly" y adios la necesidad del mkext en el arranque, y sin tantas historias de tablas efi64 como clama este tipo, lol estamos hablando de boots basados en fake efi no en efi real lo de efi64 en el devicetree no es mas que cosmética....
 

miliuco

Activo
Nada de disculpas, al contrario, siempre viene bien la información dada por quienes sabéis más de estos asuntos.
Es cierto que Netkas suena siempre entre los gurús del mundo osx86 y que tiene aportaciones interesantes, sobre todo su emulador de EFi. Pero también es cierto que se le reprocha con razón la falta de reconocimiento a los trabajos de D. Elliot y otros y también a Zeph y el resto de Chameleon.
Como el código fuente no lo consulto desconocía lo que cuentas.
Seguro que tienes razón en todo lo que dices. Simplemente me fijé en que lanzaba la versión 10.1 y al probarla vi que el arranque es más rápido y que el sistema funciona bien por lo que lo he comentado en este hilo que dedico a Snow en mi placa EP35.
Así que nada de borrar tu mensaje, faltaría más.
Por cierto, me interesa mucho lo otro de arrancar Snow con Chameleon2 así que voy a practicar lo que dices.
 

GordiWan Kenobi

New member
antes incluso que salga a la venta snow, veo que los avances son impresionantes, en leopard tube mis dudas antes de salir, pero vi que en un pis pas, estaba hecho, y ahora veo que snow tambien, la verdad, sorprendente, y me alegro que funcione.

por cierto miliuco, aunque sea off topic, esta version de placa, ep35, hay alguna similar, pero con 2 PCI express?, estube apunto de comprar esa, viendo tus experiencias con ella, pero me hecho atras eso, que me hace falta por cierto.
saludos y suerte.
 

roisoft

New member
Nuevo update 10a421, los decrypters no funcionan con esta version, apple ha cambiado cosas, hay que hacerlo a la antigua , jeje

si alguien quiere los binarios desencryptados que avise. (no se si puedo postearlos aqu o dar un link a un host tipo rs)
 

miliuco

Activo
Entonces no lo actualizo antes de tener decrypter o binarios desencriptados. ¿Puedes pasarlos o ponerlos en algún sitio desde el que descargarlos? Gracias.


Roisoft: los he visto en el canal #snowleopard de irc.osx86.hu, ¿son ésos los que has probado? ¿Hay que borrar el decrypter si se instalan esos binarios? ¿Y AppleIntelCPUPowerManagement?
 

roisoft

New member
supongo que son los mismos

yo lo he hecho a la antigua, haciendo lipo de los binarios apuntando la salida de otool y abrirlos en GDB y usando dd luego...

se puede usar la utilidad de marvin para saber los binarios encryptados etc.. te crea el txt con los binarios a parchear, encryptados y cpuids (que aqui no hacen falta, solo para amd)
 

miliuco

Activo
Gracias por la info, Roisoft.

Gordiwan: supongo que te refieres a PCI-e x16, porque esta placa tiene una de ese tipo y 3 PCI-e x1, creo que toda la serie P35 y EP35 de Gigabyte tienen más de una de las x1 y solamente 1 de las x16.
 

GordiWan Kenobi

New member
gracias miliuco por el off topic, e visto otras EP35 y 45, pero tengo que confirmar que son compatibles, proque a mas de uno aqui le gustaria tener una para 2 graficas, para edicion seguro.

y aunque apple cambie los decrypter, creo que no hay nada que hacer para parar este movimiento.... con gente como roisoft y compañia... como no los maten... jajjaja.
 

miliuco

Activo
He intentado actualizar a 10a421 y tanto en el Hack como en el iMac se ha descargado bien, ha empezado la instalación y antes de terminar se ha interrumpido de igual forma en los 2 con el mensaje de error en la instalación.

Menos mal que al reiniciar ambos sistemas seguían estando en 10a411 sin errores aparentes, el rollback ha funcionado perfectamente.
 

godisnotalive

New member
A mi me ha actualizado a la perfeccion. Nueva build de QuickTime, parece que kernel definitivo y un notable aumento de rendimiento. Parece que va cumpliendo con lo que prometia (aunque no la "gran capacidad" para leer formatos de video)

como curiosidad han cambiado el icono d QuickTime y ya se ven bien los iconos de los discos
 

roisoft

New member
Un dato curioso, ya no es necesario parchear los Alias en los DSDT en este snow, funciona perfectamente sin parcheo... tal cual

(ejemplo de un i7, funciona de igual forma en otros chipsets)

Scope (_PR)
{
Processor (P001, 0x01, 0x00000810, 0x06) {}
Alias (P001, CPU1)
Processor (P002, 0x02, 0x00000000, 0x00) {}
Alias (P002, CPU2)
Processor (P003, 0x03, 0x00000000, 0x00) {}
Alias (P003, CPU3)
Processor (P004, 0x04, 0x00000000, 0x00) {}
Alias (P004, CPU4)
Processor (P005, 0x05, 0x00000000, 0x00) {}
Alias (P005, CPU5)
Processor (P006, 0x06, 0x00000000, 0x00) {}
Alias (P006, CPU6)
Processor (P007, 0x07, 0x00000000, 0x00) {}
Alias (P007, CPU7)
Processor (P008, 0x08, 0x00000000, 0x00) {}
Alias (P008, CPU8)
Processor (P009, 0x09, 0x00000000, 0x00) {}
Alias (P009, CPU9)
Processor (P010, 0x0A, 0x00000000, 0x00) {}
Processor (P011, 0x0B, 0x00000000, 0x00) {}
Processor (P012, 0x0C, 0x00000000, 0x00) {}
Processor (P013, 0x0D, 0x00000000, 0x00) {}
Processor (P014, 0x0E, 0x00000000, 0x00) {}
Processor (P015, 0x0F, 0x00000000, 0x00) {}
Processor (P016, 0x10, 0x00000000, 0x00) {}
}
 

godisnotalive

New member
curioso es jeje, tal vez este cambio en el reconocimiento de los nucleos tenga que ver con la posible inclusion de Grand Central Dispatch en esta build, lo que explicaria tambien el aumento de rendimiento, ¿que opinais?
 
Arriba