Jump to content

[Guide] SurfacePro 1 & 2 Osx-Android-Windows multiboot


JahStories
 Share

2,617 posts in this topic

Recommended Posts

  • 5 weeks later...

10. Go to /EFI/Microsoft/Boot/ folder and rename bootmgfw.efi to bootmgfw-orig.efi

 

So, the things I have left are:

 

Brightness adjust

Smooth, adjustable trackpad

Battery level detection

VRAM up from 7 MB (proper video drivers)

Sleep / Hibernate ability

 

Things I've managed to get working:

 

Sound

Wifi with USB adapter

Bluetooth

Legitimate credentials for App Store / iCloud usage

 

Can you point me in any direction for any solutions?

 

Thanks!

Link to comment
Share on other sites

I think you did not correctly followed the steps of the guide...

 

P.s.

Are you on sp1 or sp2, please update your signature as suggested.

 

edit:

You are on sp2 and you are using a guide I did not wrote...

I never used that "trick", so I don't know how to help, try writing a PM to PokenGuy  ^_^

  • Like 1
Link to comment
Share on other sites

Ok, I've scrapped my old install and started from scratch with your guide. I'm now stuck on 'Missing Bluetooth Controller Transport!'. I searched for solutions and tried all of them, but there's no coming past this. Any suggestions?

 

Thanks!

Link to comment
Share on other sites

Hmm.. single user didn't do the trick. The mach kernel is there. I downloaded official Mavericks from my purchase history in the Mac App Store. I wonder if that starts you out as the latest version of Mavericks instead of base 10.9.0. Would that mess things up? I'm trying to come up with potential points of conflict, but I followed all the directions, so I don't know what else to do at this point.

 

Do you know anything about if Windows 10 changes anything about the process? 

Link to comment
Share on other sites

Edit to the first post:

​at the end of the Sp2 guide.

 

Enabling Secure boot on SP2 (credits: Quattro74) [source]

 

I was able to use the sbsign tool provided here to get secure boot enabled on my Surface Pro 2. No More Red Screen!

 

First I had to download the software provided above as I have Mavericks installed I chose version 3, should also work for Yosemite. I just used the build executables by moving them into my /usr/bin I made sure to have newer versions of openssl, etc. installed. Any how once I signed all my Binaries in my Clover folder and Boot Folder. And added Policy <string>Deny</string> and Secure <true/> to by boot section of config.plist, I still couldn't figure out how to make it work.

 

So I installed the latest version of shim-signed from my ubuntu VM.

 

sudo apt-get install shim-signed

 

I copied over shim-signd.efi to my EFI/Microsoft/Boot folder

and named it bootmgfw.efi

 

I already had a copy of Cloverx64.efi there so I re-named that first to grubx64.efi which is what shim looks for.

 

The original microsoft bootmgfw.efi I renamed to bootmgfw-orig.efi, I created a custom entry in my config.plist that points to it.

 

Surface Pro 2 is tricky as it doesn't come with the UEFI 3rdParty CA installed so I had to find this tool online and download it. It is a series of scripts and files that you can use in windows to upgrade and add the 3rd party DBs so that you can use the signed shim to chain-load Clover.

 

It usually needs mokmanager to install its certificates. But I found it easier to use a keytool.efi USB key that I was able to create from an easy to find image that is out there.(Google)

 

I converted the clover signing certificate to a format that shim could use using openssl

 

openssl -x509 -in /path-to-clover-sign.pem -inform PEM -out /path-to-converted-clover-cert.cer -outform DER

 

or something like that.

 

Keytool needs the file to be named .cer in order to use it even though it is DER format.

 

So the procedure to lock down the surface pro 2 once all the binaries are signed is:

 

-Clear all of the secure boot section by disableing secure boot.

 

-Open the long named UEFI script that installs the microsoft dbs with right-click>edit,

 then in powershell eliminate the final line that talks about the PK. save as OnlyDBs.ps1

 

