Jump to content

1,081 posts in this topic

Recommended Posts

ciao a tutti, approfitto di questo topic in italiano per fare i complimenti agli sviluppatori di enoch perché trovo sia un'ottima risorsa.

Però chiedo qualche spiegazione perché non trovo un howto su tutti i parametri impostabili.

In particolare con Sierra sul dell m6400 in firma ho problemi a caricare il webdriver Nvidia e non riesco a caricare alcun kext da E/E: in fase di avvio non appare alcuna scritta tipo "attempting to loading drivers from extra repository" e dunque vengono ignorati i kext presenti in quella cartella.

Per quanto riguarda il webdriver Nvidia, riesco a caricarlo correttamente solo con l'utilizzo del modulo fileNVRAM, che in precedenza però non utilizzavo. In pratica seguendo questo metodo.

Però credo di capire che in questo modo E/E verrà sempre ignorata.

Senza il modulo fileNVRAM ho provato diversi flag senza successo, dopo il boot ritrovo sempre settati i driver apple.

Qualche suggerimento?

Share this post


Link to post
Share on other sites
Advertisement

ciao a tutti, approfitto di questo topic in italiano per fare i complimenti agli sviluppatori di enoch perché trovo sia un'ottima risorsa.

Però chiedo qualche spiegazione perché non trovo un howto su tutti i parametri impostabili.

In particolare con Sierra sul dell m6400 in firma ho problemi a caricare il webdriver Nvidia e non riesco a caricare alcun kext da E/E: in fase di avvio non appare alcuna scritta tipo "attempting to loading drivers from extra repository" e dunque vengono ignorati i kext presenti in quella cartella.

Per quanto riguarda il webdriver Nvidia, riesco a caricarlo correttamente solo con l'utilizzo del modulo fileNVRAM, che in precedenza però non utilizzavo. In pratica seguendo questo metodo.

Però credo di capire che in questo modo E/E verrà sempre ignorata.

Senza il modulo fileNVRAM ho provato diversi flag senza successo, dopo il boot ritrovo sempre settati i driver apple.

Qualche suggerimento?

Ciao c0ke

 

vedo solo adesso il tuo post...

I modulo FileNVRAM era diventato praticamente inutilizzabile dopo Maveric erano cambiate molte cose a livello

di sistema operativo il quale lo rendevano praticamente inutile per le versioni successive do OS X.

 

Recentemente (Gennaio 2017) un nostro caro amico Micky1979 ha ripreso il modulo abbandonato e lo ha aggiornato e sistemato

(per dirtela in termini brevi) rendendolo compatibile con El Capitan -> High Sierra aggiungendogli funzionalitá come ad esempio

l'uso dei WebDriver.

 

Enoch é cresciuto moltissimo,

tra le versioni di Chameleon é la piú aggiornata la piú completa e la piú performante persino del suo "papá"... Chameleon stesso

 

