Jump to content

Enoch Bootloader


ErmaC
 Share

1,086 posts in this topic

Recommended Posts

Buon Natale a tutti.

 

Niente da fare trovo ancora difficolta' nel creare un raid bootable con questo bootloader.

Cosa che con clover va benissimo.

Ho sfasciato il raid , ricreato , installazione pulita , ho uno script creato anni fa da scrax ( volendo si puo' fare anche da terminale ) che permette di aprire le partizioni nascoste dove inserire i file boot boot0 e boot1h , oltre alla cartella extra ( funzionante ovviamente) ...ma niente da fare...non trova il machkernel.

 

Ma zio Magnifico , non muore facilmente.

 

Fabio non credo di sbagliare ...ce qualcosa che non mi convince.

Link to comment
Share on other sites

Magari dico una cavolata, ma abilitando il mirroring nel bios, non è + semplice creare il raid 0, invece che in maniera "software" da Utility Disco?

Dico questo perchè ho visto che molti lo fanno da lì con Osx, ma se no erro da bios viene meglio ed il Sistema durante l'istallazione già vede un solo Volume....

Premetto che unavolta Io ho abilitato il mirroring da bios e fatto un dual boot Win/Ubuntu, ma non con Osx..

 

Micky

Link to comment
Share on other sites

Si proprio quello volevo dire, se fosse possibile credo che sia anche meglio.

Il mirroring da bios, dovrebbe godere degli standard AHCI nel 2012, e semmai credo siano i kext di OSX a permettere o no questa cosa, ma lascio xchè non posso provare! :)

 

Micky

 

EDIT

 

il mio lappy ha le funzioni Raid, quindi volendo...previo backup totale...chissà magari mi tolgo la curiosità..

Link to comment
Share on other sites

Guarda..ci vuole una scheda esterna ( atto ..lsi ce ne sono tantissime ) per creare il raid hardware su MAC ..tempo fa ci provai su una vecchia gigabyte ud3p..non ci furono versi ( intendo da bios con il suo chipset )

 

 

Magari prova sul tuo lap..ma devi sempre renderlo bootable ...se vuoi un aiuto mi trovi a disposizione

 

 

PS: tempo fa Barbonet comprò una socket raid sembra..e facemmo dei test di velocità sia con il raid software che hardware..ma quasi si comparavano...l'unica masturbazione mentale..e che il bios del raid è una gran perdita di tempo

 

 

PS al quadrato il raid software 0 con striped a 64 k ti farà avere un eiculazione precoce , ma ci vogliono sempre SSD con attributi , in questi giorni proverò anche i Vector...eh ragazzo mio ho l'hardiskite acuta

Link to comment
Share on other sites

Ciao ragazzi.

Per il discorso RAID...

Premessa: provai al tempo solo il RAID via software con 3 dischi identici (al tempo di Snow Leopard) ed era una "rottura" mostruosa dover montare aggiornare su tutti e tre i dischi le modifiche... di pro aveva una velocita di avvio e lavoro notevolmente affascinante!.

 

Per quel che so il RAID hardware è possibile se hai i controller supportati da Apple (come al solito) o simili con modifiche al suo corrispettivo Kext, ma non saprei dirvi oltre dato che non ho mai affrontato tale problema e non possiedo un controller RAID hardware compatibile.

 

Per il discorso "Famiglia" scheda grafica non riconosciuta o riconosciuta in modo erroneo, il dato è puramente indicativo e ci sono ancora degli errori nell'assegnamento al chipset corrispondente.

come puoi vedere dalla porzione di codice (proveniente dai driver nouveau per linux) il controllo non è soddisfacente, anche se parzialmente funzionale.

 

static nvidia_chipset_info_t nvidia_card_chipset_NV04[] = {
   { 0x00,    "Unknown RIVA chipset" },
   { 0x04,    "NV04" },
   { 0x05,    "NV05" },
};

