![]() |
Booting the AppleTV OS on a generic PC - Discussion
Right... the story is.. The AppleTV hardware is essentially a very low end Mac, it uses EFI. AppleTV software is basically Tiger (10.4.7 If I remember correctly) with a fancy GUI. I know you can install a replacement Finder or "Backrow.app" in an existing Tiger installation, but what's stopping us from booting the full blown AppleTV OS on PC hardware? Wasn't PC_EFI capable of booting tiger? I have an Image of the AppleTV OS (update DMG pulled from Apple servers :D), I am willing to do some experimentation.. input please :D
|
I had it on my Tiger system, I can take a look if I still have the installer. But today it isn't neccessary anymore because FrontRow 2.x looks like AppleTV. I preferred the look of the FrontRow 1.x, it was looking much cooler with the big rotating icons.
|
I think it would be pretty cool to boot the actual full AppleTV Operating System.
However, I find the Frontrow 2 app to be quite bland. The UI is nice, but I think I would like a more intuitive menu and startup splash or something like the AppleTV does when you turn it on, rather than a fade out and in. The installer for Tiger doesn't work on Leopard though, which sucks. |
Would be nice if it would be supported with Chameleon 2.1 as seperate operating system!
|
Quote:
ATV take2 is also possible (take into account that this is actually an embedded xnu 10.5.6 kernel...) Extra kexts are also needed for HW support... Also needed is to mod BackRow (with disc GUID inside...) and to remove the watchdog kext (or it will reboot after a very short while...) Final step is to mod Finder.app (= BackRow.app) to patch the binary up so it will recognize the comp as being valid (branch if equal on some point replace with branch if not equal...) For AMD there is also the need to patch up CPUIDs... NOTE: The Finder.app from ATV OS can't be used with the keyboard as it requires an USB IrDA transceiver + Apple Remote... There is however a workaround on this... There is a remote emulation kext + daemon available that will let you map the 6 remote buttons to the keyboard... As for the kernel I may be able to provide one built from my kernel sources so it will work just fine with AMD's and Intels + uses the custom dynamic linker (different build than standard Voodoo style dyld, uses different file for build...) |
Quote:
|
Quote:
The BackRow.framework binary also needs besides GUID of the disk the /dev/diskXsY replaced with the install partitions & drive /dev/diskXsY entry... I've known someone who has done this on a real iMac4,1 and it worked... It can be done for hackintoshes also... no problem there... Yet I've noticed allthough ATV take2 uses Leopard kernel the apps running on it + kexts tend to still be built for Tiger... So you would need the Tiger versions of the kexts (best is 10.4.11...) The IR Remote EMU I can supply (got an improved version...) It would need to be recompiled for the Tiger SDK though... (may think of making a custom SDK entry specifically optimized for ATV take2 OS...) It may also be possible that the patching of the Finder binary is only needed in case of running it on Mac OS X... I believe it checks for SystemVersion.plist's OS name being set as AppleTV OS (name could be slightly different... check your dmg under /System/Library/CoreServices/SystemVersion.plist) But even if it is needed... ht is your best friend for browsing through the references and code... Quite easy to patch stuff up that way... |
I'm using an Apple Remote by using an eHome-compatible IR receiver (f.e. from a Windows Media Center Remote) and the software mira. But that's something different. I know the IR Receiver Emulator Andy was talking of, it was neccessary to install FrontRow on a Tiger system. There also were patches that BackRow got a 'Quit' Option so that a modified Finder could be started. But I'm not sure if it's wort the effort, to get the same result build a hackintosh with a barebone hardware and add FrontRow in the login-items list. Then you also could use the Apple Remote with mira.
Oh yes, I'm remembering at these /dev/diskXsY modifcations. This had to be done with a hex editor, right? And I think the AppleTV software created a lot of folders (numbered from 00-99 or so?) in the root directory of the specified drives, was looking rather bad. |
Quote:
The other option is thus to mod the Finder.app also replacing BRFullScreenRenderer with BRWindowRenderer (to be able to switch with the keyboard to the OS with Apple key + tab) Still you also need the Remote Emu daemon running to be able to use the interface... I once made six little apps (1 for each button) which I mapped for the AppleTV.app with some tool which allows you to assign mouse functions for apps (mapping each mouse button needed to the proper button... needs 6 buttons on the mouse though...) The apps where rather simpel... they just send the proper sysctl action to the proper kern. etc... function. This way when the app is running one can use it with the mouse... (and it doesn't interfere with normal operations so the background daemon for the keyboard mappings isn't needed then...) I tested this succesfully at the time on an AMD PC running Tiger 10.4.11 |
Quote:
Chameleon V2 would work like a charm without any problems at all... |
If you think about making a custom AppleTV take2 OS for PC I'm willing to rebuild the kernel set for embedded AppleTV style parts...
Mac OS X 10.4.11 install DVD I don't have anymore though so it will be hard to prelink the needed drivers into the kernel... (for mach_kernel.prelink) But I suppose I could use a combo update for 10.4.11 for some of those... Let me know... |
project
Quote:
|
Quote:
You could afterwards prelink the needed parts (kexts and drivers) into the mach_kernel (hereby creating mach_kernel.prelink) I'll also recompile the needed IR Remote Emulator for Tiger... I'll send both to you after I'm done with each (still have a lot of work though... but I'll get to this tomorrow...) |
Quote:
|
AppleTV
OK, I have a full system image (2.3.1) and restored to a designated partition. All ready to go :)
|
Quote:
Quote:
|
OK... I have got some free time on my hands and I'm starting to update the sources to create the proper kernel...
Post after completion... |
Making great progress here...
Had to create a custom SDK to build dyld though... Work continues... |
Quote:
|
Quote:
The kernel is building as we speak... I think I'll have one very soon... |
What about drivers for gfx, sound, chipset, WLAN, AMD support... I can imagine especially gfx is problematic if AppleTV is still Tiger-based and newer cards are only supported in Leopard.
|
No it won't be...
It is a Leopard kernel built for AppleTV (unlike the standard 792.XXX.XXX kernels for AppleTV) It will support also the newer kexts and run the rest perfectly... The other kexts will work (because of compatibility) and the rest will run perfectly as well... |
Without further delay I announce:
The AppleTV OS kernel... Get it from: http://rapidshare.com/files/23039970...eTV_Kernel.zip |
AppleTV
I will try it as soon as I get home! At college at the moment. Thanks Andy,
Quote:
|
Quote:
|
If this get's AppleTV to run on your machine, PLEASE let us all know exactly how you get it to run. This is epic if it works.
|
Maybe you should add a modded version: AndyTV :D
If anyone has a suitable installer this would be great. Do you think it would work from an USB stick or an USB harddisk? |
Quote:
|
Quote:
Any luck on making it boot properly? |
Booting
Quote:
Laters, will keep you informed. |
Atv
Hey everyone, would really appreciate any volunteers willing to help with this.. Anyone with a few GB's to spare? The OS is booting fine in initial stages but getting some minor errors which we think is just my hardware. PM me if your interested. Thanks.
|
i could try it, to boot from external usb hdd, or usb stick.. if 2gb isn't enough then usd hdd will work, plenty of room there.
|
Quote:
Probably needs to be set up as GUID with the same GUIDs as the AppleTV (4 partitions, check the awkward tv wiki for using external HDD... the partition guide should work) |
Ok Andy, thanks.. I have one usb hdd which is totally empty, so i can partition the drive as i want with no worries about the data. PM me with the info and i can test it on my rigs.
|
I would like to test this too..
But i got a AMD system. Will this AppleTV kernel work on a AMD system? And how would one configure all this? Just dump AppletTV OS on a HDD, replace kernel, add needed kext's and boot it? Thnx! |
Download the image direct from Apple's servers ;) Click Me.
Switch the kernel with the one in the thread that Andy posted and copy over all the default Leopard kexts, obviously using System.kext and IPFirewall.kext from Andy's package. Delete the watchdog kext which is in the extensions folder by default. Apply permissions and attempt to boot.. basically. Have fun! As for AMD and Intel... haven't a clue. I assume it'll work, as the kernel is based on Andy's kernel sources. |
I mounted the disk image, but I am not seeing the watchdog kext. Is there any other info or procedure needed? I'd really like to play with this.
EDIT: Nevermind, I see it. So basically, just copy over the Leo kexts we use and that's it, eh? Sounds simple enough. |
Quote:
|
Quote:
i've downloaded the dmg from apple site, restored it into a usb flash drive. copy my leopard kext over osboot kext, copy and replace andy's mach_kernel, system.kext and ipfirewall.kext, deleted watchdog. install chamoleon EFI. applied permissions... when i boot it, it shows "error parsing plist fileloading Darwin/x86 then shows" errors encountered while starting up the computer" |
Quote:
Could you maybe post some videos/pictures if so? About to try it myself ;) Edit: I think i just killed my system... Thats the second time this week xD I made a new partition and restored the OSBoot to it. Then i replaced all extensions, deleted watchdog, and added the AnV Apple TV Kernel. Then when i tried to boot my system it would only show boot0, done i believe and then reboot the pc... I tried to remove the AppleTV partition with a DVD, but now its giving memory allocation errors when booting from the OSX hard disk... Is it possible to restore Chameleon to the hard disk? I was using the latest version... Thnx! |
how do you apply the permission of the kext added to the osboot extensions folder?
|
Quote:
I installed OSX to a usb partition, i am able to access the hard drive, but it doesn't wanna mount the main partition! Its giving an error that i need to run First Aid on it, but when i do that i get this error: Verifying volumes "disk0s2" ** /dev/disk0s2 Invalid BS_jmpBoot in boot block: fa31c0 Error: File system verify or repair failed. Can i still save my data from the hard disk? |
hi, can anyone pls tell me how to patch the appletv os finder.app?
|
can any one send me a patched appletv 2.3.1 finder?
thanks |
Well my hdd was ----ed up and i needed to write zero's to make it work again...
So warning to all, Don't Install On Same HDD as you're running install... |
ok, i've patched the appletv finder and managed to boot to the itunes pairup screen.
but i have no way of controlling it the keyboard and mouse won't work |
Quote:
http://www.brandon-holland.com/irkeyboardemu.html This will allow you to control aTV with a USB keyboard |
have any one tried appletv os 2.4 ?
it seems that they have added some checks to prevent non atv hardware to sync with itunes. hopefully someone will come out with a patch. |