Jump to content

Actualizacion 10.9.4 con importantes cambios internos


juanerson
 Share

5 posts in this topic

Recommended Posts

Sobre la actualización Mac OS X 10.9.4:

 

Mas allá de los pocos cambios externos que publica la web de Apple, tanto en la actualización Delta (incremental) como el Combo (combinada), lo cierto es que los verdaderos cambios se ven reflejados y su implementación impacta de forma más importante hacia lo interno del sistema operativo. Lo cual pude verificar habiendo optado por realizar la actualización directamente desde la App Store, es decir la delta o incremental desde la 10.9.3. En ese sentido, se sabe que dichas actualizaciones se descargan "temporalmente" en la carpeta indicada en las dos primeras capturas (durante y finalizada la descarga):

 

1_Captura de pantalla 2014-06-30 a la(s) 15.38.21.png 2_Captura de pantalla 2014-06-30 a la(s) 15.40.30.png

 

El punto es que, una vez que tenemos el paquete instalador (.pkg) podemos revisar sus entrañas por ejemplo con Pacifist.app y darnos cuenta de los cambios internos, sobretodo en cuanto al kernel y las extensiones del sistema, entre otras cosas... para tener una mejor idea del panorama post-actualización. Ahora bien, por supuesto que si nos descargamos el .dmg pues lo podremos revisar con calma antes de tomar la decisión de actualizar., bien sea manualmente o desde la tienda. En fin, les subo una captura parcial del contenido de la delta 10.9.4:

3_Captura de pantalla 2014-06-30 a la(s) 16.33.39.png 4_Captura de pantalla 2014-06-30 a la(s) 21.08.39.png

Entre los más destacables, se encuentran algunos que afectan la configuración-gestión de energía (ACPI - Power Management), como por ejemplo:

AppleACPIPlatform.kext

AppleGraphicsPowerManagement.kext

AppleHPET.kext

AppleIntelCPUPowerManagement.kext

AppleLPC.kext

AppleRTC.kext

IOACPIFamily.kext

IOPCIFamily.kext

IOPlatformPluginFamily.kext

IOSMBusFamily.kext

IOUSBFamily.kext

 

De qué se trata? En lo absoluto estamos ante una actualización menor, sino de una muy importante, aunque "por ahora" inofensiva para el Hackintosh. En mi opinión es un preámbulo de Yosemite 10.10 que bastante ha dado de qué hablar entre los gurús y desarrolladores del ámbito. Bueno, esperemos que sea útil el tópico, ya que son muchas las extensiones actualizadas, para que se abra el debate y les ayude a implementar las medidas necesarias, como lo fue en mi caso que pasé un semi-susto jajaja, una tontería, porque NO esperaba esa pantalla negra post-actualización, es decir NO contaba con una actualización de gráficos en estos momentos. Pero viéndolo desde otro punto de vista también me lleve una grata sorpresa, ya que Apple no abandona los gráficos Intel HD de primera generación.

 

Por lo tanto, en la portátil con gráficos Intel HD 1st gen tuve que entrar en modo root o superusuario (-s) en modo verbose o textual (-v) para respaldar y eliminar las dos (2) extensiones que nos dejan a oscuras (sin interfaz), tal como lo expliqué aquí: http://www.insanelymac.com/forum/topic/292962-crear-usb-mavericks/?p=1998304 En síntesis, son seis (6) lineas de comandos (incluyendo el de reiniciar), y un último flag posterior a dicho reinicio, así:

 
mount -uw /
cp -rf /System/Library/Extensions/AppleIntelHDGraphics.kext /Users/nombredeusuario/Desktop
cp -rf /System/Library/Extensions/AppleIntelHDGraphicsFB.kext /Users/nombredeusuario/Desktop
rm -rf /System/Library/Extensions/AppleIntelHDGraphics.kext
rm -rf /System/Library/Extensions/AppleIntelHDGraphicsFB.kext
Reboot
En el reinicio entraremos descartando la caché principal del sistema con el flag: UseKernelCache=No

 

Topico oficial en Ingles: http://www.insanelymac.com/forum/topic/299208-os-x-mavericks-1094-officially-release/

 

P.D. Video ilustrativo sobre las actualizaciones de la App Store:

https://www.youtube.com/watch?v=oesfjcHL5mg
  • Like 7
Link to comment
Share on other sites

Hola juanerson, en el panel de Preferencias de Pantallas te sale el ícono de una MacBook Pro o un LCD? Porque hice una instalación limpia de 10.9.3 y me sale el ícono de un LCD (public.generic-lcd.icns) y antes estaba con la 10.9.1 y tenía el ícono de una MacBook Pro. Recuerdo que en ML me detectaba la pantalla como "spdisplays_display" y lo solucionaba inyectando el EDID. Desde 10.9 me sale "Pantalla integrada" sin modificar nada. Ahora sigue así con la 10.9.3 pero cambió el ícono por el de un LCD genérico en Pantallas y la inyección EDID no me funciona.

 

