OS X El Capitan on Unsupported Macs

Discussion in 'OS X El Capitan (10.11)' started by TMRJIJ, Jun 5, 2015.

Thread Status:
The first post in this thread is a WikiPost, and can be edited by anyone with the appropriate permissions.
  1. mattschwantes macrumors newbie

    Joined:
    Dec 27, 2016
    #776
    Hi everyone, long-time lurker here with a MacBook 2,1.

    I have El Capitan currently on an external USB HDD, basically following all of SkyFly555's instructions word for word and having installed using a Clover bootable USB with an Asus UX305FA. The big problem as everyone knows is SIP keeps re-enabling itself due to the cloning and later updates.

    On the MacBook internal HDD, I currently have Yosemite working very well and also CubLinux (an Ubuntu distro). I use ReFIND as the boot manager. Rod, the curator of ReFIND indicates that his software can disable SIP, so I plan to give that a try tonight. If it works, this might allow the MacBook 2,1 to be independent again, avoiding the need for the additional computer after initial installation.

    I'll repost as soon as have tried it, but maybe someone already tried it? Does this seem viable?
     
  2. skyfly555, Dec 27, 2016
    Last edited: Dec 27, 2016

    skyfly555 macrumors member

    skyfly555

    Joined:
    Apr 26, 2016
    #777
    Hello, before creating my method I needed tones of hours of trying a lot of different things. I couldn't boot El Capitan with ReFIND but it you can contact to the creator of ReFIND maybe he can help you. I tried to find help but I couldn't.

    The best we could get is having Pike modifying his boot.efi because he has created a boot.efi that disables SIP but it only works with MacPros, so we, MacBook owners, have to use his old Yosemite's boot.efi. This is the reason why we need to do these strange methods I've discovered, just to cheat El Capitan making it to believe our kexts have been SIP-approved, so as to say. We take advantage of this: El Capitan doesn't re-create caches if it finds an existing kext cache created, and it doesn't check these kexts to see if they are SIP-validated or not.
    --- Post Merged, Dec 27, 2016 ---


    Hello!

    I described the idea you are asking for on Post #638 and on Post #502.
    What I do:
    1- I have an external HDD that boots El Capitan: the one I first created. I boot the MacBook from it.
    2- I have a copy of /System/Library/Caches/com.apple.kext.caches/ on the desktop of the internal HDD.
    3- I copy it (the folder I have on my desktop as a backup) into /System/Library/Caches/com.apple.kext.caches/ of the internal HDD.
    4- I restore permissions from Terminal:
    Code:
    cd /Volumes/Capitann/System/Library/Caches/
    sudo chown -R root:wheel *.*
    I'm supposing your internal HDD is called "Capitann". Change the name if needed.

    5- I reboot the MB booting from the internal HDD with restored kexts.

    So, you save a lof of time, you don't need to clone the whole HDD every time, neither doing the whole process from zero.
     
  3. vsbalint70 macrumors newbie

    vsbalint70

    Joined:
    Oct 24, 2016
    #778
    Hi

    In the binary boot.efi used for Yosemite in your MacPostFactor I found the following stamo for the generated pdb file. I see a user name "Kelian" using probably an Acer 5635Z laptop. Do you know who is this person?

    PDB File Name : C:\Users\Kelian.Extensa-5635Z\Documents\OS X Patched boot.efi\macosxbootloader-master\bin\x86\Release\boot.pdb
     
  4. TMRJIJ thread starter macrumors 68020

    TMRJIJ

    Joined:
    Dec 12, 2011
    Location:
    South Carolina, United States
    #779
    Kelian Dumarais (@MLforAll) is the main developer of MacPostFactor
     
  5. skyfly555 macrumors member

    skyfly555

    Joined:
    Apr 26, 2016
    #780
    Hi,

    I compiled boot.efi from the Master Branch (Yosemite) and it worked, nothing to solve as you say, boot.efi compiled correctly. I even changed some things and made a question to Pike on Github: I never got an answer.
    The question I made was just before trying Yosemite boot.efi, which was the pillar of my installation method.
     
  6. vsbalint70 macrumors newbie

    vsbalint70

    Joined:
    Oct 24, 2016
    #781
    Hi
    Strange. I have tried again, downloaded the master branch (Yosemite)
    https://github.com/Piker-Alpha/macosxbootloader/branches/master

    When I try to compile with MSVC 2015 I get 9 errors, the first is

    VOID* tableArray = acpiRsdt + 1;
    for(UINT32 i = 0; i < tableCount; i ++, tableArray = Add2Ptr(tableArray, itemSize, VOID*))
    {
    UINT64 tableAddress = itemSize == sizeof(UINT64) ? *static_cast<UINT64*>(tableArray) : *static_cast<UINT32*>(tableArray);
    EFI_ACPI_DESCRIPTION_HEADER* theTable = ArchConvertAddressToPointer(tableAddress, EFI_ACPI_DESCRIPTION_HEADER*);
    if(theTable->Signature == signature)
    return theTable;
    }
    C4456: declaration of 'theTable' hides previous local declaration.
     
  7. mattschwantes macrumors newbie

    Joined:
    Dec 27, 2016
    #782
    Thanks for answering. I was able to boot using ReFIND and the Pikified-EFI from Yose/ElCap. ReFIND was able to correctly modify the csr-status-enable variable in the NVRAM. Unfortunately, it makes no difference because if using the PikeYose Boot.EFI as you recommended for stability, this variable is ignored. If you use the PikeElCap Boot.EFI, the MacBook 2,1 crashes very soon after login. I'm honestly not sure if the SIP was actually disabled in the second case.

    Clearly we will have to modify Pike's EFI, as it seems several others are working on. I will also try. Good luck to us!
     
  8. atvusr macrumors 6502

    atvusr

    Joined:
    Apr 5, 2010
    #783
    Probably the errors occur because you have compiled it with Visual Studio 2015.

    Try Visual Studio 2013 instead and look if it compiles flawless.

    See also the Boot.efi Compiling Instructions by Pike R. Alpha.
     
  9. blackfreccia, Dec 28, 2016
    Last edited: Dec 28, 2016

    blackfreccia macrumors newbie

    Joined:
    Jul 30, 2012
    #784

    Hey guys,

    I've been trying to install using MPF, but when I get to the "skip ad" part, it just shows a "please wait" screen after I click it and it sticks there forever. I tried using the fix in post 672, but when I drag the "please wait" url from safari to MPF it just gets stucked, just like if I had done it in the MPF window.

    Is there any way to get around this?

    EDIT: Problem kind of sorted out itself. I tried the same method a couple of hours later and voilà! Not sure why it happened, guess it's caused on the server's side. It could also be because the first time I tried, I ran MPF from its dic image, whereas I copied to the applications folder the second time.
     
  10. mattschwantes macrumors newbie

    Joined:
    Dec 27, 2016
    #785
    Just tried exactly this using VS2015 -- It did work, after:
    1. Changing the Properties...Build...TreatWarningAsErrors from Yes->No.
    2.) Adding the NASM in the correct location, I used V2.11.08 without seeing any issues.

    Note that I haven't actually tried booting yet from the resulting BOOT.EFI, only saying that the build did finish compiling.
     
  11. vsbalint70 macrumors newbie

    vsbalint70

    Joined:
    Oct 24, 2016
    #786
    Yes, you are right, if I accept the warnings MSVC 2015 can build an executable.
    I added the code to disable SIP and now it seems it works well on my Mac Mini.
    It boots, loads all the kexts correctly, SIP is disabled and hasn't crashed since at least 10 minutes...
    Try with my boot.efi from Google Drive link
    https://drive.google.com/open?id=0B3xWIRz1McYkWFVtZi1TMTVBaGM
     
  12. mattschwantes macrumors newbie

    Joined:
    Dec 27, 2016
    #787
    Great work. Very stable on my ElCap MacBook 2,1. But I also hit a problem after doing the SoftwareUpdate to Version 10.11.6. Now all I get is the Prohibited sign. None of the various boot.efi can get past this. Even so, you've made excellent progress for all of us.
     
  13. vsbalint70 macrumors newbie

    vsbalint70

    Joined:
    Oct 24, 2016
    #788
    Hi
    I will try to add step by step the additional features which make the difference between the original Yosemite and present El Capitan version. This way we will see which feature of the original El Capitan efi causes problem to our Macs. At the moment I concentrated on SIP only.

    I think your problem might be related with the Relinked Kernel cache. Try to boot into single user mode and force the cache to rebuild. Or maybe even possible to delete it.
     
  14. mattschwantes macrumors newbie

    Joined:
    Dec 27, 2016
    #789
    The problem is caused by lack of USB support after the update. My ElCapitan was running on an external USB drive. The update removed the USB support KEXT. When I went to reboot, this caused the 'PROHIBITED SIGN'.

    So I moved the drive internally, which allows it to boot. Unfortunately, once it reaches the login, there is no keyboard/mouse, since these require working USB to function on a MacBook 2,1. Booting into single-user mode is same problem, not keyboard/mouse.

    On a positive note, I used your BOOT.EFI in the recovery partition, and it actually booted correctly. However, again no keyboard/mouse. Plugging in an external USB is same. I really would like to fix this so only one computer is required.

    It's great that you're working on fixing Pike's ElCapitan script. I started on it last week, but didn't solve it. From what I can tell, everything acts the same from his V2.0 release onward (Sept 25,2015) so the problem commit must be one of the earlier ones before that.
     
  15. atvusr macrumors 6502

    atvusr

    Joined:
    Apr 5, 2010
    #790
    Have you replaced the USB-Kexts again after the Update to Version 10.11.6 ?

    It's very likely that the 10.11.6-Update has overwritten the patched USB-Kexts with the Apple Standard-versions.
     
  16. mattschwantes macrumors newbie

    Joined:
    Dec 27, 2016
    #791
    I replaced all the Kexts in the internal ElCap HDD manually while booted from Yosemite (now in external USB enclosure).

    my issue now is that rebuilding permissions and kextcaches from in Yosemite to the EC doesn't fix it.

    A solution might be to force EC to rebuild everything on next reboot, but not certain how to force it to do this. Any ideas? I think we are nearly there...
     
  17. vsbalint70 macrumors newbie

    vsbalint70

    Joined:
    Oct 24, 2016
    #792
    Maybe I have asked already. Have you tried to boot into text based single user mode? There with touch S/L/E and kextcache -u commands you can rebuild the prelinked kernel. After with exit you can continue to boot into graphical part
     
  18. mattschwantes macrumors newbie

    Joined:
    Dec 27, 2016
    #793
    Thanks for replying. I did boot into the EC single-user mode, but there wasn't any keyboard support, so I wasn't able to execute any commands. I also tried adding a launch-daemon script to the recovery partition, but that also didn't work.

    There are several other methods I will try later today (I think these are based on posts several months ago here by Fred57):
    1.) http://www.insanelymac.com/forum/files/file/521-usb-fix-for-el-capitan/
    2.) https://github.com/RehabMan/OS-X-USB-Inject-All

    Will post back again if anything changes.
     
  19. mattschwantes macrumors newbie

    Joined:
    Dec 27, 2016
    #794
    Can you help me with something: Does your MacMini have the USB port not recognized issue with the USB installer? Or another way of asking the same question, if you replace the boot.efi in your Recovery partition with your new Boot.efi from post #786, are you able to boot recovery and have working keyboard/mouse?
     
  20. atvusr, Jan 11, 2017
    Last edited: Jan 11, 2017

    atvusr macrumors 6502

    atvusr

    Joined:
    Apr 5, 2010
    #795
    There're no working Input-devices because the USB-recognition has nothing to do with the Boot.efi (except SIP=off), rather with the new USB-Stack of OSX 10.11+. Possible solutions: see Post #716.
     
  21. vsbalint70 macrumors newbie

    vsbalint70

    Joined:
    Oct 24, 2016
    #796
    Hi
    I tried to update to 10.11.6 and has failed.. no mouse at login screen. Neither when booting to recovery partition. When I start to single user, there are visibly error messages saying that USB drivers were not loaded due to some naming issues.i don't remember such messages from previous versions
    I will try to move back to to 10.11.5 I am afraid :-(
    --- Post Merged, Jan 11, 2017 ---
    See the photo of the boot screen when booting to single user
     

    Attached Files:

  22. mattschwantes macrumors newbie

    Joined:
    Dec 27, 2016
    #797
    Mine had similar issues. For 10.11.6, using Ver.3 of the USB Fix from here (http://www.insanelymac.com/forum/files/file/521-usb-fix-for-el-capitan/) made it work again on MacBook 2,1. I think these are just revised versions of the same kexts SkyFly555 used.
     
  23. fanfzero macrumors member

    Joined:
    Oct 8, 2016
    #798
    For all the people saying they're having troubles with mouse and things not being recognized after upgrade, try creating an unibeast usb stick and booting the hard drive from the boot efi that is on the stick
     
  24. the bug, Jan 17, 2017
    Last edited: Jan 17, 2017

    the bug macrumors member

    the bug

    Joined:
    Feb 21, 2014
  25. fanfzero macrumors member

    Joined:
    Oct 8, 2016
    #800
    I've finally decided to upgrade to a MacBook Air early 2014 for 645€, the white unibody 3.1 will probably go to my father. So I won't be seen too often in those threads.
     
Thread Status:
The first post in this thread is a WikiPost, and can be edited by anyone with the appropriate permissions.

Share This Page