Mac OS X v10.5.6 complete [Updated 19/01]

Search This thread

ayilm1

Senior Member
Jan 10, 2010
179
4
Brisbane
PLEASE READ POST #2 FOR UPDATES. POST #1 IS STRICTLY INSTRUCTIONS ONLY. UPDATES ARE IN POST 2. THANKS!

Okay! Time to breathe some new life into the Shift. That's right folks. OS X now runs flawlessly on the HTC Shift and graphics are running without a hitch thanks to modified GMA 950 kexts. It's nice to play around with other devices. TBH the HD2 is too plain for me atm and I'm waiting for a Desire HD build of Android for it. In the mean time, here is some darwin goodness for the worlds favourite UMPC. First of all, to answer a few questions I encountered in the other threads, OS X will run perfectly fine on the Shift. Some people are blindly saying that the 950 has issues with OS X. Guys please do some research before posting misleading information. The 950's were the original on-boards for the MacBooks. It's impossible for it not to be supported. Better, with HW Acceleration! Okay so what works and what doesn't?

Working
- GMA 950 w HW Acc.
- Camera
-Trackpad
- Keyboard
- Speakers
- 3.5mm
- Internal drive
- Ethernet/USB Expansion Hub
- Battery/Charging recognition
- Display (although I tried forcing 1024x600 it will only create a scaled view and it's not useable)
- SD Card slot

Not Working
- WiFi
- Bluetooth
- Fingerprint Scanner (I'm not surprise, OS X doesn't have support for it anyway)

So almost everything works! Which is good news. I'm not sure if WiFi and bluetooth will work. Theoretically WiFi should work because the iPhone 2G and 3G use the exact same card that the Shift uses. However I need to find a way to extract the kexts from a firmware file which is proving to be difficult as Apple is now ridiculously locking down access to the images. Once I find this kext, WiFi should be a go. Bluetooth, I'm not sure about. I don't even know what stack it is so I can't look for a driver. Fingerprint scanner I'm not worried about as it proves useless most of the time anyway.

Okay so how do you get this working. Well I went through the trouble (and a majority of my download quota) to find which builds work best so you don't have to. Now don't come asking me for download links to these builds because I will NOT give them to you. Try google. Below is a rundown of the tested builds.

iAtkos 5i - Boots into verbose mode and kernel panics.
iPC - Does not boot at all. Installed netkas PCEFI - no change
XXX_10.5.6 - Boots into installer, won't run after installation
Leo4Allv3 - Boots into verbose mode and kernel panics.
Leopard 10.5.6 Pendrive - Boots perfectly to blue screen, loginwindows.app hangs

So the above builds were pretty helpless. The only ones that worked to some degree were iAtkos, XXX, and Pendrive, pendrive having the most success. Loginwindow.app was the only thing stopping boot. So I tried a number of things. First thing that comes to mind is replacing the app file. This didn't work and continued to crash. Then something else got my attention. the blue screen after the Apple logo turns black and then back to blue again. The only explanation to this would do this is that the graphics drivers were trying to load but failing. So this was a problem with the 950 kexts. The iAtkos disk came with excellent modified 950 drivers. Installing these onto the pendrive bulid solved this and it booted to the desktop. Below is the complete set of instructions to getting everything working including dual boot.

If you want dual boot working properly, I strongly recommend installing Windows first. That is, if you want to avoid a lot of hassle. Now as you may know, OS X is an HFS OS and Windows is an MBR. If you go about installing Windows on a drive with no other system on it, it is going to convert the entire partition table. This can be solved by creating two partitions under GPT. If OS X is on one partition, Windows will create a hybrid partition table. (MBR/GPT)

1) First you are going to need to find a copy of the leopard pendrive build and restore it to an external drive or usb. You are going to need access to a working hackintosh or Mac to be able to do this.

2) Once the restore is complete you need to go ahead and install the GMA950a.pkg and the GMA950b.pkg from inside the iAtkos disk. If you aren't able to find these I will attach these below.

3) Once these are installed, we are going to need a bootloader for the machine to see the drives. There is a great bootloader credits to netkas here.

http://www.mediafire.com/?zybzmmm5uyz

4) Plug in the external drive that you restored and installed these to and fire up your shift. Boot into the external drive bask in the glory of OS X. But we're not done yet.

5) Go and download IOATAFamily_ICH10 that's attached below and install it onto the boot drive. Reboot.

6) You need to head over to /Applications/Utilities/Disk Utility.app. Now we are going to partition the internal drive and it WILL ERASE THE WINDOWS INSTALLATION. It should come up on the top left as a grey hard disk. Now you need to select the one at the very top. i.e. the parent directory. You should now have a tab labeled "Partition." Click on that an you will get a box that has your hard drive name in it. Select "Volume Scheme" -> 2 Partitions and click on the first box. On the right, name this to whatever you like. I had Macintosh HD and select the size. Make sure the Format is set to Mac OS Extended (Journaled).

