Initial test builds for AppleTV


I was meaning to get this all finished for Sunday, but I’ve not been feeling well at all. I have now finished an Apple TV image which you can run on a USB stick.

file: OSMC_TGT_appletv_20151111.img.gz
md5: d4781598521d4a03f781a7dea79153c9

Download here.

Install on OS X or Linux with:

gunzip -c OSMC_TGT_appletv_20151111.img.gz | dd of=/dev/sdb 

On Windows, extract and use Win32DiskImager.

There are still some things that need doing:

Reducing X11 dependencies

This involves removing anything that’s not directly needed to drive the NVIDIA based X11 system.

Add support for hard disk based installations

This is slightly tricky, which is why we’re only USB for now. The plumbing is effectively there, and creating a file called preseed.cfg on the first partition with the right values should permit this.

The issue is that we configure partitioning with our own preseeding mechanism in OSMC. This is what lets you install to a USB drive, or an NFS share, and preconfigure things such as Wireless networking. We drop our ‘preseed.cfg’ on to the boot partition and it’s read before we install. On Pi or Vero, we have fat32 partitions for the boot partition, so it’s easy for our Windows, Mac or Linux installers to drop in the file. With AppleTV, our boot partition must be HFS+ formatted. This cannot be mounted from Windows in a read-write manner in an open source way and on Linux this is tricky as well.

Startup trainwreck

The first video can sometimes be a little long to start up, but after this, things are usually fine. Some work needs to be done in this area.

Kodi Jarvis

Kodi 16.x (Jarvis) will be in beta soon. There are new changes to Kodi’s ‘dvdplayer’. Some work will be needed (if at all possible) get CrystalHD running on these new builds.

CrystalHD dynamic overclocking

There is a bit of headroom which should permit overclocking of the CrystalHD card. This should be investigated and exposed as a command line parameter.

Note with this build, you should not expect an upgrade path and you should not use this if your family depend on the aTV. I can’t guarantee it as stable.

Let me know how it goes



Let me be the first to say thank you Sam. Hope you’re feeling better soon.

Thanks Sam… feel better!

I see Tux, I see “Formatting Device”, I see “Installing Files”… then the progress bar tops out and hangs.
How long should we expect the install to take?

This depends on the speed of your USB install. It takes around 10 minutes at my end. You’ll need at least a 2GB Flash drive. I’d recommend 4GB until we get the root filesystem size down though.


Strange. Apparently, I’m not familiar with this discussion board. I thought I accidentally posted duplicates becuase the replies appeared both in the main thread and nested under your reply Sam. I tried to delete the duplicate and both copies are now gone. Oh well…

My replies were that I installed on to a 16GB Sandisk and the disk image copy only took about 2 or 3 minutes. Once in the ATV1, I got so far as the Installing files screen. When that progress bar topped out, nothing more happened. It’s been hung there for about 30min now.

I started over with a new, but similar 16 GB Sandisk drive. Same results.

Let me take a look – it’s difficult for me to package these test builds without triggering updates for Pi or Vero users (base-files-osmc needed an additional file to allow X11 to start as ‘osmc’), so I had to do it manually and may have bodged the packaging.



I have rebuilt the filesystem from scratch and the image and imaged it to a new USB. I’m still seeing this problem, which suggests a regression in the installer. I’ll chase it down tomorrow after some sleep and update my first post with links accordingly.


1 Like

Hi Sam,
tried it myself this morning, It gets to the OSMC Blue screen, and the message says “Install failed: could not mount bootfs” I know you know this already, but thought I could add my penny worth.

You are doing a great job Sam, keep up the good work.

That are great news Sam. I’m curious to test the first OSMC release.
Thanks for all the effort you put already in this project.

does this mean that at the moment we don’t have the card decoding HD content?

oh, and THANK YOU!

Yup - seeing the same here…

Nearly there - cracking work Sam!! :slight_smile:

Your first picture is OK – I suspect that’s just ACPI functionality that I didn’t turn off in the kernel.

CrystalHD should be fine with 15.x Isengard.

