Installing Mac OS X Leopard on the Apple TV (1st generation)

scj312

Tinkerer
Oct 29, 2021
44
75
18
As you may know, the firmware for the 1st-generation Apple TV was a modified version of Mac OS X Tiger. Back in the day, many members of the Mac community were able to get full versions of Mac OS X running on the Apple TV. Unfortunately, patched disk images with the fruits of their labor have been lost to time, so I took it upon myself to dig up instructions on how to set up an installation from scratch, and have uploaded the resulting installation as a ready-to-use disk image!

In this guide, we will be using the disk image to create a bootable USB drive with Mac OS X Leopard 10.5.8 for the Apple TV.

What you will need:
  • Mac running Mac OS X Tiger (10.4.x) up to macOS Monterey (12.x)
  • 1st-generation Apple TV
  • USB drive (16 GB or larger)
  • Powered USB hub (for connecting the USB drive at the same time as a keyboard and mouse)
  • Monitor or TV connected to the Apple TV via HDMI or component
  • Audio connected to the Apple TV via the audio jacks (HDMI audio does not work)
Download the disk image from one of these fine places:

Preparing the USB drive
In Disk Utility, select the drive, then select the Partition tab. Set the volume scheme to 1 partition, name it Apple TV HD, and set the format to Mac OS Extended (Journaled). Then, click Options, ensure GUID Partition Table is selected, and click OK. Apply the changes.
diskutility1.png
diskutility2.png


Once formatting is complete, we can restore the disk image to the USB drive. First, scan the image for restore by choosing the Images menu > Scan Image for Restore, then select the downloaded image.
If you're using Tiger, this option might not work. Instead of scanning the image, mount it by double-clicking the disk image in Finder. Then, proceed to the next steps.

Once the scan is complete, select the Restore tab in the Disk Utility window. Drag the disk image to the source field, and drag Apple TV HD to the destination field. Select Erase destination, then Restore.
diskutility3.png


Once the restore is complete, select the USB drive in the source list, then click Info in the toolbar. Note the disk identifier listed in this window, as we will need it in the next section.
diskutility4.png
In Disk Utility, select the drive, then click Erase in the toolbar. Enter the following options, then click Erase:
  • Name: Apple TV HD
  • Format: Mac OS Extended (Journaled)
  • Scheme: GUID Partition Map
diskutility_mojave1.png


Once formatting is complete, we can restore the disk image to the USB drive. First, scan the image for restore by choosing the Images menu > Scan Image for Restore, then select the downloaded image.

Once the scan is complete, select the new Apple TV HD partition, then click the Restore button in the toolbar. Click Image..., select the disk image, then click Restore.
diskutility_mojave2.png


Once the restore is complete, select the USB drive in the source list, then click Info in the toolbar. Note the BSD device node listed in this window, as we will need it in the next section.
diskutility_mojave3.png
First, we need to allow various OS utilities access to our drives. To do this, open System Preferences, then select Security & Privacy. Select the Privacy tab, and choose Full Disk Access from the left-hand list. Click the lock to authenticate, then click the + button and add the following items:
  • /Applications/Utilities/Disk Utility
  • /Applications/Utilities/Terminal
  • /usr/sbin/asr
  • /usr/sbin/diskutil
In order to see the last two items, press cmd-shift-period after clicking the + button.
You should see these four items now in the list:
sysprefs.png


Now, open Disk Utility. In Disk Utility, select the drive, then click Erase in the toolbar. Enter the following options, then click Erase:
  • Name: Apple TV HD
  • Format: Mac OS Extended (Journaled)
  • Scheme: GUID Partition Map
diskutility_mojave1.png


Once formatting is complete, we can restore the disk image to the USB drive. First, scan the image for restore by choosing the Images menu > Scan Image for Restore, then select the downloaded image.

Once the scan is complete, select the new Apple TV HD partition, then click the Restore button in the toolbar. Click Image..., select the disk image, then click Restore.
diskutility_mojave2.png


