Jump to content

problem with el capitan chameleon bootloader


wolfsy
 Share

2 posts in this topic

Recommended Posts

Hi,

 

I successfully installed el capitan on my laptop (HP-DV6 6c55se) almost everything work good except :

 

- I need boot flags like -v and -f to system  boot, I tried to edit Extra/org.chameleon.Boot .plist but it's didn't work, So I don't know why and where the   bootloader boot flags.

 

- I have tow graphic card (intel HD 3000 - ATI 6790m) ATI doesn't work but intel work with VRAM (Dynamic, Max): 384 MB

 

post-1636908-0-39131600-1487172052_thumb.png

Link to comment
Share on other sites

Afaik, branch Chameleon does not support El Capitan. You have to switch to Enoch (use latest version r2848). You'll have to disable SIP to begin with so that your add-on kexts can get loaded and cached.

 

HP laptops often require the Lapic kernel patch to avoid KP at boot time. If you don't have such KP, you can ignore it.

 

On top of the o.c.B.plist, recent versions of Enoch can patch the kernel through parameters configured in /Extra/kernel.plist. You can consult the Chameleon thread to learn about tall this.

 

Enoch kernel.plist parameters are:

KernelBooter_kexts     // Injects kexts from /Extra/Extensions
KernelPm               // Patches kernel for Haswell plaforms and beyond
KernelLapicError       // Patches kernel for Lapic KP
KernelLapicVersion     // Patches kernel for Lapic KP
KernelHaswell          // Patches kernel for Haswell-E type CPUs
KernelcpuFamily        // Patches kernel for unsupported CPUs
KernelSSE3             // Add missing SSE3 instructions on older CPUs

Those parameters are set to Yes or No:

<?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>KernelBooter_kexts</key>
        <string>No</string>
        <key>KernelPm</key>
        <string>No</string>
        <key>KernelLapicError</key>
        <string>No</string>
        <key>KernelLapicVersion</key>
        <string>No</string>
        <key>KernelHaswell</key>
        <string>No</string>
        <key>KernelcpuFamily</key>
        <string>No</string>
        <key>KernelSSE3</key>
        <string>No</string>
</dict>
</plist>

They can be manually provided at the Enoch prompt with <parameter>=<Yes|No>. For instance: KernelBooter_kexts=Yes KernelLapicError=Yes KernelLapicVersion=Yes. Obviously, unset parameter are set to No by default.

 

To disable SIP, use parameter CsrActiveConfig in your o.c.B.plist. Google for this info if you don't know this. Set it to 3 for instance:

<?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>CsrActiveConfig</key>
<string>3</string>
[...]
[...
[...]
</dict>
</plist>

You may manually disable SIP through boot option CsrActiveConfig=<value>.

 

If you keep kexts in /E/E, that will only be injected (not cached) at boot time if you use boot option KernelBooter_kexts=Yes. There was a bug in recent Enoch versions pre-r2848 which require to accompany the option with -f to inject kexts from /E/E. This was fixed in r2848.

 

My recommendation is to place all add-on kexts to /Library/Extensions from where they can be cached. Keep a copy of all safe/proven kexts in /E/E so that you may recover if you make a mistake with kexts on /L/E. This recovery can be achieved through option KernelBooter_kexts=Yes (to inject kexts from /E/E) and -f flag (to boot without cache and therefore bypass /L/E).

 

 

Thank you  for reply and advice, Now I can boot without any args  :thumbsup_anim:

 

What about Graphics card, can I do any thing to make ATI card work or improved intel HD 3000 ?!

Link to comment
Share on other sites

 Share

×
×
  • Create New...