static nvidia_chipset_info_t nvidia_card_chipset_NV10[] = {
   { 0x00,    "Unknown Celsius chipset" },
   { 0x10,    "NV10" },
   { 0x11,    "NV11" },
   { 0x15,    "NV15" },
   { 0x16,    "NV16" },
   { 0x1a,    "nForce" },
   { 0x17,    "NV17" },
   { 0x18,    "NV18" },
   { 0x1f,    "nForce2" },
};

static nvidia_chipset_info_t nvidia_card_chipset_NV20[] = {
   { 0x00,    "Unknown Kelvin chipset" },
   { 0x20,    "NV20" },
   { 0x25,    "NV25" },
   { 0x28,    "NV28" },
   { 0x2a,    "NV2A" },
};

static nvidia_chipset_info_t nvidia_card_chipset_NV30[] = {
   { 0x00,    "Unknown Rankine chipset" },
   { 0x30,    "NV30" },
   { 0x31,    "NV31" },
   { 0x34,    "NV34" },
   { 0x35,    "NV35" },
   { 0x36,    "NV36" },
};

static nvidia_chipset_info_t nvidia_card_chipset_NV40[] = {
   { 0x00,    "Unknown Curie chipset" },
   { 0x40,    "NV40" },
   { 0x41,    "NV41" },
   { 0x42,    "NV42" },
   { 0x43,    "NV43" },
   { 0x44,    "NV44" },
   { 0x45,    "NV45" },
   { 0x46,    "G72" },
   { 0x47,    "G70" },
   { 0x49,    "G71" },
   { 0x4a,    "NV44A" },
   { 0x4b,    "G73" },
   { 0x4c,    "C61" },
   { 0x4e,    "C51" },
   { 0x63,    "C73" },
   { 0x67,    "C67" },
   { 0x68,    "C68" },
};

static nvidia_chipset_info_t nvidia_card_chipset_NV50[] = {
   { 0x00,    "Unknown Tesla chipset" },
   { 0x50,    "G80" },
   { 0x84,    "G84" },
   { 0x86,    "G86" },
   { 0x92,    "G92" },
   { 0x94,    "G94" },
   { 0x96,    "G96" },
   { 0x98,    "G98" },
   { 0xa0,    "G200" },
   { 0xaa,    "MCP77/MCP78" },
   { 0xac,    "MCP79/MCP7A" },
   { 0xa3,    "GT215" },
   { 0xa5,    "GT216" },
   { 0xa8,    "GF218" },
   { 0xaf,    "MCP89" },
};

static nvidia_chipset_info_t nvidia_card_chipset_NVC0[] = {
   { 0x00,    "Unknown Fermi chipset" },
   { 0xc0,    "GF100" },
   { 0xc4,    "GF104" },
   { 0xc3,    "GF106" },
   { 0xce,    "GF114" },
   { 0xcf,    "GF116" },
   { 0xc1,    "GF108" },
   { 0xc8,    "GF110" },
   { 0xd9,    "GF119" }, // GeForce 410M/520M
};
/*
static nvidia_chipset_info_t nvidia_card_chipset_NVD0[] = {
   { 0x00,    "Unknown chipset" },
};
*/
static nvidia_chipset_info_t nvidia_card_chipset_NVE0[] = {
   { 0x00,    "Unknown Kepler chipset" },
   { 0xe4,    "GK104" },
   { 0xe6,    "GK106" },
   { 0xe7,    "GK107" },
};