Enoch fa uso di due nuovi .plist il kernel.plist ed il kext.plist rispettivamente per patchare al volo (durante l'avvio)

il kernel ed gli Kext...

 

da Maverick in su risulta veramente complicato usare un bootloader che non abbia tali caratteristiche...

Fai conto che giá (se non ricordo male) da Snow Leopard mamma Apple ha reso difficile il caricamento degli Kext che non fossero quelli contenuti

all'interno di S/L/E cosa che Enoch permette grazie al parametro KernelBooter_kexts = yes settato nel kernel.plist e quindi carica i nostri Kext preferiti da E/E :D

 

esempio del kernel.plist lo puoi trovare sul mio repo in github o sull'SVN ufficiale di Chameleon

kernel.plist -> https://github.com/fabiomartino/Enoch/blob/master/package/kernel.plist

kext.plist -> https://github.com/fabiomartino/Enoch/blob/master/package/kexts.plist

 

Per i WebDriver ed la sua attivazione ed utilizzo ti consiglio di dare una lettura al topic di Chameleon/Enoch sull'Internazionale intorno alla pagina 210 http://www.insanelymac.com/forum/topic/231075-chameleon-24svn-official-pkg-installer/page-210

 

ErmaC

Share this post


Link to post
Share on other sites

(...)

all'interno di S/L/E cosa che Enoch permette grazie al parametro KernelBooter_kexts = yes settato nel kernel.plist e quindi carica i nostri Kext preferiti da E/E :D

(...)

 

Ciao ErmaC,

grazie della tua risposta! Gran bel lavoro, uso Chameleon/Enoch ormai da qualche anno e lo trovo veramente efficace.

Non ho provato ancora kext.plist, ma a breve lo testerò perché a quanto ho capito potrebbe aiutarmi a patchare AppleGraphicsPowerManagement, che tuttora devo ritoccare manualmente ad ogni upgrade.

Rigurardo il quote qui sopra su E/E ti confermo di aver settato il parametro KernelBooter_kexts su Yes su kernel.plist situato nella cartella Extra. tuttavia ho provato a mettere Nullcpupowermanagement in E/E (solo per provare l'efficacia della funzionalità), ma a quanto vedo non viene caricato.

Non mi è chiaro se con KernelBooter_kexts -> Yes durante il verbose boot dovrei nuovamente leggere il messaggio "attempting to loading drivers from extra repository", perché è un bel pezzo che non lo vedo più.

Inoltre su system profiler nella sez. estensioni non c'è traccia alcuna dei kext che metto su E/E.

Per ora cerco di fare a meno di fileNVRAM. successivamente approfondirò il perché i webdriver caricano solo in presenza di questo modulo. 

credo che allo stato attuale E/E venga ignorata, ma non capisco perché.

 

grazie ancora!

Share this post


Link to post
Share on other sites
Ciao a tutti,
Ho appena realizzato (ben tardi è vero) che la fonazione
"long NTFSGetUUID (CICell ih, char * uuidStr)" da "\ chameleon \ branches \ ErmaC \ Enoch \ i386 \ libsaio \ ntfs.c" (linea 310)
non può restituire l'UUID di una partizione o di un volume NTFS perché il numero di serie che è modificare per creare l'UUID, viene generalmente utilizzato nell'UUID di un volume NTFS n ma non è l'UUID di un volume NTFS. Per trovare l'UUID di un volume NTFS è necessario eseguire diverse ricerche descritte di seguito
 
Su una partizione NTFS l'UUID è circa 3352 byte dall'inizio della MFT, per trovare l'offset della MFT è necessario leggere gli 8 byte che partono dal byte 48 dell'inizio della partizione, Questi 8 byte una volta convertiti darà l'offset del settore in cui inizia la MFT. Per ottenere l'offset della MFT, gli 8 byte convertiti devono essere moltiplicati per il numero di byte per settore (512) e il numero di settori per cluster (8) (8 e 512 sono i valori predefiniti per una partizione NTFS).

Ad esempio, gli 8 byte che iniziano alla 48a (in lettura sono due caratteri per un byte) possono essere 0x698c670000000000 che dovranno essere invertiti 0x0000000000678c69 e convertiti in decimale 6786153. Quindi applicare la formula (6786153 * 8 * 512) o ( 6786153 * 4096) = 27796082688 (offset della MFT) + 3352 (offset UUID) = 27796086040. così nella partizione se passiamo al byte 27796086040 troveremo l'UUID della partizione su 16 byte che dovrà essere convertito in esadecimale e invertito per i primi 8.

Non c'è molto interesse nel modificare l'UUID di una partizione NTFS, Microsoft a quanto pare non lo usa, Mac OS X visualizza gli UUID delle partizioni. Non c'è molto commento sull'UUID delle partizioni NTFS.

Una precisione sull'offset UUID nella MFT di un volume NTFS, 3320 o 3352. La differenza deriva dall'origine della formattazione. Se si formatta un hdd o un vhd da Microsoft Windows, l'offset per l'UUID nella MFT sarà 3352 byte dall'inizio della MFT. Se si formatta un volume o VHD da Mac OS X, con Diskutil l'offset dell'UUID sarà 3320 byte dall'inizio della MFT. Tutto questo per un volume (o VHD) NTFS, ovviamente

Share this post


Link to post
Share on other sites
Posted (edited)

Ciao a tutti,

Sotto, la funzione "long NTFSGetUUID (CICell ih, char * uuidStr)" è stata modificata per visualizzare l'UUID effettivo di una partizione o di un volume NTFS, tutte le funzioni elencate sono in "

~/chameleon/branches/ErmaC/Enoch/i386/libsaio/ntfs.c

 

".

Per chiamare la funzione

Definisci ih, CICell ih;

e

char uuidstr [40];

Ho creato la chiamata della funzione in "void NTFSGetDescription (CICell ih, char * str, long strMaxLen)"
 
Quote

NTFSGetUUID(ih, uuidstr);


 

Quote

 

long NTFSGetUUID(CICell ih, char *uuidStr)
{
bool NTFSProbe(const void*);

long long mftOffset;

char sero[20];

const unsigned char bufff[32];
    struct bootfile *boot;
    void *buf = malloc(MAX_BLOCK_SIZE);
    if ( !buf )
    {
        return -1;
    }
    bzero(buf,MAX_BLOCK_SIZE);

    /*
     * Read the boot sector, check signatures, and do some minimal
     * sanity checking.     NOTE: the size of the read below is intended
     * to be a multiple of all supported block sizes, so we don't
     * have to determine or change the device's block size.
     */
    Seek(ih, 0);
    Read(ih, (long)buf, MAX_BLOCK_SIZE);

    boot = (struct bootfile *) buf;

    // Check for NTFS signature
    if ( memcmp((void*)boot->bf_sysid, NTFS_BBID, NTFS_BBIDLEN) != 0 )
    {
        // If not NTFS, maybe it is EXFAT
        free(buf);
        return EXFATGetUUID(ih, uuidStr);
    }

    // Check for non-null volume serial number

    if( !boot->bf_volsn )
    {
        free(buf);
        return -1;
    }

    free(buf);

    sprintf(sero,"%016llx",boot->bf_volsn);

    sprintf(sero,"%c%c%c%c-%c%c%c%c-%c%c%c%c-%c%c%c%c",sero[0],sero[1],sero[2],sero[3],sero[4],sero[5],sero[6],sero[7],sero[8],sero[9],sero[10],sero[11],sero[12],sero[13],sero[14],sero[15]);

    verbose("Numero de Serie %s\n " ,sero);

    mftOffset = (boot->bf_mftcn * boot->bf_bps * boot->bf_spc);

    bzero((void*)bufff,32);

    bzero(uuidStr,40);
    
    Seek(ih, mftOffset);

    Read(ih, (long)bufff, 5);
    
  if((unsigned char )bufff[4]==0x30)
        mftOffset = (mftOffset + 3352);
    else
        mftOffset = (mftOffset + 3320);

    bzero((void*)bufff,32);

    Seek(ih, mftOffset);

    Read(ih, (long)bufff,16);


    snprintf(uuidStr,
             37,
             "%02X%02X%02X%02X-"
             "%02X%02X-"
             "%02X%02X-"

             "%02X%02X-"
             "%02X%02X%02X%02X%02X%02X",
             bufff[3], bufff[2], bufff[1], bufff[0],
             bufff[5], bufff[4],
             bufff[7], bufff[6],
             bufff[8], bufff[9],
             bufff[10], bufff[11], bufff[12], bufff[13], bufff[14], bufff[15]);

    verbose("UUID : %s\n\n" ,uuidStr);

         return 0;
}

 

 

 

 

Edited by deek5

Share this post


Link to post
Share on other sites
Posted (edited)

Hi Ermac

1. Can Enoch dump virgin dsdt/ssdt like clover? somehow the dsdt linux and windows different..
2. The SkipNvidiaGfx s could stop optimus? i  usually removed the kext Geforce kext ad NV kext, otherwise it will no run. yes i need to kill it via dsdt....
3. The HDAEnabler in 2700 built somehow it not replaced the layoutid, apple-layoutid, and alc-layoutid. it stay on 7 and 0c/12 eventhough has set to 03000000 in com.chameleon.boot.plist. i had use the dsdt patch directly.
4. Does it work with lilu and applealc ? (need -lilubeta -alcbeta -kext-dev-mode=1 ?)
5. Does it patch the vanilla kext via plist like clover for applehda?
6. Does it has macOS Native CPU/IGPU Power Management like Plugintype=yes?
 

 

UPDATE: just tested

2. the nvidia off still need dsdt patches.

3. HDAEnabler can't change directly if had layoutid dsdt patches at mbr partition

4. it works well with lilu and applealc, i am suing flag kernel -kext-dev-mode=1 -lilubeta -alcbeta , so none patches to applehda

 

5. can it do kext patches to wifi io kext, especially i had 9285 (8211 bluetooth + 9002 Wifi)

 

 

----


1. Può Enoch scaricare vergine dsdt / ssdt come trifoglio? in qualche modo il dsdt linux e windows diversi ..
2. SkipNvidiaGfx s potrebbe fermare optimus? di solito ho rimosso il kext Geforce kext ad NV kext, altrimenti non funzionerà. sì ho bisogno di ucciderlo via dsdt ....
3. L'HDAEnabler nel 2700 ha costruito in qualche modo non sostituito il layoutid, apple-layoutid e alc-layoutid. rimane su 7 e 0c / 12 anche se è impostato su 03000000 in com.chameleon.boot.plist. ho usato direttamente la patch dsdt.
4. Funziona con lilu e applealc? (necessario -lilubeta -alcbeta -kext-dev-mode = 1?)
5. Applica la vaniglia kext tramite plist come il trifoglio per applehda?
6. Ha MacOS Native CPU / IGPU Power Management come Plugintype = sì?

 

Edited by Babiloe

Share this post


Link to post
Share on other sites
Guest
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Slice
      Now I want to add vector graphics support in Clover. See rev 4560 and later.
      It is not working yet but designers may begin to create Vector Themes.
      It supposed to consist of SVG elements and has design size. It will be rendered to any screen size scaled from design size.
       
      What application in macOS can create SVG graphics?
      Inkscape is not working in macOS 10.11+. Pity.
      LibreOffice Draw works with SVG but buggy.
      Boxy SVG cost 10$ but looks good enough. It creates the best in simplicity files and have more then enough features.
      Illustrator is good but expensive.
       
      How to improve SVG file?
      Clover has restricted support for SVG. It is your job to make compatible file and as small as possible to speedup rendering.
      Some helps:
      Help:Inkscape – From invalid to valid SVG Inkscape files
      From invalid to valid SVG Adobe Illustrator files
      From invalid to valid SVG files of other editors: BKchem, ChemDraw and CorelDRAW
      Help:Illustrator – Assistance with creating and saving SVG images in Adobe Illustrator that will pass W3C validation
      User:Quibik/Cleaning up SVG files manually
      Later I will write own instructions specific to Clover abilities.
       
      How to create SVG fonts?
      You can google to find ready-to-use SVG fonts.  I found some problems with too beaty fonts: slow rendering and overflow crash. Be careful.
      You can get ttf or otf fonts and convert them into svg by using online WEB services. Not a problem to google.
      But then I want to find a way to simplify the font to reduce a size and speedup rendering.
      You can create own font by FontForge It is opensource and available for Windows, Mac and GNU+Linux. It creates otf font which you can convert to svg font.
       
       
    • By apianti
      Just so you all know I actually have done something. I have pushed the source to both my github and to sourceforge, please commit to the experimental branch and I will merge it into the stable branch once it is safe. Also, nothing meaningful happens yet so don't get too excited. Only the Visual studio build works right now. I haven't set up the Xcode or Makefile builds yet, I'm trying to do them now.
       
      https://github.com/apianti/Clover
      https://sourceforge.net/p/cloverefiboot/Clover
       
      IA32/X64/ARM/ARM64 testing ISO (6/7/2018): Clover-3.0-experimental.iso
    • By cvad
      Bootdisk Utility Make bootable USB Flash Disk for MAC OS X with Latest Clover bootloader revision fast and easy by one click! under OS Windows.
      Special utility from cvad & russian MAC community for new hackintosh users.
       
      BDU_v2.1.2018.023b.zip
      MakeCloverBDUReadyZip.bat.zip
      Enjoy...
       
       
       
      Feel free to "Rate File"
      Submitter cvad Submitted 04/28/2013 Category Bootloaders  
      BDU_v2.1.2015.016b.zip
      BDU_v2.1.2015.018b.zip
      BDU_v2.1.2016.019b.zip
      BDU_v2.1.2016.020b.zip
      BDU_v2.1.2017.021b.zip
      BDU_v2.1.2017.022b.zip
    • By Subirats345
      Hi guys! I'm new on Hackintosh and I have a little problem (I think it's little). Yesterday I made my first hackintosh on a Xiaomi Notebook Air. All went well, but after an update (from High Sierra to 10.13.4) after the first reboot, in the bootloader doesn't appear nothing. I tried with the USB with Clover but I only can reinstall the entire system, I can not boot the system. It has a solution or I need to reinstall all again?

      Thanks a lot and sorry if the question is fool.

    • By ErmaC
      Slice is glad to present a new EFI bootloader.

      CLOVER
      Now version 2 rEFIt based.


      It is open source based on different projects: Chameleon, rEFIt, XNU, VirtualBox. The main is EDK2 latest revision.
      I also want to thank all who help Slice with the development. Credits and copyrights remain in the sources.
      https://sourceforge.net/projects/cloverefiboot/?source=directory
      There is a WIKI 
      http://clover-wiki.zetam.org/
      Main features:


      If you have a question please provide outputs from DarwinDumper (formed from Trauma tool). Thanks Trauma!
      Continued by blackosx and STLVNUB.
      Post#2 CloverGrower - create Clover by yourself Post#3 Downloads Post#4 Installation of the bootloader Post#5 How to do UEFI boot Post#6 How to use - common words Post#7 Calculator for Automatic DSDT fix Post#8 Instructions for GraphicsInjector Post#9 ATIConnector patching Post#10 Any kexts patching with some Samples Post#11 CustomEDID Post#12 Hiding unnecessary menu entries Post#13 Instruction for DSDT corrections to do DeviceInjection works Post#14 Development Post#15 Themes Post#16 About kexts injection Post#17 Instructions for P- and C-states generator Post#18 Patching DSDT to get Sleep working Post#19 CPU settings and geekbench Post#20 ACPI tables loading Post#21 DSDTmini Post#22 Custom SMBios Post#23 F.A.Q. Post#24 iCloudFix Post#25 Using mouse. Post#26 How to make orange icons to be metallic Post#27 How to make software RAID (by Magnifico) Post#28 How to modify InstallESD.dmg (by shiecldk) Post#29 Config.plist settings Post#30 Using extra kexts and skipping kernelcache Post#31 Choosing EFI drivers Post#32 Configuration files Post#33 Automatic config.plist creating Post#34 Custom DSDT patches Post#35 How to do sleep/wake working with UEFI BOOT Post#36 DeviceID substitution (FakeID) Post#37 Using Custom OS Icons Post#38 Hibernation Post#39 Floating regions Post#41 Property List Editor Post#42 Blocking Bad Kext Post#43 AAPL,slot-name Post#44 FakeCPUID for unsupported CPU Post#45 Multiple Boot Options - to write into UEFI BIOS boot menu Post#46 How to install Windows UEFI Post#47 How to speedup Clover boot Post#48 Info.plist patching Post#49 Arbitrary device injection Post#50 Non-Standard Legacy Boot Files Post#51 Reboot to Windows UEFI from Mac OSX Post#52 Deprecated Features Post#53 Using UDK2018 Post#54 Device Properties -----------------
       
      Slice:
      I edited all posts in the thread to correspond to actual Clover revision.
      Please install Clover at least 2652 and use new instructions.
×