[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Add apple_set_os command

From: andreas
Subject: Re: [PATCH] Add apple_set_os command
Date: Tue, 07 Jan 2014 16:19:52 +0100
User-agent: Roundcube Webmail/0.9.2

Am 2014-01-03 19:38, schrieb SevenBits:
Hash: SHA1

On 01/03/2014 01:46 AM, Vladimir '?-coder/phcoder' Serbinenko wrote:
On 31.12.2013 00:11, SevenBits wrote:
On Monday, December 30, 2013, Andreas Heider wrote:

The EFI on current macbooks configures hardware differently
depending on wether it is booting Mac OS X or a different os, for
example disabling the internal GPU completely on some models.

Mac OS X identifies itself using a custom EFI protocol.

This adds a command that fakes the os identification, making all
hardware accessible.

Just a question: I do a lot of booting Linux on MacBooks, and I
frequently suffer from this issue. How do we know that this code
actually works?
Run on a mac with this code and without and compare results. The
ship of "works by sane design" has long since sailed away. For
most manufacturers it's somewhere in Moon orbit but for apple it
has long since left solar system.
So, Andreas, I tried your patch, and... no dice. The Mac behaves
exactly as before. I'm afraid it didn't appear to do anything for me.

thanks for testing! I suspect that your MacBook Pro is simply too old. I don't know exactly when this protocol was introduced, I found references to it on Hackintosh-Forums from a while ago and in the Mac OS X internals book which is also a bit older.

What effect exactly were you looking for? Your MBP doesn't have a second GPU to disable. Also, AFAIK the older models disable less hardware when you boot via EFI than the newer ones, since Bootcamp with EFI wasn't supported.

Furthermore, your patch didn't print any output. There wasn't any
error message returned (i.e your "Could not locate the apple set os
protocol." message on line 52-53). When I invoked your command from
the GRUB normal prompt, it DID print the message however. Perhaps it
doesn't fail if called from within a grub.cfg, or maybe it simply
doesn't print.

If it prints something on the promt I'd say it's working as intended, although I'm pretty sure that I see output from it when I boot a grub.cfg entry.

The Mac that I tested on was a MacBook Pro from early 2008. Clearly,
this function isn't present on all models. I can try it on others and
seeing if it works on them, however.

If you have the time, please do. I'd be interested in what exactly changes.

Also, why the if statements on lines 59 and 65, which indicate whether
the OS version and/or vendor was set. What is the point of them? Why
not just call the functions directly?

It's just some output so you know that the command did something.

_______________________________________________ Grub-devel mailing
list address@hidden

Version: GnuPG v1.4.14 (GNU/Linux)
Comment: Using GnuPG with Thunderbird -


Grub-devel mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]