static char *get_nvidia_chipset_name(uint8_t nvCardType)
{
   int i;
   if ((nvCardType <= NV_ARCH_04){
       for (i = 1; i < (sizeof(nvidia_card_chipset_NV04) / sizeof(nvidia_card_chipset_NV04[0])); i++){
           if (nvidia_card_chipset_NV04[i].chipset == nvCardType) {
               return nvidia_card_chipset_NV04[i].name;
           }
       }
       return nvidia_card_chipset_NV04[0].name;
   }
   else if (nvCardType <= NV_ARCH_10){
       for (i = 1; i < (sizeof(nvidia_card_chipset_NV10) / sizeof(nvidia_card_chipset_NV10[0])); i++){
           if (nvidia_card_chipset_NV10[i].chipset == nvCardType) {
               return nvidia_card_chipset_NV10[i].name;
           }
       }
       return nvidia_card_chipset_NV10[0].name;
   }
   else if (nvCardType <= NV_ARCH_20){
       for (i = 1; i < (sizeof(nvidia_card_chipset_NV20) / sizeof(nvidia_card_chipset_NV20[0])); i++){
           if (nvidia_card_chipset_NV20[i].chipset == nvCardType) {
               return nvidia_card_chipset_NV20[i].name;
           }
       }
       return nvidia_card_chipset_NV20[0].name;
   }
   else if (nvCardType <= NV_ARCH_30){
       for (i = 1; i < (sizeof(nvidia_card_chipset_NV30) / sizeof(nvidia_card_chipset_NV30[0])); i++){
           if (nvidia_card_chipset_NV30[i].chipset == nvCardType) {
               return nvidia_card_chipset_NV30[i].name;
           }
       }
       return nvidia_card_chipset_NV30[0].name;
   }
   else if (nvCardType <= NV_ARCH_40){
       for (i = 1; i < (sizeof(nvidia_card_chipset_NV40) / sizeof(nvidia_card_chipset_NV40[0])); i++){
           if (nvidia_card_chipset_NV40[i].chipset == nvCardType) {
               return nvidia_card_chipset_NV40[i].name;
           }
       }
       return nvidia_card_chipset_NV40[0].name;
   }
   else if (nvCardType <= NV_ARCH_50){
       for (i = 1; i < (sizeof(nvidia_card_chipset_NV50) / sizeof(nvidia_card_chipset_NV50[0])); i++){
           if (nvidia_card_chipset_NV50[i].chipset == nvCardType) {
               return nvidia_card_chipset_NV50[i].name;
           }
       }
       return nvidia_card_chipset_NV50[0].name;
   }
   else if (nvCardType <= NV_ARCH_C0){
       for (i = 1; i < (sizeof(nvidia_card_chipset_NVC0) / sizeof(nvidia_card_chipset_NVC0[0])); i++){
           if (nvidia_card_chipset_NVC0[i].chipset == nvCardType) {
               return nvidia_card_chipset_NVC0[i].name;
           }
       }
       return nvidia_card_chipset_NVC0[0].name;
   }
   else { // NV_ARCH_E0
       for (i = 1; i < (sizeof(nvidia_card_chipset_NVE0) / sizeof(nvidia_card_chipset_NVE0[0])); i++){
           if (nvidia_card_chipset_NVE0[i].chipset == nvCardType) {
               return nvidia_card_chipset_NVE0[i].name;
           }
       }
   return nvidia_card_chipset_NVE0[0].name;
   }
}

 

 

PS prova a sostituire il file boot con questo (inserito una eccezione)

>> boot.zip

 

Fabio

Link to comment
Share on other sites

Grazie Fabio x postare questa spiegazione, comunque l'architettura fa pensare che la mia gt630m è una gt540m overcloccata, anche se credo abbia un id diverso, ed in Linux non so se sia tutto previsto in materia di Laptop....dubbio solo mio ovviamente.

Altra cosa è l'utilizzo della rom...nel senso, quelle delle schede mobile non sono residenti nel bios della scheda grafica, ma nel bios UEFI (insieme ad una marea di altre cose nei Laptop), ed a prima vista...non sembrano essere utilizzabili come x i sistemi desktop..purtroppo, e qui ci sarebbe da capire di più....

 

Il team di sviluppo di Chameleon, e di tutte le branch, quale difficoltà ha incontrato, e incontra, nell'attivare una scheda x PC laptop (nei sistemi Sandy e Ivy bridge..)?

 

Faccio questa domanda, xchè purtroppo non ho mai visto scritto una motivazione sulla difficoltà reale nel farlo...

Ho visto cose nello ioreg di un Retina inerenti al chip gMux, che c'è solo nei Mac. Quello che non ho capito come fanno a cambiare il connettore del display

Tu puoi dare maggiori info ufficiali?

Grazie,

 

Micky

 

EDIT

 

Ho provato l'allegato, qui il bdmesg:

 

bdmesg.txt.zip

 

con tutti i kext Nvidia, il sistema arriva ad un passo dal caricare il desktop, ma non lo fa. Purtroppo nemmeno con i driver VESA senza QE/CI, perchè incredibilmente tutti i kext sono caricati..

grazie

 

Micky

Link to comment
Share on other sites

Michele una domanda...

Vedo che usi le SSDT per i C&P states... se così è.... per quale motivo le fai creare anche dal Bootloader?

Nel senso che motivo hai di usare Generate C e Generate P States nell'o.c.B.p???

 

Questo è cià che ottengo da 10.8.3

 

Ciao Moreno...

effettivamente esplorando il tuo IOReg (dalla 10.8.3) ora possiede dati molto simili a quelli di una nVidia Kepler su vero Mac.

 

Fabio

Link to comment
Share on other sites

Michele una domanda...

Vedo che usi le SSDT per i C&P states... se così è.... per quale motivo le fai creare anche dal Bootloader?

Nel senso che motivo hai di usare Generate C e Generate P States nell'o.c.B.p???

 

Fabio

Ciao Fabio, il motivo è molto semplice: il punteggio di Geekbench!

Avendo usato fino a tre gg fà Clover, se usavo la generazione automatica dei C&P States il punteggio era sui 6800, insieme al ssdt guadagnavo altri bei puntarelli. Stessa cosa se usavo solo l'ssdt, anche se molto molto meglio che da bootloader.....insieme il punteggio + alto.

 

La stessa cosa avviene in maniera lieve anche con Enoch (ma anche con il Chameleon principale), qui le foto con i punteggi in questa sequenza:

 

C&P States solo da o.c.b.p------solo SSDT-------Insieme

 

solo da botloadere.pngsolo ssdt.pnginsieme.png

 

 

 

Ce da dire che con Enoch dura di più la batteria (in maniera sensibile rispetto a Clover), e fondamentalmente anche se solo con l'ssdt il punteggio potrebbe essere buono, con entrambi ottengo un pò di più...

Con MSR Dump è un pò difficile notare questa cosa subito, perchè da quello che ho visto non subito ci sono tutti gli States, ma bisogna stare lì a fare lavorare il Sistema.

 

Micky

 

EDIT

 

mi sembra che sull'ultimo bdmesg ci sia anche il SSDT-3.aml, tabella patchata dove ci sono i metodi di spegnimento ed accensione delle due schede video del Lappy.

Sembra sia caricata, ma non ho potuto ottenere ancora i risultati sperati......mi confermi che l'override avviene?

Link to comment
Share on other sites

michelino secondo me non dipende dalle tabelle ssdt il punteggio di un benchmark..ma da come è il sistema operativo ( pulito o sporco ) non farti troppe pippe mentali...

Ciao Carmine, il problema non è il punteggo alto, ma la quantità di States della cpu, e notando delle differenze....mi preoccupo "solo" dei consumi avendo un Notebook.

Dopo è chiaro che ci provo, ma mica le so tutte :lol:!!!!

 

Micky

Link to comment
Share on other sites

Con un sistema desktop, se non te ne frega niente della bolletta dell'Enel non è che cambi poi molto, non so per le temperature....

Hai un SSDT, o gli States automatici da bootloader?

Se vuoi un nuovo ssdt, lo possiamo generare in 4 pico secondi...

 

Micky

Link to comment
Share on other sites

a me sicuramente andrà un raid hardware, ho un chipset che veniva montato nei macmini e imac del 2009 (quello con la 9400 integrata, la ION)

il problema è che non ho raid da fare

 

ho un hdd da 200gb e un ssd da 128gb.. e sto benissimo così, tant'è che l'ssd lo uso per neanche 50gb, e l'hdd ha in media 40-60gb liberi

 

ok non frega na cippa a nessuno, però, vabbè, io gli state di consumo li ho tolti completamente, la mia cpu consuma 10Watt in full load.. :-DDDD

Link to comment
Share on other sites

Grazie Fabio....

Maurizio e Michelino...teniamoci aggiornati in pvt , poi magari facciamo una guida

@ fabio....come mai non stai seguendo clover ?

Ciao Carmine...

Il tempo che ho a disposizione è limitato.

Faccio 2 conti velocemente... ho circa 3 o 4 guide iniziate e non completate...

Una branch di chameleon che nella sua apparente "semplicità" mi porta via gran parte del tempo libero (hobby time)

Clover l'ho anche provato al tempo della stesura della guida sull'internazionale, al quale ho anche apportato alcune patch per le nVidia... che sono le stesse che ho introdotto in Enoch e successivamente in Chameleon.

Attualmente(circa 3 mesi)... c'è un progetto avviato a livello di tutto lo staff di InsanelyMac.. molto importante... e anche li non riesco a dedicarci nemmeno 5 min...

 

Tirando le somme:

Priorità 1: il Forum.

Priorità 2: Forum in generale.

Priorita 3: il mio bootloader

Priorità 4: tutto il resto...

 

Fabio

 

  • Like 2
Link to comment
Share on other sites

Purtroppo...e dico purtroppo ...il mio tempo l'ho sempre dedicato ad altro ( overclock , dischi , montaggi video, fotoritocco ecc ecc ) aime' non posso aiutare a fare qualcosa in questo settore, tutto quello che posso fare e' la Cavia .

Ma da quando ho approcciato il discorso hackintosh , qualcosina di personale sono riuscito a capire...

Comunque se posso essere utile ...sono disponibile sempre.

 

Ps: non mollate mai ...se vi piace moltissimo andate avanti su questa strada, gli utenti intelligenti ve ne saranno grati del vostro lavoro

Link to comment
Share on other sites

Aggiornato all'ultimo Enoch-2151

 

Model name: Inno3D GeForce 9500GT HDMI

Memory: 1024MB

Family: NV96

Chipset: Unknown Fermi chipset

[10de:0640]-[10de:077f]

PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0) device number: 1

=== END NVIDIA DEVICE INFO ==

Intel HD Audio Controller [8086:3a3e]-[1043:8311] :: PciRoot(0x0)/Pci(0x1b,0x0)

 

nvidial.gif

 

Fabio

Link to comment
Share on other sites

===== NVIDIA DEVICE INFO ====
Model name: HP GeForce GT 630M
Memory: 0MB
Family: NVc1
Chipset: Unknown Kepler chipset
[10de:0de9]-[103c:181d]
PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0) device number: 1
=== END NVIDIA DEVICE INFO ==

 

Fabio la mia scheda discreta non è Kepler, ma Fermi (GF108....è un rebrand):

Model name: Inno3D GeForce 9500GT HDMI

Memory: 1024MB

Family: NV96

Chipset: Unknown Fermi chipset

[10de:0640]-[10de:077f]

PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0) device number: 1

=== END NVIDIA DEVICE INFO ==

Intel HD Audio Controller [8086:3a3e]-[1043:8311] :: PciRoot(0x0)/Pci(0x1b,0x0)

 

Vedete se con questo vi riconosce correttamente la famiglia di appartenenza del chipset.

 

Enoch-boot-2152.zip

 

Fabio

Link to comment
Share on other sites

 Share

×
×
  • Create New...