Jump to content

[Guida] Metodo Munky- Boot da partizione EFI+PCEFI v.9


99 posts in this topic

Recommended Posts

UPDATE 6 MARZO 2009: E' disponibile qualche post più in basso un EFIStudio modificato per consentire l'installazione in EFI Hidden Partition in modalità grafica!!!

******************************************************************************

 

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/Extensions

Se 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/EFI

poi

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/EFI

incrociate 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.insanelymac.com/index.php?showtopic=113288

http://forum.insanelymac.com/index.php?showtopic=123841

http://forum.insanelymac.com/index.php?showtopic=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

efi_boot_v5.1.zip

efiboot_v5.1_source.zip

efi_boot_v6.1.zip

v61_src.zip

Link to comment
Share on other sites

molto interessante...complimenti

Link to comment
Share on other sites

Heheh hai ragione.. è che sono in periodo di esami e nn posso dedicarci troppo tempo :\

Dopo l'update 10.5.6 il sistema va liscio liscio...devo riuscire a capire come mai al ritorno dallo sleep il computer si impalli. E poi devo rimettere a posto i kext dell'audio per la versione 10.5.6 :huh:...insomma ho un bel po' da lavorare:D!

 

Ciao ;)

Link to comment
Share on other sites

Vediamo se riesco a postare, avevo preparato un postone di risposta ma l'ho perso a un cambip topic... sarò più schematico.

 

Allora i due metodi sono naturalmente simili in quanto condividono lo stesso progetto iniziale che è il Chameleon.

Il metodo Munky è alternativo, è più... vanilla! Certo è più scomodo. Infatti anche io utilizzo il metodo Joeandmat per il disco singolo.

Il metodo munky diventa molto interessante per chi ha già un mac e condivide un disco col sistema funzionante: il Mac non si accorge che è di un hackintosh (non l'ho provato personalmente; riferisco ciò che ho letto nei topic in lingua inglese).

E' un approccio diverso alla retail, comunque, e il nuovo Chameleon darà pieno supporto a questo tipo di installazione. Uscirà a breve.

 

Il campo dove diventa fondamentale è il RAID0!

Attualmente, mi sembra, l'unico metodo per installare Leopard Retail Vanilla con cartella extra in un Raid striped è questo, con un bootloader modificato da fxtentacle. Potete seguire nel forum originale di munky l'evolversi. Vi posso già dire che sono alla terza installazione di prova e funziona alla grande!!! A breve vi darò un aggiornamento con le istruzioni.

ciao

Link to comment
Share on other sites

Vediamo se riesco a postare, avevo preparato un postone di risposta ma l'ho perso a un cambip topic... sarò più schematico.

 

Allora i due metodi sono naturalmente simili in quanto condividono lo stesso progetto iniziale che è il Chameleon.

Il metodo Munky è alternativo, è più... vanilla! Certo è più scomodo. Infatti anche io utilizzo il metodo Joeandmat per il disco singolo.

Il metodo munky diventa molto interessante per chi ha già un mac e condivide un disco col sistema funzionante: il Mac non si accorge che è di un hackintosh (non l'ho provato personalmente; riferisco ciò che ho letto nei topic in lingua inglese).

E' un approccio diverso alla retail, comunque, e il nuovo Chameleon darà pieno supporto a questo tipo di installazione. Uscirà a breve.

 

Il campo dove diventa fondamentale è il RAID0!

Attualmente, mi sembra, l'unico metodo per installare Leopard Retail Vanilla con cartella extra in un Raid striped è questo, con un bootloader modificato da fxtentacle. Potete seguire nel forum originale di munky l'evolversi. Vi posso già dire che sono alla terza installazione di prova e funziona alla grande!!! A breve vi darò un aggiornamento con le istruzioni.

ciao

Attendo con ansia, grazie dell'impegno.

Giorgio

Link to comment
Share on other sites

Fatemi capire una cosa, forse mi sbaglio, ma quando inizializzate il disco la partizione EFI non viene toccata? è questo che si intende?

 

Quindi anche se il sistema va a farsi benedire, basta buttar dentro il DVD di Leopard che il Boot CMQ. funziona e si installerà come se fosse un MAC originale?

 

Perchè se così non è, allora poco cambia da una attuale Retail, anche se cmq. la possibilità di sincronizzarlo con un vero MAC non è male.

 

Jad

Link to comment
Share on other sites

Bravo, bella domanda!

Se inizializzi il disco, no. Così facendo formatti il disco e ricrei la GPT, quindi anche la partizione EFI torna in FAT.

Ma se formatti/cancelli la sola partizione di Leo, credo di si, dovresti riuscire ad avviare il dvd (tramite F8=>ESC=> device bios id) e procedere con una nuova installazione.

Non ho purtroppo un disco libero su cui fare test, ma proverò senz'altro alla prima occasione.

Anzi se qualcuno fa dei test in merito, ci faccia sapere!

Update: No, non si può. Il dvd viene riconosciuto in HW dal BIOS, quindi niente. Solo con metodi boot-132. Ho provato e la partizione EFI si avvia ma mi permette di bootare solo altre partizioni su disco/altri dischi.

 

Ciao

Link to comment
Share on other sites

Hei blackcorsair , non mi va piu l'audio dopo sto metodo\update alla 10.5.6 Secondo te è colpa del metodoto munky o dell'updatE? :| Help :)

 

EDIT!!: Facendo partire con il boot da cd (original.iso) l'audio torna ad andare :|:|:|.....rimetto i kext va..

 

EDIT2: Mettendo nella partizione EFI i kext della original.iso tutto torna a funzionare. :)

