Home / Apple / How can I force my Mac to try to start a version of macOS that is too old to run?

How can I force my Mac to try to start a version of macOS that is too old to run?



First things first – we need to get a comprehensive startup working so we can see what the computer is doing. I dont know why cmdV does not work, but there is another way.

Open the bootable USB installer in the Finder and navigate to Library/Preferences/SystemConfiguration/, then open com.apple.Boot.plist in a text editor. The important part will look like this:


    Kernel Flags
    

So, at the moment there are no flags set up. Let’s add to the detailed flag by changing it as well:


    Kernel Flags
    -v

If I start the USB installer with this change, I get a message that reads: “Mac OS X is not supported on this platform!”

; This is progress – we now know for sure that we are up against a hardware check – but we still have to bypass the check.

Open the USB installer in the Finder again, but this time navigate to System/Library/CoreServices and open PlatformSupport.plist in a text editor. Inside you will see a list of “SupportedBoardIds” and “SupportedModelProperties”.


    SupportedBoardIds
    
        Mac-031B6874CF7F642A
        Mac-F2268DC8
        [...]
        Mac-F2218EC8
    
    SupportedModelProperties
    
        MacBookPro4,1
        Macmini5,3
        [...]
        MacBookAir5,1
    

All we have to do is add our Mac Board and Model to their respective lists. You will find your model in System Profile under hardware overview, where it is listed as “Model Identifier”. In my case I have a “MacBookAir7.1”.

To find the board’s ID, open Terminal and enter: ioreg -l | grep -i board-id. My card ID turned out to be “Mac-9F18E312C5C2BF0B”.

I added this information PlatformSupport.plist who saw:


    SupportedBoardIds
    
        Mac-031B6874CF7F642A
        Mac-F2268DC8
        [...]
        Mac-F2218EC8
        Mac-9F18E312C5C2BF0B
    
    SupportedModelProperties
    
        MacBookPro4,1
        Macmini5,3
        [...]
        MacBookAir5,1
        MacBookAir7,1
    

And now when I start the installer, I get … a core panic! Ta-da! 🎉


In some cases, this may be the end of the road, but I happen to have another trick up my sleeve. The XNU kernel used by macOS is open source, so it is possible to compile a custom kernel with support for additional hardware. It is not possible for me to do this, but it exists other people who are smarter than me. My 2015 Macbook Air uses a Broadwell processor, and I found this kernel in 10.9.5 which suggests adding Broadwell support. I might as well try it!

I downloaded the attachment and copied mach_kernel to the root of my USB installation drive. Note that if I tried to install OS X 10.10 or later, I would have copied it to System/Library/Kernels instead.

In order for the installer to use the custom kernel, I have to tell it to ignore the kernel buffer. To do that, I opened Library/Preferences/SystemConfiguration/com.apple.Boot.plist in a text editor again and add -f flag:


    Kernel Flags
    -v
    -f

Then I tried to start the installer again, and …

WTF?  It started up?!?

Wait. It should not really work!

For whatever reason, the internal keyboard and trackpad were not functional, so I had to connect an external keyboard and mouse via USB. But other than that, I was able to open Disk Utility, format the internal drive, and install the operating system normally.

It is important that you do not let your Mac restart automatically when the installation is complete, or you will just end up with another forbidden sign. Remember how we added our Mac model and board ID to PlatformSupport.plist? We must also make this change to the copy installed on the hard disk.

When your Mac tells you that the installation is complete, immediately open the Terminal app and cp PlatformSupport.plist from System/Library/CoreServices on the USB installer to the corresponding location on the hard disk. If you use a custom kernel, as I was, be sure to copy it as well. With these changes in place, you can safely allow the installer to restart!

That’s it, you’re done – Macbook Air from 2015 successfully launched a fully installed copy of the Mavericks. Unfortunately, I quickly discovered that there was no graphics acceleration, and I still could not use the internal keyboard or trackpad, but I spring able to surf the web, play music and skip a Zoom conversation. And who knows, maybe you’ll be luckier than me with your hardware!

There’s also a global pandemic outside, and I had nothing better to do with Sunday afternoon.


PS Finally note about custom kernels, they tend to be replaced with every OS update, including minor security updates. Before installing an update, back up the custom one mach_kernel, and then copy it back after the installation is complete, however for you restart the computer!

PPS Thanks to AnonMac50 on the MacRumors forums for giving me the tips PlatformSupport.plist and com.apple.Boot.plist. The last time I tried this, many years ago, I became completely stuck because I did not know about them.


Source link