7) Now select the second partition and name it to something. I had Windows. Adjust the size and set it to MS-DOS (FAT). Now click options. and there will be three partition tables to choose from. Select GUID Partition Table (GPT). Click apply and this will erase the internal disk and replace it with two partitions.

8) Close disk utility and boot into your Windows disk. Install Windows onto THE WINDOWS PARTITION YOU CREATED. Not the Mac one.

9) After the install is complete, reboot into the external drive that you originally booted OS X off and open Disk Utility.

10) Now click on the Mac partition that you created in step 6 and click the restore tab. There will be two entry fields here, one called source, the other destination. Now depending on what the external drive is, it will either be an orange disk or a white disk. What you are going to do is drag the orange/white disk that you booted off into the source, and the Mac partition you created into destination. Tick the erase destination box and click restore. This will take roughly about 20 minutes.

11) When restore is complete, we have two more things left to do. We need to install the bootloader and set the partition as active. Now remember the bootloader we installed onto the external drive? All you need to do is install the same thing, but to the internal this time.

12) Almost there! Just need to mark the partition as active. I will post a screenshot incase this step is confusing. You need to go to /Applications/Utilities/Terminal.app. If you are familiar with Linux, this is a piece of cake. Just type the commands below.

diskutil list

Now there should be all the attached drives listed. Take not of your internal drives now. You should see on the left, /dev/diskX (where X is a positive integer) and under that will be a hash followed by a series of sequential numbers. select the appropriate number for your internal Mac partition. Mine was disk0s2. In most circumstances, it should be disk0 that you are after as it is the main drive. Next type the command below.

sudo frisk -e /dev/rdisk0 (or whatever the 0 is meant to be in your circumstance)
Ignore the error "fdisk: could not open MBR file ..."