Link to comment
Share on other sites

Hei blackcorsair , non mi va piu l'audio dopo sto metodo\update alla 10.5.6 Secondo te è colpa del metodoto munky o dell'updatE? :| Help :wacko:

 

EDIT!!: Facendo partire con il boot da cd (original.iso) l'audio torna ad andare :|:|:| .....rimetto i kext va..

 

EDIT2: Mettendo nella partizione EFI i kext della original.iso tutto torna a funzionare. :(

 

Devi mettere nella EFI i kext di cui hai bisogno. Fra quelli dell'original.iso (? o generic.iso?) evidentemente c'è il kext per il tuo audio (mi sembra però sia l'Azalia)

Ti consiglio di cercare bene nelle sezioni audio del forum, dovresti riuscire a farlo funzionare con una EFI string nel com.apple.Boot.plist nella EFI senza toccare nulla in Leopard.

Link to comment
Share on other sites

  • 2 weeks later...
Fatemi capire una cosa, forse mi sbaglio, ma quando inizializzate il disco la partizione EFI non viene toccata? è questo che si intende?

 

Quindi anche se il sistema va a farsi benedire, basta buttar dentro il DVD di Leopard che il Boot CMQ. funziona e si installerà come se fosse un MAC originale?

 

Perchè se così non è, allora poco cambia da una attuale Retail, anche se cmq. la possibilità di sincronizzarlo con un vero MAC non è male.

 

Jad

 

la grande comodità è che se per qualsiasi motivo vuoi formattare e reinstallare da 0 tu formatti solo la partizione dove hai il sistema e quindi la EFI rimane e quindi tu installi partendo con il boot cd/usb e poi installi con il dvd leo originale

e alla fine non devi fare niente visto che la EFI non l'hai toccata e rimane li tranquilla e funzionante......

e questo direi che è una bella cosa

Link to comment
Share on other sites

bild2a.png

 

EFISTUDIO 1.1 Download

 

Grazie a EFIStudio-Inside abbiamo finalmente a disposizione un'utility grafica per l'installazione in EFI partition!!!!

 

Provate e fatemi conoscere eventuali problemi.

Se aprite il pacchetto da Finder, potete personalizzare la cartella dei kext secondo le vostre esigenze. Di default installa i kext della generic.iso boot-132.

Link to comment
Share on other sites

Ecco, allora per precisione, questa versione di EFIStudio 1.1 si può aprire: click dx>mostra contenuto - oppure dalla stessa interfaccia grafica cliccate su "Open Extension" per rimuovere i kext di default e mettere i vostri. Altrettanto si può fare per i Boot.plist personalizzati, mettendoli nell'apposita cartella, e le EFI string per il video. Quest'ultime devono terminare come le altre già incluse: xxxx- 512MB.plist ecc. Mi correggo, devono essere .plist e non HEX già pronti.

Buon divertimento!

Link to comment
Share on other sites

  • 2 weeks later...
 Share

×
×
  • Create New...