-Close and open the same long ass file as above, this time eliminate everything except the final line about the PK, save as OnlyPK.ps1

 

-Then run the OnlyDBs script with a comand prompt as admin. It should run without any errors.

 

-Copy over all of the .cer files you can find in the sbsigntool package. to the usb keytool stick including the new one that you created above.

 There should be one called cannonical that is used to sign the KEK and DB, another one under /src called Clover-signed.der(Re-name it to .cer)

 

-shutdown and boot up into the usb keytool. Use the Edit keys>Add to find the .cer files you copied over. The main cert that you used to sign the binaries then converted is the one to add to Mok db. Add all of them, one at a time, to DB, adding is the same as appending. Then the Kek is only getting the Canonical one added.

 

-Then reboot up into windows and run the OnlyPK.ps1 script. using the Admin Cmd prompt.

 

-Reboot into UEFI bios and enable secure boot. Save>Re-boot.

 

Should see black screen. then Clover.

 

The reason we have to use Shim is cuz it's one of the few trusted loaders that Microsoft decided to sign. So by chain loading Clover with it we can eliminate the red screen. Which we wouldn't be able to do using a self signed key of our own.

 

 

@Quattro74

 

Thanks for sharing this! ;)

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

Surface2OSX  4400  i5 4300U   8GB   512GB

 

Hey, I never could figure out how to get my wierd backlight refresh issue fixed via a custom dsdt. But I did figure out that ours are not the only laptops with this weird issue.

 

To clarify, for me when I first would log in to the Mac OSX I would get default brightness from the last login, but after the very first display sleep or refresh I would then get max brightness. Also, the slider in brightness display settings was't showing up until after this refresh. very annoying to reset each time.

 

So after searching a bit online I discovered the brightnessFix tool. just google it. It auto re-freshes the display and resets the brightness to a desired level after each login.

 

It consists of a BrightnessFix binary that is placed into /usr/bin and a brightnessFix.plist that has the desired level set in it which goes into /System/Library/LaunchAgents, this can then be edited using sudo nano.

 

I did decide to shut off login at each sleep so that I didn't have double login at each boot, but that is just my preference, your security concerns may be different.

Link to comment
Share on other sites

Surface2OSX  HD 4400 i5 4300U 8GB 512GB

 

So is there currently a group buy of the touch-base drivers going on? to those that have upgraded to Yosemite does it support touch natively?

 

thanks, this seems to be the perfect touch-mac with the sample touch-base drivers.

Link to comment
Share on other sites

Surface2OSX HD 4400 i5 4300U 8GB 512GB

 

"Look Ma no Dongle"

 

ok.. I'd never actually say something like that to Mom, she worries...

 

Anyhow I had never planned to buy a usb wifi dongle after reading some of the horror stories of getting one to work and still getting app store etc to function properly. Also, I planned on using my iPhone and tether wifi etc. if needed and also use the built in VPN.

 

Also, I was always bothered that we had a perfectly good built in wifi-bluetooth and couldn't really use them, unless you wanted the bluetooth to be always on. Since there is only the one USB port on the Surface Pro it sure would be useful to free it up for other devices.

 

Well I'm sure I'm not the first to do this but its pretty easy to share the built in USB wifi via a Virtual Machine. I used Ubuntu 14.04 and Parallels as my solution since Parallels creates the necessary link that you can configure in the Mac OS Network settings. Ubuntu has the driver for our USB wifi buillt into the kernel, plus the updated firmware addon somewhere, which makes it very stable. Also, Parallels VMs have direct control of anything USB if you give it to them, and you can limit the amount of memory and cpus allocated to the VM in the settings so that the host OS can still function solidly.

 

First you have to download a VM, I went to osboxes.org and grabbed a 64bit ubuntu 14.04 that is designed for VMware. Once I opened it with parallels I was asked to convert it over to the parallels format. Then just use the newly created VM.

 