Once the restore is complete, select the USB drive in the source list, then click Info in the toolbar. Note the BSD device node listed in this window, as we will need it in the next section.
diskutility_mojave3.png

Making the USB drive bootable
Now, we need to change the partition type so that the USB drive is bootable on the Apple TV. Once these steps are completed, the drive will no longer be readable by the Mac.

First, close Disk Utility, and open Terminal.

Run sudo gpt -r show /dev/diskX where diskX is the disk identifier or BSD device node noted from Disk Utility earlier.

In the output, find the line with index 2. Note the start and size values, as we will need them later.
atvgpt1.png


Run sudo diskutil unmountDisk diskX to unmount the disk.
If it says the disk was not unmounted, wait a few moments and try again.

During the following steps, you may see a warning from Mac OS X that a disk is unreadable. Click Ignore if this alert opens.

Run sudo gpt remove -i 2 /dev/diskX to remove the existing partition entry, which we will re-add in the next step with the correct type.

Run sudo gpt add -b START -s SIZE -i 2 -t "5265636F-7665-11AA-AA11-00306543ECAC" /dev/diskX where START and SIZE are the respective values noted earlier.

Run sudo diskutil unmountDisk diskX to unmount the drive.

All done! :geek:

Booting Mac OS X on the Apple TV
Now comes the best part! The USB drive can be removed from the Mac and plugged into the Apple TV. Plug a USB hub into the Apple TV so that you can connect the USB drive, as well as a keyboard and mouse. Once you plug in the power cable, the Apple TV will boot into the Mac OS X Setup Assistant, where you can set up a user account and begin using Mac OS X! If you'd like to permanently install Mac OS X to the internal hard drive, you can follow the steps in the "Preparing the USB drive" section, but with the internal drive rather than a USB drive (and you can skip the section required to make USB drives bootable).


Things to keep in mind:
  • The first boot might be a bit sluggish, but it should speed right up after a few minutes. The image is a fresh install, never booted, so all of the maintenance processes will run like any other fresh install.
  • On my monitor the boot screen turns green, but YMMV. Once booted, the color is correct--if it isn't, unplugging the HDMI cable and plugging it back in should do the trick.
  • HDMI audio doesn’t work, so use the other audio outputs. Analog audio is the "Internal Speakers" output, which is not selected by default.
  • When logging in, you’ll see an unreadable disk error. This is simply due to Mac OS X not understanding the partition types correctly, and you can ignore it.
  • The Apple TV only has 256 MB RAM, so keep this in mind during web browsing and other memory-intensive operations. MenuMeters is pre-installed so that you can keep an eye on usage.
  • iCal doesn't open.
  • Enjoy!

Credits
I can't take most of the credit for this, as it is based on the hard work of others in the Mac community. Here are the resources I used to make this possible:
 
Last edited:

wottle

Active Tinkerer
Oct 30, 2021
548
303
63
47
Fort Mill, SC
So, got the USB drive imaged and followed the steps for making it bootable, but when I boot it with the USB drive attached, I get the Apple logo, then I just get a spinner with the 🚫 symbol. Assuming I did something wrong when modifying the partitions?
 

JasonJJJ

New Tinkerer
Jan 21, 2022
12
0
1
Do we have some other ways to install macos snow leopard on it, leopard's just too old I cant even use appstore on it
 

Kai Robinson

TinkerDifferent Board President 2023
Staff member
Founder
Sep 2, 2021
1,179
1
1,184
113
42
Worthing, UK
Snow leopard will never run on PowerPC, the best that might be possible, will be Sorbet Leopard, but i think @z970 would have to do a bit more work to make it work with this hardware.
 

z970

New Tinkerer
Nov 19, 2021
10
21
3
@Kai Robinson Even the first generation Apple TV used an Intel Pentium M processor, not PowerPC. As Sorbet Leopard is exclusively focused on the PowerPC platform, there are no plans now nor in the near future to extend support to Intel devices.

