matem6
Utente Èlite
- Messaggi
- 4,222
- Reazioni
- 1,008
- Punteggio
- 77
In questo thread, vi spiegherò tutto quello che c'è da sapere per creare il proprio hackintosh, e sopratutto saranno spiegati molti delle terminologie usate
Cominciamo dalla base, questi sono i sistemi operativi compatibili con il progetto OSX86, in ordine di uscita:
Mac OS X Tiger 10.4
Mac OS X Leopard 10.5
Mac OS X Snow Leopard 10.6
Mac OS X Lion 10.7
Mac OS X Mountain Lion 10.8*
Mac OS X Mavericks 10.9*
*Mountain Lion è il primo ad introdurre il supporto nativo per Ivy Bridge
*Mavericks è l'unico che supporta haswell nativamente
Da Snow Leopard è stato introdotto il supporto a 64 bit per le applicazioni, tramite apposite flag al boot è possibile selezionare la modalita di avvio a 32 o 64 bit.
KEXT
Passiamo a qualcosa di più tecnico, i KEXT, questi corrispondo ai driver su Windows, sono molto più difficili da trovare in quanto molte componenti non sono ufficialmente supportate, in questi casi le possibilita sono due:
1) Una cummunity/coder sviluppa partendo da driver linux il kext per aggiungere il supporto della periferica
2) Viene introdotta sul mercato una scheda di espansione per mac pro che ha lo stesso chipset. Un esempio molto recente è riscontrabile nei controller sata 3, inizialmente non supportati, LaCie ha introdotto una scheda di espansione per Mac Pro con lo stesso controller, e grazie a qualche piccola modifica è stato possibile utilizzare i driver anche sulle schede madri con controller integrato
I KEXT che sono forniti con il sistema operativo si trovano in /System/Library/Extensions altri KEXT invece aggiuntivi per il funzionamento di un hackintosh si trovano in /Extra/Extensions
Installare KEXT non compatibili, oppure KEXT doppi ovvero con la stessa funzione può portare all'instabilità del sistema e al Kernel Panic*
*Equivalente di BSOD in Windows
BOOTLOADER
Esistono vari Bootloader per Mac OS X, i bootloader supportano tutti i sistemi operativi inclusi Windows e Linux.
I piu conosciuti sono:
- Chamaleon: il primo bootloader compatibile con Mac OS X da cui derivano tutti gli altri.
- Chimera: fork di chameleon con varie implementazioni per il supporto hardware.
- Enoch: fork di chameleon con varie implementazioni per il riconoscimento nativo di molte schede video.
- Clover EFI: primo bootloader ad inserire il supporto alla modalita UEFI per le nuove schede madri.
Il bootloader oltre a permettere l'avvio di altri sistemi operativi si occupa di precaricare i kext importanti nella cartella /Extra/Extensions così da emulare un vero Mac
Il bootloader possiede anche un file di configurazione rintracciabile nella cartella /Extra con due nomi a seconda della versione del bootloader "org.chameleon.Boot.plist" o "com.apple.boot.plist".
Di seguito un esempio:
Per ulteriori approfondimenti riguardo le flag, vi riporto qui: Org.chameleon.Boot.plist - tonymacx86 Wiki.
DSDT
Il "Differentiated System Description Table" è la tabella principale della parte ACPI del BIOS.
Uno dei maggiori problemi di OS X è l'avere un'implementazione dell'ACPI incompleta e questo può portare ad incompatibilità hardware, la modifica del DSDT può incrementare la compatibilità e/o il supporto di alcuni dispositivi da parte di Mac OS X. Purtroppo patchare un DSDT non è un'operazione facile e varie per ogni bios e scheda madre, vi riporto ad una guida per approfondire l'argomento: How to make your own DSDT with DSDT Editor.
AMD
I Processori AMD non sono supportati nativamente dal Kernel per questo non è possibile installare Mac OS X senza prima modificarlo, esistono varie distribuzioni che introducono il supporto per i processori AMD, è possibile anche applicare la modifica al kernel autonomamente seguendo le guide sulla rete, il mio consiglio è di lasciare stare, anche con un kernel modificato, i problemi e le incompatibilità a cui si va incontro sono sempre tante rispetto ad hardware Intel.
Cominciamo dalla base, questi sono i sistemi operativi compatibili con il progetto OSX86, in ordine di uscita:
Mac OS X Tiger 10.4
Mac OS X Leopard 10.5
Mac OS X Snow Leopard 10.6
Mac OS X Lion 10.7
Mac OS X Mountain Lion 10.8*
Mac OS X Mavericks 10.9*
*Mountain Lion è il primo ad introdurre il supporto nativo per Ivy Bridge
*Mavericks è l'unico che supporta haswell nativamente
Da Snow Leopard è stato introdotto il supporto a 64 bit per le applicazioni, tramite apposite flag al boot è possibile selezionare la modalita di avvio a 32 o 64 bit.
KEXT
Passiamo a qualcosa di più tecnico, i KEXT, questi corrispondo ai driver su Windows, sono molto più difficili da trovare in quanto molte componenti non sono ufficialmente supportate, in questi casi le possibilita sono due:
1) Una cummunity/coder sviluppa partendo da driver linux il kext per aggiungere il supporto della periferica
2) Viene introdotta sul mercato una scheda di espansione per mac pro che ha lo stesso chipset. Un esempio molto recente è riscontrabile nei controller sata 3, inizialmente non supportati, LaCie ha introdotto una scheda di espansione per Mac Pro con lo stesso controller, e grazie a qualche piccola modifica è stato possibile utilizzare i driver anche sulle schede madri con controller integrato
I KEXT che sono forniti con il sistema operativo si trovano in /System/Library/Extensions altri KEXT invece aggiuntivi per il funzionamento di un hackintosh si trovano in /Extra/Extensions
Installare KEXT non compatibili, oppure KEXT doppi ovvero con la stessa funzione può portare all'instabilità del sistema e al Kernel Panic*
*Equivalente di BSOD in Windows
BOOTLOADER
Esistono vari Bootloader per Mac OS X, i bootloader supportano tutti i sistemi operativi inclusi Windows e Linux.
I piu conosciuti sono:
- Chamaleon: il primo bootloader compatibile con Mac OS X da cui derivano tutti gli altri.
- Chimera: fork di chameleon con varie implementazioni per il supporto hardware.
- Enoch: fork di chameleon con varie implementazioni per il riconoscimento nativo di molte schede video.
- Clover EFI: primo bootloader ad inserire il supporto alla modalita UEFI per le nuove schede madri.
Il bootloader oltre a permettere l'avvio di altri sistemi operativi si occupa di precaricare i kext importanti nella cartella /Extra/Extensions così da emulare un vero Mac
Il bootloader possiede anche un file di configurazione rintracciabile nella cartella /Extra con due nomi a seconda della versione del bootloader "org.chameleon.Boot.plist" o "com.apple.boot.plist".
Di seguito un esempio:
Codice:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>EthernetBuiltIn</key>
<string>Yes</string>
<key>GenerateCStates</key>
<string>Yes</string>
<key>GeneratePStates</key>
<string>Yes</string>
<key>GraphicsEnabler</key>
<string>Yes</string>
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Flags</key>
<string>darkwake=0 npci=0x3000</string>
<key>Legacy Logo</key>
<string>Yes</string>
<key>Timeout</key>
<string>2</string>
<key>UseKernelCache</key>
<string>Yes</string>
</dict>
DSDT
Il "Differentiated System Description Table" è la tabella principale della parte ACPI del BIOS.
Uno dei maggiori problemi di OS X è l'avere un'implementazione dell'ACPI incompleta e questo può portare ad incompatibilità hardware, la modifica del DSDT può incrementare la compatibilità e/o il supporto di alcuni dispositivi da parte di Mac OS X. Purtroppo patchare un DSDT non è un'operazione facile e varie per ogni bios e scheda madre, vi riporto ad una guida per approfondire l'argomento: How to make your own DSDT with DSDT Editor.
AMD
I Processori AMD non sono supportati nativamente dal Kernel per questo non è possibile installare Mac OS X senza prima modificarlo, esistono varie distribuzioni che introducono il supporto per i processori AMD, è possibile anche applicare la modifica al kernel autonomamente seguendo le guide sulla rete, il mio consiglio è di lasciare stare, anche con un kernel modificato, i problemi e le incompatibilità a cui si va incontro sono sempre tante rispetto ad hardware Intel.