--------------------------------------------------
Soporte para precarga de DSDT.aml
Añadido código de detección de FSB implementado en Chameleon
Añadido soporte para controladores JMICRON ATA.
Los que tienen pensado hacer dual Boot con Windows (XP/Vista) en otro disco duro, solo tienen que presionar "Escape" en el prompt e introducir los 2 dígitos que correspondan a su disco duro: 81, 82 etc..
Esta versión permite la utilización de un archivo com.apple.Boot.plist que puede ubicarse tanto en el raíz de /Volumes/EFI como si queremos emplazarlo dentor de la ruta /Volumes/EFI/Library/Preferences/Systemconfiguration/ (tendremos que crear la ruta usando mkdir -p /Volumes/EFI/Library/Preferences/Systemconfiguration
----------------------------------------------------
Todos los créditos de este método son para Munky, Turbo, Dense, dfe, zef y todo el team chameleon (hilo original)
Simplemente me he limitado a intentar explicar su método en nuestro idioma.
Cuando formateamos y particionamos nuestro disco duro y elegimos el esquema de particiones GUID el sistema nos crea una pequeña partición de 200mb llamada EFI

Bien, pues con este método lo que se pretende es aprovechar ésta partición para instalar en ella las extensiones adaptadas a nuestro hardware y que utilizamos en el método boot-dfe-132 para instalar el retail dvd sin modificaciones. Esto hará que los updates de apple sean menos peligrosos y mucho más sencillos.
Esta guía asume que habeis instalado a partir del método dfe-132 el retail dvd de leopard.
Primero de todo descargamos el fichero ZIP adjunto. Contiene los ficheros modificados para poder usar la partción EFI. Lo descomprimimos en el escritorio.

Ahora nos dispondremos a reformatear la partición EFI
abrimos el terminal y tecleamos
CODE
sudo -s (contraseña)
diskutil eraseVolume "HFS+" "EFI" /dev/diskXs1 (reformateamos la partcion en hfs+ (X=nº de disco), ignora el mensaje "Could not mount disk0s1 with name after erase")
cd /Users/"tu usuario"/Desktop/efi_boot_v2 (se asume que has descomprimido el fichero en el escritorio)
./fdisk -f boot0 -u -y /dev/rdiskX (rdisX=la X tendrá que ser sustituida por el disco destino p.e. disk0)
dd if=boot1h of=/dev/rdiskXs1 (X= nº de disco y la partición es la 1 (particion EFI siempre es 1))
mkdir /Volumes/EFI
mount_hfs /dev/diskXs1 /Volumes/EFI (creamos, asignamos y montamos nuestra Particion EFI en /Volumes/EFI (X=nº de disco))
cp boot-turbo-munky.bin /Volumes/EFI/boot (ponemos uno de los archivos modificados en el raíz de la partición EFI)
cp update.sh /Volumes/EFI/ (copiamos el script para crear el extensions.mkext de la carpeta /Volumes/EFI/Extensions)
diskutil eraseVolume "HFS+" "EFI" /dev/diskXs1 (reformateamos la partcion en hfs+ (X=nº de disco), ignora el mensaje "Could not mount disk0s1 with name after erase")
cd /Users/"tu usuario"/Desktop/efi_boot_v2 (se asume que has descomprimido el fichero en el escritorio)
./fdisk -f boot0 -u -y /dev/rdiskX (rdisX=la X tendrá que ser sustituida por el disco destino p.e. disk0)
dd if=boot1h of=/dev/rdiskXs1 (X= nº de disco y la partición es la 1 (particion EFI siempre es 1))
mkdir /Volumes/EFI
mount_hfs /dev/diskXs1 /Volumes/EFI (creamos, asignamos y montamos nuestra Particion EFI en /Volumes/EFI (X=nº de disco))
cp boot-turbo-munky.bin /Volumes/EFI/boot (ponemos uno de los archivos modificados en el raíz de la partición EFI)
cp update.sh /Volumes/EFI/ (copiamos el script para crear el extensions.mkext de la carpeta /Volumes/EFI/Extensions)
Ahora haremos la partición booteable (Esta parte es necesaria para alguna placas, como por ejemplo las Intel Bad Axe. En mi Gigabyte P35-DS4 no es necesario.)
CODE
./fdisk -e /dev/rdiskX (X=nº de disco...nota: ignorad el mensaje "could not open MBR file /usr/standalone/i386/boot0: No such file or directory error")
f 1
w
q
f 1
w
q
Ahora prepararemos la partición EFI para añadirle las extensiones modificadas, para ello pondremos nuestro CD DFE en la unidad de DVD (o montaremos nuestra ISO DFE), haremos doble click sobre INITRD.IMG y copiaremos en el escritorio la carpeta "Extra" que se encuentra dentro. Seguidamente y desde el terminal
CODE
mkdir /Volumes/EFI/Extensions
mkdir -p /Volumes/EFI/System/Booter (creamos estos directorios en la partición EFI)
mkdir -p /Volumes/EFI/Library/Preferences/SystemConfiguration (copiamos aquí si queremos el com.apple.boot.plist con efistrings o los flags que necesitemos)
cp -R /Users/"tu usuario"/Desktop/Extra/Extensions/*.kext /Volumes/EFI/Extensions (copiamos todas las extensiones que utilizamos en el DFE-132 a la carpeta de Extensiones en la partición EFI)
Si fuese necesario la utilización de un kernel parcheado lo copiaríamos en el raíz como por ejemplo el voodoo kernel
cp /"ruta donde esta el kernel voodoo"/voodoo /Volumes/EFI/
cd /Volumes/EFI
chmod +x update.sh (corregimos permisos y lo hacemos ejecutable via terminal)
sudo ./update.sh (esto construirá el kextcahe en /System/Booter. Crearaá tb un log al que si le echamos un vistazo, veremos errores en las dependencias, esto es normal)
umount -f /Volumes/EFI
rm -rf /Volumes/EFI
mkdir -p /Volumes/EFI/System/Booter (creamos estos directorios en la partición EFI)
mkdir -p /Volumes/EFI/Library/Preferences/SystemConfiguration (copiamos aquí si queremos el com.apple.boot.plist con efistrings o los flags que necesitemos)
cp -R /Users/"tu usuario"/Desktop/Extra/Extensions/*.kext /Volumes/EFI/Extensions (copiamos todas las extensiones que utilizamos en el DFE-132 a la carpeta de Extensiones en la partición EFI)
Si fuese necesario la utilización de un kernel parcheado lo copiaríamos en el raíz como por ejemplo el voodoo kernel
cp /"ruta donde esta el kernel voodoo"/voodoo /Volumes/EFI/
cd /Volumes/EFI
chmod +x update.sh (corregimos permisos y lo hacemos ejecutable via terminal)
sudo ./update.sh (esto construirá el kextcahe en /System/Booter. Crearaá tb un log al que si le echamos un vistazo, veremos errores en las dependencias, esto es normal)
umount -f /Volumes/EFI
rm -rf /Volumes/EFI
Si todo ha ido bien, ya estamos listos para reiniciar usando como arranque la partición EFI.
La gente que pueda usar el Kernel vanilla sólo tendrá que darle a enter en el prompt del darwin, o si quieren no tener que pasar por el prompt, añadir al boot.plist
CODE
<key>Quiet Boot</key>
<string>Yes</string>
<string>Yes</string>
los que necesiten otro kernel, se lo añaden al raíz de la partición EFI, y en el prompt tendrán que teclear "bt(0,0)/voodoo y la uuid de la particion de leopard" (si utilizan el voodoo kernel)
Para saber la UUID de la partición, abrimos diskutility, nos posicionamos sobre la partción en cuestión, clcick sobre información, y veremos una pantalla como esta ( el uuid estrá marcado en l cuadro)

el proceso puede automatizarse, editando el com.apple.boot.plist y añadiendo las entradas correspondientes.
Para modificar la partición EFI (añadir/quitar extensiones)
CODE
sudo -s
mkdir /Volumes/EFI
mount_hfs /dev/diskXs1 /Volumes/EFI (X=EFI disk)
killall Finder
(ahora verás la particion montada en el escritorio)
(si quieres desmontar)
umount -f /Volumes/EFI
rm -rf /Volumes/EFI
mkdir /Volumes/EFI
mount_hfs /dev/diskXs1 /Volumes/EFI (X=EFI disk)
killall Finder
(ahora verás la particion montada en el escritorio)
(si quieres desmontar)
umount -f /Volumes/EFI
rm -rf /Volumes/EFI
Si por algún motivo al querer montar la partición EFI obtenemos el mensaje "mount_hfs: Invalid argument" abrimos un terminal y tecleamos
CODE
fsck_hfs /dev/diskXs1 X=nº de disco
Se ha conseguido precargar el AppleHDA.kext desde la partición EFI usando el método posteado por Cyclonefr y Stickpin de fake plists HILO
haced las cosas con cuidado y prestando atención, no asumo responsabilidades por el mal uso de los comandos de esta guía...
updatados codecs audio
efi_boot_v6.1
Click to view attachment
Click to view attachment
Click to view attachment
Click to view attachment
Click to view attachment
Click to view attachment