However, one could still copy the Utility Scripts directory included with Sorbet Leopard over to a standard Leopard installation, and then use the scripts within to optimize an Intel system, such as an Apple TV. The specific actions to take would be to disable Spotlight, disable iOS device communication, disable BeamSync, disable window shadows, enable 2D Dock, etc. ... I would even suggest using a solid color desktop background to further conserve VRAM.

Afterward, one will even be able to browse the Web on it using something like Alex Free's OS X port of Links2, like this individual did. And if RAM permits, it may even be possible to use Safari for certain lightweight websites, if CSS is desired.

@JasonJJJ There is the PPCAppStore, which contains several Intel-only applications.
 

Kai Robinson

TinkerDifferent Board President 2023
Staff member
Founder
Sep 2, 2021
1,179
1
1,184
113
42
Worthing, UK
@Kai Robinson Even the first generation Apple TV used an Intel Pentium M processor, not PowerPC. As Sorbet Leopard is exclusively focused on the PowerPC platform, there are no plans now nor in the near future to extend support to Intel devices.

However, one could still copy the Utility Scripts directory included with Sorbet Leopard over to a standard Leopard installation, and then use the scripts within to optimize an Intel system, such as an Apple TV. The specific actions to take would be to disable Spotlight, disable iOS device communication, disable BeamSync, disable window shadows, enable 2D Dock, etc. ... I would even suggest using a solid color desktop background to further conserve VRAM.

Afterward, one will even be able to browse the Web on it using something like Alex Free's OS X port of Links2, like this individual did. And if RAM permits, it may even be possible to use Safari for certain lightweight websites, if CSS is desired.

@JasonJJJ There is the PPCAppStore, which contains several Intel-only applications.
My bad then, i thought it was still based on a G4 for some reason!
 

caver01

Tinkerer
Oct 30, 2021
93
64
18
Unfortunately, patched disk images with the fruits of their labor have been lost to time
@scj312 For what it’s worth, I have the ATVOSX.dmg file that was “lost to time”. I was following along with my ATV 1st gen back when this was under development, running AwkwardTV jailbreaks and such. . . This was a lot of fun!

If that original tiger disk image alongside the boot.efi file that was used at the same time is of any interest, I am happy to upload it somewhere. Let me know.

This seems like a good time for me to revisit this old hardware and see if I can make something happen again with the ATV1! Thanks for posting this!
 

scj312

Tinkerer
Oct 29, 2021
44
75
18
So, got the USB drive imaged and followed the steps for making it bootable, but when I boot it with the USB drive attached, I get the Apple logo, then I just get a spinner with the 🚫 symbol. Assuming I did something wrong when modifying the partitions?
This means that it began booting, so the partition type is likely correct, but once the macOS kernel took over it couldn't read the USB drive. I would try a few things:
  • Try the drive using a powered hub (that's what has given me success)
  • Try another USB drive
  • Ensure you used the correct start and size values when changing the partition type, as if this is not correct files may not be found when bootiing
I performed a test restore on an iMac9,1 running Mojave and had success, so it does seem to work with that version of Disk Utility. I can confirm the errors when using Monterey, so I will try to make a version of the image that works in the newest Disk Utility versions. It may end up being multiple versions, as Leopard -> Monterey is quite the spread :)

Do we have some other ways to install macos snow leopard on it, leopard's just too old I cant even use appstore on it
I know some people have gotten Snow Leopard to work, but the consensus I found online is that its RAM usage is problematic. However, it's possible there are some things we could try to get it more usable.

@Kai Robinson Even the first generation Apple TV used an Intel Pentium M processor, not PowerPC. As Sorbet Leopard is exclusively focused on the PowerPC platform, there are no plans now nor in the near future to extend support to Intel devices.

However, one could still copy the Utility Scripts directory included with Sorbet Leopard over to a standard Leopard installation, and then use the scripts within to optimize an Intel system, such as an Apple TV. The specific actions to take would be to disable Spotlight, disable iOS device communication, disable BeamSync, disable window shadows, enable 2D Dock, etc. ... I would even suggest using a solid color desktop background to further conserve VRAM.