next type:
f X (where X is the number that was next to the partition. In my case 2, in disk0s'2'. "

then:
write (hit enter key)
y (hit enter)
exit (to quit)

I FORGOT TO ADD THIS STEP! Before rebooting, run the bootloader from http://www.mediafire.com/?zybzmmm5uyz on the newly imaged internal drive. If you do not do this, the machine will boot up to a flashing underscore. You need to do this as the boot files are not copied from the first time you do it.

Now restart the machine, pull out the external drive and boot into the internal drive. There should now be a countdown timer. Press any key to interrupt this and you will get a list of your partitions. Mac OS X and Windows. if you want to go into Windows, just select it and hit enter. Similarly for Mac.

Hope this wasn't too confusing. Running OS X on alien hardware is not an easy task and if you succeeded, consider it a great accomplishment! Any questions, just ask below. I am on school holiday at the moment so I'll have a lot more time to answer! I will post up developments on WiFi so stay tuned!
 

Attachments

  • IMAG0001.jpg
    IMAG0001.jpg
    93.8 KB · Views: 3,302
  • IMAG0002.jpg
    IMAG0002.jpg
    88.8 KB · Views: 2,276
  • IMAG0003.jpg
    IMAG0003.jpg
    102.5 KB · Views: 1,943
Last edited:

ayilm1

Senior Member
Jan 10, 2010
179
4
Brisbane
Update 21/09/10

- Bluetooth operational with generic bluetooth kext
- 1024x600 mode. I've posted again after the server overload
- Ethernet works on the external hub. Only just tried it.
- For those who are experiencing problems with apps such as iTunes not syncing with iPhones or the store, there is a fix. Open the SystemVersion.plist in /System/Library/Core Services/ and change the system version 10.5.6 to 10.5.8. This will not update the system to 10.5.8 but it will trick software update into thinking you have it so you can update the software without dramas. There isn't much difference between the two except for a few bug fixes and core frameworks. Just remember not to do the security updates or the combo update.
 
Last edited:

thaihugo

Senior Member
Oct 22, 2005
618
10
Seems like a great guide. I'll surely try this as soon as I get my hands on a crapple device.

Thanks
 

EGOvoruhk

Senior Member
Mar 1, 2007
426
49
I'm curious, why didn't you try Snow Leopard? Also, with something as non-generic as the Shift, I would have used Chameleon and went with a vanilla install so I can load each individual kext
 

ayilm1

Senior Member
Jan 10, 2010
179
4
Brisbane
I'm curious, why didn't you try Snow Leopard? Also, with something as non-generic as the Shift, I would have used Chameleon and went with a vanilla install so I can load each individual kext

Good questions and thankfully I have answers for you. First of all note that 10.6 is a very lean version of 10.5. The install goes down from roughly 8GB to 5.5GB. How did they do this? They removed a truckload of obsolete drivers, most of which are needed to run the shift's older hardware. Snow Leopard also requires SSE3 to boot, which the A110 doesn't support. Also, the only practical and surefire way to patch 10.6 is using NBI (netbook installer). Don't get me wrong I did try but if NBI doesn't make SL bootable, nothing will. Anyway, Snow Leopard has a 1GHz cap which is quite hard to bypass without causing stability problems. Even running Leopard on my 667 Powerbook lagged like a b**ch (excuse the language). As for chameleon. The bootloader is a pcefi/chameleon hybrid. The reason for this is that GUI chameleon caused incredible graphics issues. The drive images on boot would be multi-colored and stretched. So GUI was a no go. Vanilla worked but it didn't WORK. The whole point of vanilla is for system updates and stability increases. Unmodified kexts did nothing of the sort for the shift. For example unmodified 950 drivers caused severe disproportionality and VGA out didn't work. In fact, the modified system kexts increased stability and boot time on an ssd is roughly 25 seconds to desktop.
 

-=xXx=-

Senior Member
Jan 18, 2006
142
37
Did you get touch screen working ?
I have also installed 10.5.8 version I used version fromn ASUS eee 701
as you sad there is no bluetooth wifi touchscreen working...
About wifi 8686 iPhone use ARM version the driver must be rewriten to be used on our devices...
 

ayilm1

Senior Member
Jan 10, 2010
179
4
Brisbane
Did you get touch screen working ?
I have also installed 10.5.8 version I used version fromn ASUS eee 701
as you sad there is no bluetooth wifi touchscreen working...
About wifi 8686 iPhone use ARM version the driver must be rewriten to be used on our devices...

Bluetooth DOES work. Touchscreen as you said doesn't work. ARM/Intel won't matter as the kexts for peripherals are OS level not architecture level. Hence the reason a PPC kext will work on an Intel based Mac.
 

-=xXx=-

Senior Member
Jan 18, 2006
142
37
Do you know what kind of touch screen is used in shift ?
There are some drivers from usb touck screen maybe we can use them but I didn't find any information about shift touch screen need to see linux drivers...
 

ayilm1

Senior Member
Jan 10, 2010
179
4
Brisbane
Do you know what kind of touch screen is used in shift ?
There are some drivers from usb touck screen maybe we can use them but I didn't find any information about shift touch screen need to see linux drivers...

I'm begging to have the same question answered. I've exhausted all resistive touch drivers for OS X and none of them are working. I'm beginning to think its a prop. touch display instead. Anyway, Linux drivers wouldn't work. Darwin has almost nothing in common. The closest thing is bsd as far as OS X applications are concerned, but again, this is just a bsd flavouring and no drivers designed for bsd will work. Sure they can be ported, but it's a much quicker route if it was to be rewritten from scratch.
 

-=xXx=-

Senior Member
Jan 18, 2006
142
37
Do you know what interface is used for touck screen comunication ?
Maybe it can be used for tracing output data and accomodation existing driver to our needs...
And about wifi did you get any progress ?
 

ayilm1

Senior Member
Jan 10, 2010
179
4
Brisbane
Do you know what interface is used for touck screen comunication ?
Maybe it can be used for tracing output data and accomodation existing driver to our needs...
And about wifi did you get any progress ?

Touch is definitely USB based (device manager->usb hid device). WiFi is looking slim at the moment. I've gone through a few iPhone firmware files to find a suitable kext with no luck. So it is looking to be a complete rewrite of the driver which will be quite difficult as there is no support for Marvell as far as WiFi goes. Apple only ethernet by Marvell/Yukon, thus ruling out the possibility of common driver properties between other kexts.
 

ayilm1

Senior Member
Jan 10, 2010
179
4
Brisbane
Just in reply to a post before the server crashed. None of the touchscreen drivers worked and the panel didn't get recognised. Also the download for the resolution enabler is back up in post 2 again. And it looks like we made it on engadget. AGAIN.
 
Last edited:

ayilm1

Senior Member
Jan 10, 2010
179
4
Brisbane
could you get the drivers from 10.5 and shove them into 10.6, also see if you can use the axitotron modbook drivers
http://www.axiotron.com/index.php?id=home

Yeah mate. that did cross my mind until i realised axiotron hasn't done anything to do with Synergy touch yet, meaning no finger touch at all. It's all wacom based. Synergy will incorporate resistive with this, or maybe even capacitive, but no guarantees on it working with the shift. I have started to build a kext for it but it's really difficult when you don't even know the manufacturer of the panel you are writing the driver for! Thanks Seb, just trying to help out the xda community!
 

Deejaynate

Member
Oct 29, 2007
42
0
www.myspace.com
Wifi

If it uses the same wifi card as the iPhone 3G, the firmware is decryptable. Head onto the idroidproject.org forums. I spent time on there putting android onto my 3G and the wifi binary files were needed as they were copyrighted material.
If you like get back to me and I can get the binaries for you? If not it's pretty simple just requires some simple linux command line skills, which I'm
Sure you have since you undertook this project.
Anyway good luck, hope this helps with getting wifi to work!!