I’m not aware of this issue: how is your Apple TV set up? I’m installing on to a USB drive with a hard disk attached.


Thanks Sam! Sounds like you were tired or run down when you wrote this post, so I just wanted to point out one thing, in case people find this post who aren’t so familiar with the command line or dd:

If you have never used dd before, BEWARE that you MUST confirm the correct device name of the USB stick you want to write to! It is very easy to mess up your Linux system by giving dd the wrong output file name. I should know, I have done this in the past, and it sucks.

On Linux, at the very least, after you insert your target USB stick (by the way, this will delete any files on that USB stick) but before you issue the command above, run dmesg at a terminal and check the last 10 lines or so of output - they should report the device detection of the USB stick and tell you what device name it was given. For example, on the USB stick I just plugged into my Fedora machine:

[  +1.091951] scsi 8:0:0:0: Direct-Access     Kingston DataTraveler 2.0 PMAP PQ: 0 ANSI: 4
[  +0.000383] sd 8:0:0:0: Attached scsi generic sg2 type 0
[  +1.675610] sd 8:0:0:0: [sdc] 15356160 512-byte logical blocks: (7.86 GB/7.32 GiB)
[  +0.000143] sd 8:0:0:0: [sdc] Write Protect is off
[  +0.000003] sd 8:0:0:0: [sdc] Mode Sense: 23 00 00 00
[  +0.000142] sd 8:0:0:0: [sdc] No Caching mode page found
[  +0.000003] sd 8:0:0:0: [sdc] Assuming drive cache: write through
[  +0.022692]  sdc: sdc1
[  +0.001202] sd 8:0:0:0: [sdc] Attached SCSI removable disk
[  +0.843118] EXT4-fs (sdc1): mounted filesystem with ordered data mode. Opts: (null)

This device was assigned to /dev/sdc and there is a single partition at /dev/sdc1, because my iPod Nano is already plugged in and assigned to /dev/sdb.

If you are running a recent version of Fedora Linux, you should be able to uncompress the image and then use the Disks utility to write it to a USB stick, which will give you a nice interface and remove any ambiguity as to what you are doing.

Hi Sam,
That is what I’m doing, I copied your files via, booted up to the 4gb flash drive, there is a 64gb ssd installed inside ATV1, normal words scrolling down screen, then the blue OSMC screen with the words “Install failed: could not mount bootfs” this has not affected the interior SSD drive which after I removed the USB Flash drive booted up with openelec.

Sam - mondeoman has the same issue as me - see second pic i posted.
Same scenario - running directly off USB stick with internal HDD attached… :frowning:

remove usb and boots fine into standard atv menus

I would need to see some debugging for that which is not easy to do (as AppleTV lacks a serial port). The initramfs would need to be unpacked and then stepped through manually to find out why


I am seeing the same behavior that others have noted. Once the “Installing Files” bar has maxed out, the installer stops and never continues.

I’ll keep my eyes peeled for the next package!

Hmm… - I can’t get this to work. Can anyone se what I’m doing wrong

In terminal I go:

curl -O
It downloads

Then I check what drive to install on
diskutil list | grep -v disk0 | tail +2

I get:
Thomass-MacBook-Pro:~ thomasarnojensen$ diskutil list | grep -v disk0 | tail +2
/dev/disk1 (internal, physical):
0: GUID_partition_scheme *320.1 GB disk1
1: EFI EFI 209.7 MB disk1s1
2: Apple_HFS MacBook Pro Ekstra HD 319.7 GB disk1s2
/dev/disk2 (external, physical):
0: GUID_partition_scheme *8.1 GB disk2
1: EFI EFI 209.7 MB disk2s1
2: Apple_HFS Uden navn 7.8 GB disk2s2

Here i can see its disk2
Then I unmount
diskutil unmountDisk /dev/disk2

Then I want to gunzip
gunzip -c OSMC_TGT_appletv_20151022.img.gz | sudo dd of=/dev/rdisk2 bs=1m

BUT, then I get the error: gunzip: OSMC_TGT_appletv_20151022.img.gz: not in gzip format ?