|
|
|
#1 | ||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Applesano Habitual ![]()
|
Guía DSDT-OSX86
También te puede interesar
También te puede interesar Salu2! A la vista de las numerosas preguntas que se están haciendo en casi todos los foros sobre este nuevo sistema, Pere y un servidor nos hemos animado a crear una serie de guías cuya intención no es otra que intentar explicar de una forma clara y sencilla todas las posiblidades que aporta este nuevo método . Listado de temas en esta guia: 1.¿Que es el DSDT?. 2.Qué archivos "boot" utilizar para cargar el archivo DSDT. 3.Caracteristicas del parcheador. 4.Utilización del parcheador. 5.Warnings y errores. 6.Edición de código básico. 7.Como probar si nuestro DSDT funciona. 1. ¿Que es el DSDT?. DSDT del inglés Differentiated System Description Table son una serie de tablas que suministran informaciones varias sobre la configuración de los distintos dispositivos al sistema operativo, en ellas están definidas por ejemplo, tipo de chip de sonido, salidas de video, capacidad para hibernacion, reiniciado, apagado, suspension, número de procesadores etc... Todo esto debe de seguir las directrices del standard ACPI pero como veremos a lo largo de esta guía no siempre estas tablas están escrtitas de una forma correcta y esto puede dar lugar a problemas varios... El usuario Mackerintel ha añadido la posiblidad de que el bootloader chameleon lea un DSDT modificado, básicamente lo que posibilita esto es la precarga a través del bootloader, de un dsdt modificado/fijado. La forma sería extraer el dsdt, editarlo y modificarlo para intentar crear un sistema lo mas "compatible" y estable posible. Como primer ejemplo (iremos viendo más a medida que avancemos) sería el fijado de uno de los errores comunes en las DSDT mal programadas (o incompatibles con OSX) , y no es otro que en la entrada que define el procesador/ procesadores se añade además del codigo para la CPU un "alias", que OSX no puede interpretar, en concreto el driver ACPIPlatform.kext, y nos dá el típico error de Cita:
Este es el caso: Cita:
Cita:
Partiremos de la base que tenemos instalador el bootloader Chameleon, una vez que hemos hecho esto tendremos que sustituir el archivo "boot" que se ha creado en la raiz de nuestro sistema, con el archivo boot que posibilita la precarga del dsdt modificado, existen varios pero hablaremos del oirginal creado por Mackerintel y el de Netkas. Características del boot de Makerintel: Soporta carga del archivo DSDT.aml desde la raiz del disco No soporta carga desde /Extra No soporta carga de Initrd.img desde boot cd No soporta boot desde la particion EFI Es basicamente el boot oficial de Chameleon parcheado para que cargue el archivo DSDT.aml desde el root. Características del boot the Netkas: Soporta carga del archivo DSDT.aml desde la raiz del disco Soporta carga desde /Extra No soporta carga de initrd.img desde boot cd No soporta boot desde particion EFI Soporta hibernacion. Soporta kernels de 64 bits (Snow leo) 3.Caracteristicas del parcheador. fassl ha creado un parcheador que corrige los errores más comunes en los dsdt de nuestras máquinas de la siguiente manera: Arregla los alias en los nombre de la cpu (Soluciona el problema de los que no pueden arrancar con 2 cpus), sin embargo hay reportes de procesadores con cuatro núcleos en los que hay que borrar manualmente algunos alias.... Parchea el HPET. (Permite cargar el archivo appleintelcpupowermanagement.kext, no más kernel panics actualizando). Si trás probar el archivo DSDT en nuestra máquina, se producen errores con el mencionado archivo, tendremos que ejecutar el parcheador con el argumento -newHPET, para forzar la introducción del codigo en nuestro DSDT. Parchea el RTC. (Permite cargar el archivo AppleRTC.kext que va a romper un monton de hackintosh por lo visto en la próxima actualizacion 10.5.6). El parcheador incluye en la carpeta tools, una utilidad de Intel para compilar y descompilar archivos DSDT, de nombre IASL, que nos será de muchisima utilidad cuando tengamos que arreglar manualmente el DSDT, más adelante se explicarán los comandos para ejecutarlo. 4. Utilización del parcheador. Una vez que hemos descargado y desempaquetado el patcher , abrimos un terminal, accedemos a la carpeta y lo ejecutamos, nos preguntara tipo de emulacion OSI. La emulación OSI son unas lineas de código añadido debajo de las entradas de nuestro procesador, para que este sea más compatible bajo diferentes sistemas operativos (Linux, windows 2000, windows xp, vista). No siempre estarán estas lineas en nuestra DSDT (dependerá del modelo y fabricante). Seleccionamos una emulación OSI: ( 1-darwin (no toca nada), 2-winxp (añade tablas de windows xp), 3-vista (añade tablas de vista). Como saber cual poner?, esto es sencillo, primero seleccionais la Darwin, para que el código no sea alterado, una vez tengais todo terminado, podeis hechar un vistazo al archivo DSDT.dsl y buscar las entradas de vuestro procesador, debajo tendriais que ver las entradas OSI y el codigo de los diferentes sistemas oprativos, si las entradas no estan, ya sabeis, seleccionar XP o VISTA dependiendo de la antiguedad de vuestro ordenador. Despues de elegir una emulacion, creará una archivo dsdt.dat, lo desensamblará, parcheará, ensamblará y lo dejará en la raiz de la carpeta en la que está alojado el parcheador. Si el parcheador encuentra errores, entonces no creará el archivo, si los errores son pocos, se puede forzar al parcheador a crear el archivo de la siguiente manera: Abrir terminal, arrastrar el parcheador al termial y escribir justo detrás -f , esto obligará a crear el DSDT.aml, no es muy recomendable, pero puede funcionar. La recomendación aqui seria que se editara el código (mirando en que linea se produce el error y y tratar de corregirlo), esto se verá en el capitulo 6. Una vez creado el archivo, se renombra de dsdt.aml a DSDT.aml y se coloca en la raiz del disco, si todo va bien, arrancará el sistema y podremos actualizar sin problema ninguno nuestro Hackintosh mediante Apple software update, pero es recomendable testear el DSDT parcheado primero (capitulo 7). 5.Warnings y errores. Es probable que al ejecutar el parcher, este no nos cree el DSDT.aml por culpa de errores, la correción de los mismos los veremos en el siguiente capítulo. Los warnings no suponen un problema para el correcto funcionamiento del patch, son solo un aviso por parte del compilador de intel, que ha encontrado código no excesivamente erroneo y lo reporta, por lo que no deberían de preocuparnos demasiado. 6.Edición de código básico. Si obtenemos errores en el código, el parcheador no nos creará el archivo DSDT.aml en la carpeta en la que está situado, el primer paso será apuntar o copiar los errores que nos da el terminal y apuntarlos en un archivo de texto, para futuras referencias. En el caso de error, encontraremos el archivo DSDT.dsl (Pre compilado) en la carpeta "debug", haremos una copia de esa carpeta fuera de la carpeta del parcheador para tener una copia de seguridad de la misma. Volvemos a la carpeta debug que está situada dentro de la carpeta del parcher, y moveremos el archivo DSDT.dsl para ponerlo al lado del archivo "DSDT patcher", ahora deberemos de abrirlo con un editor de texto, un buen editor de texto seria "Textmate", ya que este respeta el formato del codigo, pero tambien podremos utilizar el Text edit de OSX, aunque este no nos respetará demasiado el formato del codigo y puede que no quede tan "bonito", pero ambos sirven para nuestro proposito. Una vez terminada la corrección del código, salvaremos el archivo y haremos una copia del mismo puesto que al intentar compilarlo de nuevo, lo mas seguro es que desaparezca. Ejecutar el parcher asi: Abrir terminal, arrastrar el Dsdt parcher, dejar un espacio y arrastra el DSDT.dsl rectificado, presionar enter y elejir el OSI deseado. Si se siguen produciendo errores, tambien es probable que el archivo DSDT.dsl haya desaparecido, asi que utilizamos la copia que acabamos de hacer del DSDT.dsl justo antes de la compilación, mantened siempre copia del archivo cada vez que lo retoqueis. Ejemplos comunes de errores en el código que impiden la compilacion y su solución: Ejemplo 1 Cita:
Si miramos el archivo DSDT.dsl, comprobaremos que el error está aqui: Cita:
Cita:
Ejemplo 2: Cita:
Cita:
Cita:
Cita:
Cita:
Y ya tendriamos inicializado lo que nos pide el compilador. Ejemplo 3: Cita:
Cita:
Cita:
Cita:
Cita:
Cita:
Cita:
Cita:
Cita:
Cita:
Cita:
Cargar el driver appleintelcpupowermanagement.kext correspondiente a nuestra versión , eliminar cualquier "disabler" que tengamos en el sistema y reiniciar. SI al arrancar con -v encontramos: localhost kernel[0]: AppleIntelCPUPowerManagement: initialization complete Es que el driver carga correctamente y estamos protegidos frente a updates de Apple. En este punto, se puede borrar el driver del sistema una vez que hemos comprobado que funciona. Que hacer si el sistema no carga y da el HPET error? Arrancar con el dvd de instalación, tras pasar el welcome, mirad en el menu de arriba y buscad "utilidades", en ese menu, seleccionad "terminal". Una vez en terminal escribis esto: CODE mount -uw /VOLUMES/nombre_de_volumen rm -R /VOLUMES/nombre_de_volumen/System/Library/Extensions/AppleIntelCPUPowerManagement.kext exit Esto borrara el kext. Cerrad el instalador y reiniciad. Esta vez, cuando intenteis de nuevo el parcheo, tendreis que forzarlo, para ello, abrid terminal, arrastrad el DSDT parcher, dejad un espacio y escribid: -newHPET Presionad enter y esto forzará la inclusion del patch en vuestra DSDT. P.D: Esperamos que esta pequeña introducción haya sido de vuestro interés. Proximamente: Guia de inclusion de strings de video en DSDT (graficas nvidia) Guia de solucion del Time machine (para solucionar los errores de copia de seguridad). Basado en el parcheador 1.0.1e Salu2 siguiendo con la información sobre DSDT os traigo unas tablas que considero de utilidad para saber que significan los PNP en el dsdt Cita:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||

|
|
#2 |
|
|
Hola amigo roisoft
Gracias por compartir este excelente tutorial para instalar el sistema DSDT en los hackintosh pues muchos Applesanos lo agradecerán. En adicción si no te es molestia por favor edita tu mensaje e incluye las herramientas (Chameleon y archivos boot Mackerintel y Netkas) con descarga directa vía rapidshare para que los usuarios puedan empezar a realizar su actualización del boot |
|

|
|
#3 | |||||||||||||||||||||||||||||
|
Applesano Habitual ![]()
|
Adjunto los 2 archivos boot de mackerintel (dsdt y dsdt+smbios) el boot de Netkas y el patcher de fassl...
en breve posteo la continuacón de la guía, espero sea de utilidad y de su agrado... |
|||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||

|
|
#4 |
|
|
Asias Roisoft
Yo aporto el Chameleon 1.0.11 para los colegas que no lo tengan instalado aun Una vez que lo tengais instalado simplemente usar alguno de los boot publicados por roisoft, el de Makerintel o el de Netkas. Y a partir de aqui a jugar con el parcheador DSDT |
|

|
|
#5 | |||||||||||||||||||||||||||||
|
Principiante ![]()
|
Gran aporte, yo estoy con mi hakintosh kay 10.5.2, creen que podre saltarme a la 10.5.6?????
De todos modos creo que lo intentare el fin de semana a ver que resultados obtengo SALUDOS |
|||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||

|
|
#6 | ||||||||||||||||||||||||||||
|
Principiante ![]()
|
Cita:
localhost kernel[0]: AppleIntelCPUPowerManagement: initialization el problema es que al actualizar de 10.5.5 a 10.5.6 ya no funciono la cosa, actualizo, reinicio y se congela kernel panic, borre el appleintelcpup.... y listo puedo entrar nuevamente al sistema, el mensaje decia que habiaun error al tratar de cargar al susodicho AppleIntelCPUPowerManagement, el boot, fue el de netkas, lo cambie por el de mackerintel y lo extraño es que si entre al sistemama con el AppleIntelCPUPowerManagement instalado, aunque me marca errores alguna sugerencia |
||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||

|
|
#7 | |||||||||||||||||||||||||||||
|
Applesano Habitual ![]()
|
Me preguntas a mi o a "Railsoft" ? jejeje
Sería necesario que añadas un poco de información sobre la configuración de tu equipo amigo, decirte algo sin saber ésto es algo complicado.... La mayor parte de la gente con dsdt´s fijados correctamente no ha tenido problemas, a otros sin embargo no les ha ido bien, y a otros incluso no les ha hecho falta usar dsdt.... piensa que con esta actualización los foros de soporte de apple están plagados con problemas como, pantallas azules, airports que han dejado de funcionar, problemas con TM etc... En cuanto a los hacks, varios de los problemas que se han encontrado los usuarios es que la mayor parte de wifis pci han dejado de funcionar, otros han reportado problemas con los usb, tb gente con gráficas 8800 se han encontrado con lags en quicktime e itunes, como ves problemas existen en todos lados.. |
|||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||

|
|
#8 | |||||||||||||||||||||||||||
|
Principiante ![]()
|
Upss disculpa roisoft es que se me fue y cuando lo vi ya no supe como editar el post
con 10.5.5 me funciono perfecto, al actualizar a 10.5.6 kernel panic borro el apple intel... y funciona perfecto mi pc-mac je je je placa madre: ASROCK ConRoe 1333 D667 (sin line in) video: nvidia 7300 gt pci express procesador: intel core 2 duo a 2.33 ghz disco duro: 1 seagate de 80 gb ata para windows 1 hitachi de 300 gb sata donde se aloja el mac----> mac osx 10.5.6 instalado en nativo con Chameleon 1.0.11 ram: 2 gb el mensaje decia que habia un error al tratar de cargar al susodicho AppleIntelCPUPowerManagement, el boot, fue el de netkas, lo cambie por el de mackerintel y lo extraño es que ahora si entre al sistemama con el AppleIntelCPUPowerManagement instalado, aunque me marca errores Estos son los errores Dec 15 21:32:02 localhost kernel[0]: Extension "com.apple.driver.AppleIntelCPUPowerMana gement" has immediate dependencies on both com.apple.kernel and com.apple.kpi components; use only one style. Dec 15 22:01:15 somemodelrwp-de-joss-class kextd[408]: kld_load_from_memory() failed for module /System/Library/Extensions/AppleIntelCPUPowerManagement.kext/Contents/MacOS/AppleIntelCPUPowerManagement Dec 15 22:01:15 somemodelrwp-de-joss-class kextd[408]: a link/load error occured for kernel extension /System/Library/Extensions/AppleIntelCPUPowerManagement.kext gracias y disculpa saludos |
|||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||

|
|
#9 | |||||||||||||||||||||||||||||
|
Applesano Habitual ![]()
|
Salu2!
Si has tenido KP durante el update, pues este no se ha terminado de hacer correctamente por lo tanto sería conveniente que lo realizaras de nuevo... Usa el boot de netkas y crea extra/extensions en el raíz, añade disabler.kext, dsmos o appledecrypt, los kext de tu chipset, para que reconozca correctamente el disco duro y cualquier kext específico necesites o estes usando previamente, no te olvides de levantar las versiones de lo que metas en extra, así como fijarte que en los plist tengan justo antes de terminar "<key>OSBundleRequired</key>" "<string>Root</string>".. Corre el update (el combo de 600mb +/-) y reinicia, tendrás que fijar el audio posteriormente.... Adjunta el dsdt.aml que estás usando y el ioreg salvado con ioregistryexplorer (en la guia del TM puedes descargarlo)y le echaré un ojo para ver si es correcto. |
|||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||

|
|
#10 | |||||||||||||||||||||||||||
|
Principiante ![]()
|
ya reinstale, añadi los archivos a extra/..., el boot de netks, reinicie y entro, solo que en el registro veo las mismas lineas de error que anteriormente mencione
te subo los archivos que mencionaste gracias saludos |
|||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||

|
|
#11 | |||||||||||||||||||||||||||||
|
Lazarus Long ![]() ![]()
|
Gracias a la ayuda de Roisoft, aprenderemos DSDT estudiando estas las guías.
|
|||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||

|
|
#12 | |||||||
|
Principiante ![]()
|
Hola.
Muchas gracias amigos por toda información que suministran. Nesecito que me ayuden ya que no soy muy diestro en estas cosas. Corri el parache que ustedes citan el DSDT, y quiero saber si lo instale bien. Hay alguna manera de confirmar esto? Sin tener que correr la actualización (desde luego)Por favor si alguien sabe que me indique como hacerlo, pues segui lo de la guía pero creo que no entendi muy bien. Gracias amigos. |
|||||||
|
||||||||

|
|
#13 | |||||||||||||||||||||||||||||
|
Lazarus Long ![]() ![]()
|
Si pones AppleIntelCPUPowermanagement.kext en /System/Librart/Extensions y arranca bien es que DSDT se carga correctamente.
Si no arranca es que no está cargado DSDT, pero entonces has de borrar la extensión AppleIntelCPUPowermanagement.kext arrancando desde el DVD de Leopard o desde otro disco con Leopard y borrarla con comandos. |
|||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||

|
|
#14 | |||||||
|
Principiante ![]()
|
Gracias por la respuesta pero cuales comandos debo usar para borrar lo que me indica Lazarus. Si alguien sabe me puede indiacar como hacerlo.
|
|||||||
|
||||||||

|
|
#15 | |||||||||||||||||||||||||||||
|
Lazarus Long ![]() ![]()
|
Esa ayuda ya está en varios sitios, no sólo en este foro. Si no la conoces o si te manejas poco con los comandos de Terminal entonces pienso que te has saltado lecciones si estás instalando el DSDT.
|
|||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||

|
|
#16 | |||||||
|
Zero Aporte ![]()
|
DSDT-Vaio
Inmerso en este aunto del DSDT, encontré por casualidad un archivo del cual adjunto link donde lo he subido pesa 36.2 Mb, de nada más y nada menos que 189 Bios de Vaio, y puedo constatar que por lo menos el modelo que yo tengo R0030J8 que saqué directamente desde Ubuntu mediante comandos, se corresponde con el que viene en este archivo :
Extracción desde linux: Volcado del binario DSDT: # sudo acpidump -b -t DSDT -o DSDT.aml Desensamblado de DSDT a DSDT.dsl: # iasl -d DSDT.aml El que no tenga linux y no sepa desde Windows o Leopard espero que su Bios este en el archivo. Aplicando el patcher me daba 31 optimizaciones y sin errores ni warnig, pero no me reconoce como laptop, así creo que lo mejor es modificar el archivo de vaio, el patcher me sale como GBTUACPI y no estoy seguro que sea la compilación correcta si alguien lo sabe.... Apartir de tener los archivos la cuestión es modificalos correctamente, por lo que necesitaré vuestra ayuda, como se corrigen los corchetes dobles que hay en el código asi como tenerlo completamente optimizado, y si es posible modificarlo directamente desde 0xED, voy sin prisas y poco a poco, por el momento tengo el DSDT.aml en la raíz del disco y me arranca como laptop y el genericpowermanagement trabaja correctamente tengo una temperatura de unos 48 grados mas o menos constantes adjunto mis DSDT.aml ,dsdt.dsl, dsdt.hex , sin aplicar el patch, tal como sale de linux, por si puede servir. Enlace del arvchivo Bios Vaio: http://rapidshare.de/files/41258046/Vaio-DSDT-dsl.tar.html Gracias por leer el tocho de texto. Saludos a todos y gracias por este excelente y apasionande tema. |
|||||||
|
||||||||

| Voto + a uservaio : |
|
|
#17 | ||||||||
|
Zero Aporte ![]()
|
Cita:
Actualizo: He recompilado dsdt.dsl modificando las lineas que hacen referencia a la CPU, y me da la siguiente salida: la compilación la he realizado de este modo: iasl -c dsdt.dsl.... es correcto así? ASL Optimizing Compiler version 20080926 [Oct 4 2008] ASL Input: dsdt.dsl - 6099 lines, 211941 bytes, 2371 keywords AML Output: ./dsdt.aml - 21930 bytes, 645 named objects, 1726 executable opcodes Compilation complete. 0 Errors, 1 Warnings, 0 Remarks, 49 Optimizations Creo haber leído por ahí que se puede anular la línea de código que produce el warning, en todo caso como puedo eliminar dicha línea sin alterar perjudicialmente el código , si es correcto el DSDT.aml, ya el siguiente paso es sonido y gráfica por DSDT. Gracias a todos y especialmente a Pere y Roisof por la labor que están realizando. PD. he intentado subir los archivos y no me deja. |
||||||||
|
|||||||||

|
|
#18 | |||||||||||||||||||||||||||
|
Principiante ![]()
|
interesante el dsdt
Buenas raisoft, resulta que tengo la misma placa que tu, y la grafica tengo un 8600gt.
Instalo leopard retail 10.5.4 y mediante inyectores y ketx consigo casi todo menos que funcione bien el sonido y el tema de apagado, reinicio.. etc. tras leer el post de dsdt entiendo que se puede conseguir todo de esa manera y encima hacer el upgrade de apple sin problema (en principio). En esto del dsdt estoy completamente verde. he intentado seguir la guia que pones pero se me hace algo compleja y para colmo no se porque no puedo descargar los archivos que habeis colgado para trabajar con ellos. A ver si luego tengo mas tiempo y me pongo enteramente con ello. El post es para agradecer el curro que te pegas. |
|||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||

|
|
#19 | |||||||||||||||||||||||||||||
|
Applesano Habitual ![]()
|
parece ser que ha habido un problema con los links...
resubidos los archivos. |
|||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||

| Voto + a roisoft : |
|
|
#20 | |||||||||||||||||||||||||||
|
Principiante ![]()
|
Gracias por resubirlos
Roisoft tengo la misma placa que tu, no se que ando haciendo mal.
Abro el parcheador elijo windows vista, porque al elegir el 0 no veo los indicadores. me crea el dsdt.aml los sustituyo por DSDT.aml, lo llevo a la raíz reinicio con -v, entra pero no veo el indicador de appleintelCPU.... Aun así luego elimino el appleintelcpu... y luego no me pasa de la manzana cargando. ¿En que paso me e perdido o lo e hecho mal? Perdona mi torpeza, si pudieras explicar algo mas detalladamente, te estaría muy agradecido, ya que he buscado mas guías sobre esto pero por lo visto eres un pionero :), felicidades. Gracias de antemano. |
|||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||

| Respuesta | « Tutorial: OSX en HP Pavilion DV1000 - Tutoriales y Guías - Diferencia horaria entre XP y OSX (actualizado) » |
| Herramientas |
| Marcar Como Leídos |