Afterward, one will even be able to browse the Web on it using something like Alex Free's OS X port of Links2, like this individual did. And if RAM permits, it may even be possible to use Safari for certain lightweight websites, if CSS is desired.

@JasonJJJ There is the PPCAppStore, which contains several Intel-only applications.
Performance is surprisingly good out of the box, but I will have to try your scripts to see where wins can be had. FWIW, I was able to surf with both Leopard WebKit (the older Intel build) and with TenFourFox, but the RAM is definitely an issue--complex pages crash pretty frequently.

@scj312 For what it’s worth, I have the ATVOSX.dmg file that was “lost to time”. I was following along with my ATV 1st gen back when this was under development, running AwkwardTV jailbreaks and such. . . This was a lot of fun!

If that original tiger disk image alongside the boot.efi file that was used at the same time is of any interest, I am happy to upload it somewhere. Let me know.

This seems like a good time for me to revisit this old hardware and see if I can make something happen again with the ATV1! Thanks for posting this!
Oh my gosh, I would greatly appreciate it if you could upload those somewhere! I'd love to play with those images.
 

wottle

Active Tinkerer
Oct 30, 2021
548
303
63
47
Fort Mill, SC
This means that it began booting, so the partition type is likely correct, but once the macOS kernel took over it couldn't read the USB drive. I would try a few things:
  • Try the drive using a powered hub (that's what has given me success)
  • Try another USB drive
  • Ensure you used the correct start and size values when changing the partition type, as if this is not correct files may not be found when bootiing
I performed a test restore on an iMac9,1 running Mojave and had success, so it does seem to work with that version of Disk Utility. I can confirm the errors when using Monterey, so I will try to make a version of the image that works in the newest Disk Utility versions. It may end up being multiple versions, as Leopard -> Monterey is quite the spread :)
I suspected the powered hub may be the problem, but don't have a powered hub on hand. Then I remember that I have a powered USB switch. So I used that and it turns out the unpowered hub was it. Thanks for the information. Playing around with it now! I may try @z90 's idea of throwing some of the tweaks from Sorbet onto the USB before making it bootable. I'll post an update here once I give it a shot.
 
  • Like
Reactions: scj312

scj312

Tinkerer
Oct 29, 2021
44
75
18
So it turns out that the image works fine in Monterey, but due to the security features added in Catalina, there are some extra steps to make Disk Utility and Terminal work properly. In System Preferences > Security & Privacy > Privacy > Full Disk Access, add the following applications to the list:
  • /Applications/Utilities/Disk Utility
  • /Applications/Utilities/Terminal
  • /usr/sbin/asr
  • /usr/sbin/diskutil
For the last two items there, you'll need to show hidden files by pressing cmd-shift-period.

I'll be updating the original post with instructions for these OSes, as they are quite prevalent.
 

scj312

Tinkerer
Oct 29, 2021
44
75
18
It can indeed, I've already wasted my MEGA bandwidth for the next 24 hours so I will be unable to get the file at the moment
No worries, I can grab the one from MEGA and upload it along with the files I uploaded to archive.org.

Edit: Hm, I've been trying to upload for the past hour and it's been stuck on "Starting upload". Is something awry?
 
Last edited:

caver01

Tinkerer
Oct 30, 2021
93
64
18
I wasn’t sure about policy and ownership etc. on the garden. I could have upped it there I guess. That zip file I made also has the boot.efi. I don’t really remember how it was used at the time, but I remember it was important.
 

scj312

Tinkerer
Oct 29, 2021
44
75
18
I wasn’t sure about policy and ownership etc. on the garden. I could have upped it there I guess. That zip file I made also has the boot.efi. I don’t really remember how it was used at the time, but I remember it was important.
I've been having issues uploading so feel free to put it there if you'd like. And yeah, the boot.efi is crucial, though I would be surprised if it wasn't already part of the image. For mine, I extracted boot.efi from the still-available-from-Apple 3.0.2 firmware.