In the Parallels control center for the new VM make sure there is a network setup, go into its hardware settings and add one if its not already there, you will need to do this before starting up the new VM. Once its created make sure the checkbox for 'connected' is checked and you can use the virtuio or the Intel 'Nic type'.

 

Under Parallels> preferences >Advanced click on Network: 'Change Settings' Under the Host-Only Tab check all the boxes and take note of the start and end addresses and subnet.  Under Shared tab deselect all checkboxes.

 

Back to Parallels>Preferences select the Devices menu and see if Bluetooth and Wireless Lan Composite Device is listed, If not see if you can add it and then sellect 'connect it to the active virtual machine'. If it doesn't allow you to do this now It might need to be done after the first VM connection.

 

Now boot up the VM and as its connecting see if you can add the Marvel USB under USB or if the previous step was already successful you should see the Bluetooth and Wireless Lan device listed and connecting under the devices icon on the VM window border.

 

The next part differs with different Ubuntus but basically its time to find the wifi network settings and connect to you wifi router. You may have to deselect and select the USB wifi device connection every now and again but once it connects it is usually pretty stable and will connect immediately whenever its needed and you fire up the VM. you should be able to test the connection within the VM by starting up Firefox to see that you now have internet access from Ubuntu. Also, as an added bonus if you haven't installed the avastar-fw.kext into mac os you may notice that each time you exit the VM and wait a few secs that you will have Bluetooth functioning from within Mac os. So you can basically use this procedure as a virtual 'switch' to turn on BT whenever you'd like and you don't have to leave it on all the time. You may have to install the avastar-fw.kext at least once to provide the 'infrastructure' for this to work tho. Then just delete the kext and run kext utility.

 

Now go into Network settings in Ubuntu and find the 'wired' internet connection, write down the ip address make sure its on and then go into its 'Options' button. Under IPv4 settings tab>Method>select 'Shared to other computers' then save.

 

Open terminal in Ubuntu VM and type ifconfig and the prompt. It should show you the same ip address as in the step above as eth0. Now run the same command at the Mac Terminal. You should see a vnic1 and vnic0, which are the two virtual links that parallels set up for you in the above network setup steps. Notice that one of them will have an IP on the same subnet as the IP from the previous step, in my case it is one number above.

 

Restart VM.

 

Now under Mac's network settings find the Parallels Host-Only virtual link, select under Configure IPv4 as Manually. Then for IP address use the same IP as the one for the vnic1 or vnic0 that was on the same subnet as the ubuntu wired connection, from the above step. For subnet mask: 255.255.255.0. For Router use the original IP from the Ubuntu wired connection. Then go into advanced and add under dns servers 8.8.8.8 and 8.8.4.4 then Save.

 

Then reboot everything and see if you can reconnect and then access the internet not just from Ubuntu Firefox but also from Mac's Safari. If everything is working well you might save the Ubuntu config as a snapshot in Parallels. So you can always rollback to it if there is an issue.

 

You can alter the hardware settings to give the VM as little resources as possible so that you can still use Mac os to a high degree, and there are some mimimal installs of ubuntu floating out there that would take up very little harddisk space. Just make sure they are recent and probably a debian branch of Linux so that their kernels have our built in marvel-avastar driver and firmware pieces. After getting mine to work I then tested appstore imessage facetime icloud and they all work fine, so this is compatible with Rehabman's nullethernet.kext.

 

Thus freeing up the dongle space, cuz who doesn't need a lil extra dongle?

  • Like 3
Link to comment
Share on other sites

  • 3 weeks later...
  • 3 weeks later...

Nah, the Wifi will never work unless you use a external dongle.

 

Talking about which... does the MS Ethernet Adapter (the Gigabit) one still work with El Capitan? For some reason I can't get it to work on my SP2 and I ponder if it's something I did.

 

Does the SP1/2 dock ethernet port still work? It should be almost the same.

Link to comment
Share on other sites

 Share

×
×
  • Create New...