Otra pregunta. Para arrancar se borran los archivos AppleIntelHDGraphics.kext y AppleIntelHDGraphicsFB.kext y una vez iniciado se instalan de nuevo pero esta vez el AppleIntelHDGraphics.kext sin modificar y el AppleIntelHDGraphicsFB.kext con el frambuffer parcheado?

 

EDITO: Como dice juanerson en el siguiente post, efectivamente la inyección EDID funciona "a medias". Y el "problema" (estético) con el ícono en Preferencias de Pantallas se debe a que a partir de la 10.9.3 se agregó un archivo Info.plist al directorio /System/Library/Displays/Overrides que contiene esta llave: display-icon > /System/Library/CoreServices/CoreTypes.bundle/Contents/Resources/public.generic-lcd.icns que hace que aparezca el ícono de un LCD génerico en lugar del ícono de una MacBook Pro, por lo menos para los que usamos la integrada Intel HD Graphics de 1ra. gen.

Link to comment
Share on other sites

Hola. Off-topic. La inyección del EDID me funciona "a medias" porque aparece "pantalla integrada" (NO es la correcta) y "LCD color" (que SI es la correcta) en el perfil del sistema, no así como titulo en el panel de preferencias de Pantalla (incorrecto). Pero no sé si esto sea posible porque en cada actualización hay que eliminar los drivers nativos y parchear el FrameBuffer (solo el AppleIntelHDGraphicsFB.kext), lo cual elimina el perfil por defecto que debe asignar el sistema y crea uno genérico temporal. De hecho, es la causa que se recree dicho perfil cada vez que inicia el sistema en la ruta /Library/ColorSync/Profiles/Displays. Ademas produce el molesto mensaje que NO se puede calibrar porque no es el perfil original de la pantalla. Por cierto, con la HD3000 que es 100% nativa NO sucede así.

 

Algunas capturas:

Captura de pantalla 2014-07-03 a la(s) 08.25.02.png Captura de pantalla 2014-07-03 a la(s) 08.25.36.png

Captura de pantalla 2014-07-03 a la(s) 08.48.28.png Captura de pantalla 2014-07-03 a la(s) 08.27.24.png

Voy a probar con el .kext de Andy y dejo solo el EDID que crea a ver si funciona y te comento por privado. Fin Off-topic. Saludos.

Link to comment
Share on other sites

Actualizado sin problemas. Solamente tuve que reinstalar el audio. Aproveché para crear un nuevo AppleHDA.kext parcheado a partir de la versión vanilla 2.6.3 de Mavericks (estaba usando la 2.3.7 que creo viene de ML). Siguiendo los pasos que indica juanerson en este post primero parcheé el binario AppleHDA.kext/Contents/MacOS/AppleHDA. Hay que reemplazar el códec ADI 1984 (0x11d41984) por el nuestro en mi caso es el VIA VT2021 (0x11060441). Se busca el códec ADI 1984 (0x11d41984) en hexadecimal invertido que sería 84 19 D4 11 y se reemplaza por nuestro códec también en hexadecimal invertido, en este caso el VIA VT2021 (0x11060441) sería 41 04 06 11. Esto es lo que hace el script de bcc9. Lo podemos realizar con Hex Fiend por ejemplo. Luego modifiqué los otros 3 archivos necesarios: AppleHDA.kext/Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents/Info.plist, AppleHDA.kext/Contents/Resources/layout12.xml.zlib y AppleHDA.kext/Contents/Resources/Platforms.xml.zlib. Hay varias guías en el foro para saber que se hace en estos últimos 3 archivos. Para evitar la reinstalación del AppleHDA.kext en cada actualización se puede aplicar este método, es lo que quiero hacer ahora.
 
*Otra forma de parchear el binario AppleHDA es usando este comando en Terminal:

sudo perl -pi -e 's|\x84\x19\xd4\x11|\x41\x04\x06\x11|g' /System/Library/Extensions/AppleHDA.kext/Contents/MacOS/AppleHDA

Una cosa que aprendí revisando el OSXUpd10.9.4.pkg es que cuando se actualizan las extensiones se instalan solamente los archivos que fueron actualizados en la nueva versión de la extensión, no la extensión completa. Algo lógico pero tenía mis dudas. Me dí cuenta porque borré mi AppleHDA.kext de S/L/E y cuando instalé el nuevo extraído con Pacifist, en los Dispositivos de audio el "Micrófono interno" aparecía como "DevShortNameIMic", esto es porque la extensión que extraje de Pacifist es solo una actualización y está incompleta. Le faltan muchos archivos como por ejemplo el AppleHDA.kext/Contents/Resources/Spanish.lproj/Localizable.strings que traduce "DevShortNameIMic" al español.

  • Like 2
Link to comment
Share on other sites

 Share

×
×
  • Create New...