******************************************************************************
Questa è la traduzione della guida di Munky con qualche aggiunta di mio pugno qua e la.
Fate riferimento all'originale per domande riguardanti problemi di varia natura connessi a questo tipo di installazione. Io potrò rispondere solo sulla procedura di installazione ma non potrò essere d'aiuto per l'interpretazione degli errori restituiti in fase di boot, avvio di MacOs, spegnimento/riavvio. Al massimo posso condividere esperienze circa i problemi riscontrati con hardware uguale al mio.
Se avete dubbi o problemi postate comunque, la nostra comunità italiana saprà darci una mano!!
Sappiate tra l'altro che l'uso della partizione nascosta EFI verrà implementato in un'imminente release del Chameleon. Quando Chameleon adotterà questo tipo di installazione, questo progetto sarà considerato obsoleto e non sarà più supportato.
Fatta questa premessa, doverosa, veniamo al dunque:
Vanilla!
Massima aspirazione di noi hackintoshers è sicuramente arrivare ad un'installazione "pura" o come molti amano definire: 100% Vanilla!
Cioè, poter installare nei nostri PC il DVD ORIGINALE di Leopard che abbiamo acquistato regolarmente, senza ulteriore bisogno di elaborate patch sul kernel o sui kext delle varie periferiche e, sopratutto, poter fare aggiornamenti dalla Apple in tutta tranquillità.
L'avvento del Boot-132 ci ha aperto gli occhi su un nuovo mondo: sui moderni chipset Intel, abbiamo la possibilità di eseguire il boot dell'OS X lasciandolo pressoché immodificato.
GPT
Formattando un disco in GPT (GUID Partition Table) tramite il Disk Utility, secondo appunto le specifiche EFI/GPT, per prima viene creata una partizione FAT32 nascosta di 200mb, con etichetta "EFI".
Questa dovrebbe contenere istruzioni/drivers EFI.
Forse Intel utilizzerà una partizione EFI per estendere le funzionalità BIOS dei propri chipset, ma per il momento a noi interessa solo che Apple, pur rispettando le specifiche EFI/GPT, crea la partizione nascosta da 200 mb ma... ma *non la usa!!!*
Da DiskUtility non la vedete ma, da riga di comando, si può montare ed esplorare.
Così noi possiamo metterci le mani e usarla per i nostri leopardici comodi!!!
Il vantaggio di questo metodo rispetto agli altri è di poter condividere un disco con sistemi Mac originali. Eh si, un Mac leggerà il disco USB del vostro Hackintosh come fosse suo, condividendo e aggiornando il vostro lavoro. Semplicemente.
Infatti ricordo che il bootloader è installato nella partizione EFI, che il Mac, di fatto, ignora (e sopratutto non sovrascrive o cancella!!).
Mac Os utilizza la seguente dicitura per le partizioni:
Assumendo di analizzare il primo disco della catena SATA:
/dev/disk0s1 è la famosa partizione EFI da 200mb, nascosta e vuota;
/dev/disk0s2 è Leopard;
/dev/disk0s3 è altra partizione, se l'avete creata.
Il secondo disco si chiamerà /dev/disk1, la partizione nascosta sarà /dev/disk1s1, ecc.
Bene, rileggete l'ultimo paragrafo.
Utilizzerò diskXs1, diskX o rdiskX per evitare di trarvi in inganno qualora installiate Leo sul secondo o terzo o ottavo disco SATA.
Installiamo!
Questa, Munky la chiama Fase 0, ossia il preambolo al metodo vero e proprio.
Requisiti: Dovrete essere in grado di ottenere un'installazione retail con boot-132.
In questo modo avete già ben chiaro in mente di quali kext avrete bisogno. Vi chiarisco infatti che sperimentare con questo metodo è un po' noioso, visto che si usa il terminale.
Se non avete ancora raggiunto il setup ottimale, vi consiglio QUESTA GUIDA, che utilizza il Chameleon DFE con directory /Extra/Extension nella radice del disco, quindi visibile e modificabile da Finder.
Vi consiglio vivamente di ripartire da ZERO.
Una bella, fresca e vergine installazione!
AVVISO: Il disco su cui andremo ad operare verrà rasato a zero!!!
SE AVETE DATI DA SALVARE O UNA PARTIZIONE CON ALTRO S.O. … li state vedendo per l'ultima volta!!!
Ingredienti:
DVD retail di Leopard, DVD RETAIL.
Un disco intero da dedicare.
Il vostro amato cd boot-132. I più sgai hanno la pen drive boot-132...
Uno dei file efi_boot allegati. Io ho utilizzato il 6.1 - salvatelo in una pendrive, assieme ai kext che andranno ad infestare la cartella /EFI/Extensions.
Una birra da 66cl. fresca e ignorante, tipo Moretti baffone.
Un panino al salame.
Prepariamo il disco.
Se avete un secondo disco, anche usb, con installato Leopard (qualsiasi distro) utilizzatelo pure per questa prima fase:
– inizializzate il disco che accoglierà Leopard: create almeno 1 partizione grande quanto reputate necessario; io ne consiglio almeno 2; sulla seconda archiviate tutti i programmi, immagini, combo-update, ecc. che vi serviranno a portata di mano in caso di fallimento della prima installazione. Già che ci siete fate una bella cartellina, la chiamate Munky e ci mettete il file efi_boot che trovate allegato e la cartella /Extensions con i kext già pronti.
Rasato il disco procediamo con l'istallazione di Leopard. Utilizzate pure il terminale.
Dopo aver montato il DVD o la sua immagine (RETAIL mi raccomando!) da riga di comando:
cd /Volumes/Mac\ OS\ X\ Install\ DVD/System/Installation/Packages(noi linuxiani ADORIAMO il tasto Tab...)
open osinstall.mpkg
Scegliete la partizione di destinazione
Morso al panino, sorso di birra.
Terminata l'installazione di Leopard, riavviate col fido cd boot-132 e arrivate al desktop.
Fase 1: Formattazione della partizione EFI
Aprite il Terminale
sudo -s (vostra password) diskutil info / | grep Identifier- questo comando restituirà il valore diskXsY della '/' attualmente avviata;
diskutil list- diskXs1 dovrebbe chiamarsi EFI. Questa è la partizione nascosta EFI del disco di riferimento
diskutil eraseVolume "HFS+" "EFI" /dev/diskXs1- Ok, adesso ci siamo. Siate *MOLTO* sicuri che quella X contenga il numero corretto. Questo comando formatterà la EFI Partition in HFS+. (NB Dopo la cancellazione verrà tentato un mount della stessa, ma fallirà con "Could not mount diskXs1 with name after erase". Ignorate tranquillamente).-
Fase 2: Installazione del bootloader
Estraete il file efi_boot in una cartella XYZ sul desktop
in Terminal, andate in questa directory XYZ
(deve contenere boot0, boot1h, boot-turbo-munky.bin e fdisk; nel Terminale basta digitare cd e trascinare dentro la cartella stessa)
./fdisk -f boot0 -u -y /dev/rdiskX- questo comando installa lo stage 0 del bootloader nel disco di destinazione
dd if=boot1h of=/dev/rdiskXs1- questo comando installa lo stage 1 del bootloader nella partizione EFI
mkdir /Volumes/EFI- crea una directory EFI su cui montare la partizione omonima;
mount_hfs /dev/diskXs1 /Volumes/EFI- montiamo la partizione EFI
cp boot-turbo-munky.bin /Volumes/EFI/boot- copiamo il bootloader modificato da Munky nella partizione EFI
cp update.sh /Volumes/EFI/- copiamo lo script update.sh, sempre in EFI.
Fase 3: Rendiamo il disco avviabile
Sempre in Terminale inseriamo le linee seguenti
./fdisk -e /dev/rdiskX- (NB: Ignorate tranquillamente l'errore "fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory error"
f 1 w y q
Fase 4: Setup del bootloader in EFI partition
1) Setup della directory tree, sempre in Terminale:
mkdir -p /Volumes/EFI/System/Booter mkdir /Volumes/EFI/Extensions mkdir /Volumes/EFI/.fseventsd
2) Poi con
touch /Volumes/EFI/.fseventsd/no_log- andiamo ad impedire il log di File System Events Daemon (fseventsd) sulla partizione EFI, che ne renderebbe impossibile il mount
3) copiamo i nostri kext in /Volumes/EFI/Extensions
cd (cartelladeikext) - vi ricordo che basta digitare cd e trascinare nel terminale la cartella; poi digitate il comando cp -R *.kext /Volumes/EFI/ExtensionsSe necessario potete copiare un patched kernel in /Volumes/EFI/
per esempio:
cd (directorydoveaveteilkernelvoodoo) cp mach_kernel.voodoo /Volumes/EFI/
terminata la copia dei nostri files
cd /Volumes/EFI chmod +x update.sh sudo ./update.sh- questi comandi costruiranno la kextcache in /System/Booter.
Controllare il file update.log per eventuali errori. Ignorate gli errori di dipendenze mancanti, queste verrranno soddisfatte all'avvio del sistema dai kext presenti in /System/Library/Extensions.
umount /Volumes/EFI- potrebbe non funzionare, in tal caso date
umount -f /Volumes/EFIpoi
rm -rf /Volumes/EFI
Se non potete usare il kernel vanilla, a questo punto annotatevi l'UUID del disco di installazione: aprite Disk Utility.app e click sulla partizione contente Leopard appena installato. Click su info ("i" blu) e cercate l'Universal Unique Identifier. E' una lunga stringa esadecimale. Annotatevela da qualche parte (anche l'eticchetta della birra può andare...) a mano, non in un file di testo!
Bene, siamo pronti per il reboot!
Fase 5: Test boot!
Potrebbe essere diverso a seconda dell'hardware e del kernel utilizzato.
Facendo il boot con il vanilla kernel, dovrete solo premere invio al prompt del Darwin
Se utilizzate un kernel patchato la magia di cui avete bisogno è questa:
bt(0,0)/mach_kernel.voodoo -v boot-uuid=(il numero esadecimale che avete annotato poco fa)Con un pizzico di fortuna (che non guasta mai) entrerete nella vostra nuova e splendente installazione retail più vanilla che c'è!!!
Lanciate senza paura un bel Software Update e scolatevi la birra, gongolanti e goduriosi!
Fase 6: Post-Installazione
– Kexts, EFI strings, Boot.plist, problemi vari
Kexts:
Per aggiungere/cancellare i kext della partizione EFI:
sudo -s mkdir /Volumes/EFI mount_hfs /dev/diskXs1 /Volumes/EFI=> abbiamo appena montato la partizione EFI
per installare un nuovo kext:
sudo -s cd (percorso del vostro kext) cp -R vostrokext.kext /Volumes/EFI/Extensions cd /Volumes/EFI ./update.sh=> copiato!
Per mia comodità io uso tenere una cartella "munky kext" sul Desktop con dentro i kext necessari e poi, da Terminale, dopo il mount:
cd /Volumes/EFI/Extensions rm -rf * cp -R (trascinate qui la cartella munky kext)/* /Volumes/EFI/Extensions cd /Volumes/EFI ./update.sh=> fatto!
umount -f /Volumes/EFIincrociate le dita e riavviate!
EFI Strings and com.apple.Boot.plist:
Il bootloader di Munky supporta il com.apple.Boot.plist file posizionato nell'EFI partition. Potete posizionarlo qui:
/Volumes/EFI/com.apple.Boot.plist
-oppure-
/Volumes/EFI/Library/Preferences/SystemConfiguration/com.apple.Boot.plist
Scegliete voi, non fa differenza. Potete installarli tutti e due ma quello in /Library/Pref..... avrà precedenza
In questo plist, naturalmente, potrete schiaffare le EFI strings. Questo bootloader supporta le EFI strings nello stesso formato utilizzato dal Chameleon.
Problemi vari
Se ottenete "mount_hfs: Invalid argument" quando tentate di montare la EFI partition, digitate in Terminal:
fsck_hfs /dev/diskXs1
Talvolta, nei sistemi con due o più dischi SATA, potrebbe verificarsi un cambio nell'ordine di caricamento della catena SATA, cioè:
disk0s1 potrebbe diventare disk1s1, dopo un riavvio.
Ve ne accorgete perchè se provate a montare l'EFI partition vi verrà restituito un errore:
"mount_hfs: Invalid argument"
provate a cambiare il numero da 0 a 1 o viceversa, quando nella fase 6 digitate
mount_hfs /dev/diskXs1 /Volumes/EFI
tanto con il comando mount non fate danni, tranquilli.
*** SEMPRE, SEMPRE, smontate l'EFI partition prima di riavviare ***
umount -f /Volumes/EFI
Note
Munky assicura che, se installate Leopard vanilla con questo metodo su un disco USB, è possibile condividerlo con veri Mac!
Io non ho testato questa caratteristica perchè un vero Mac non ce l'ho!
ATTENZIONE!
Ho potuto constatare però che se create una partizione aggiuntiva in fat32 in un disco USB e poi provate a formattarla in NTFS tramite Vista, il disco risulterà poi illegibile!!! Evidentemente Vista non si fa i fatti suoi!
Importante, chi utilizza un kernel non vanilla tenga presente che la versione del kernel presente nell'EFI partition deve combaciare con quella del System.kext in /System/Booter/Extensions.mkext.
Dual boot? Anche triplo e quadruplo!
Il bootloader è basato sul DFE, quindi al prompt del Darwin potete premere ESC e digitare il numero di bios device id del disco che volete far partire:
Se avete un secondo disco con Windows, premete esc al prompt, date 81 e invio. Darwin vi chiederà, stupito, se volete davvero far partire "Foreign OS". Premete INVIO per entrare in Windows.
Si, ho detto "secondo disco", non partizione....
Background informativo
Prima di seguire questa guida, Munky consiglia di leggere:
http://forum.insanel...howtopic=113288
http://forum.insanel...howtopic=123841
http://forum.insanel...howtopic=123313
Io ci aggiungo:
Joeandmat, la guida al Chameleon in italiano.
A cosa serve quel KEXT ?, Dizionario dei kext esistenti
DFE's BOOT 132 Resources
Source Code
Per chi sa cosa farci trovate allegati i sorgenti dei bootloader modificati.
Doveroso, enorme, GRAZIE a Munky per aver reso facile e possibile questo tipo di installazione retail. Lui è modesto ma, nella comunità hackintosh, questo è il "Munky method"!!!
Precisiamo che tutto quanto è stato reso possibile grazie al lavoro di DFE, ZEF, TURBO, tutto il CHAMELEON TEAM, oltre naturalmente, allo stesso MUNKY!
Changelog e Downloads
v1 era la versione originale del bootloader, comprendente le modifiche di turbo al DFE bootloader. Sostituito dal V2
v2 supporta le EFI strings in com.apple.Boot.plist. Sostituito dal V3
v3 supporta com.apple.Boot.plist in EFI partition, il boot è più veloce e integra lo script
update.sh. Sostituito dal v4
v4 supporta JMicron e altri rognosi ATA
v5 aggiunge migliorie al rilevamento dell'FSB
v5.1 aggiornamento del v5 per correzione nomi errati. Nessun cambiamento.
v6 supporta il DSDT override; il logo Apple al boot è stato rimosso per esigenze di spazio v6.1 Fa in modo che il bootloader cerchi DSDT.aml nella root dell'EFI partition, non nella partizione di boot.
Aggiornamento.
La v6.1 non è (AL MOMENTO) necessaria. Integra il DSDT patched, che si è rivelato poi non essenziale per l'update al 10.5.6
Quindi se volete lo splash screen con la mela al boot, utilizzate tranquillamente il v5.1



Sign In
Create Account











