How to save more Screen Saver Pictures to DefaultFlowerPhotos

After trying to replace the aTV2’s DefaultFlowerPhotos with a few hundred of my family photos and finding out that there was not enough space to do so, even when exporting from iPhoto using the size “small” setting, I decided to see if I could make a DefaultFlowerPhotos directory under /private/var and create a symbolic link to it from /System/Library/PrivateFrameworks/AppleTV.framework/DefaultFlowerPhotos.  Success - it works just fine and there is no need to screw with MobileMe or Photo Stream (I am using the jailbroken aTV2 (Black) with the FC 4.4.4. load, but this should work for most/all other aTV2 configurations too).  Here is how I did it:

 - Download and install Cyberduck (a very useful file transfer program with SFTP and terminal shell capability)

 - Start Cyberduck and open an SSH connection to your AppleTV

    Example: [Apple][N], [Apple][O], select SFTP, enter “appletv.local”, username “root”, password “alpine”, click “Connect”

 - Open a terminal window so that you can use the unix command line on your AppleTV

    Example: in Cyberduck, select “Open in Terminal.app” under the “Go” menu

 - Find out how much free space you have on your AppleTV

    Example: in Terminal window at the unix “sh-4.0#” prompt, type: “df -k -h”; you should see something like the below indicating that /private/var has lots of free space (6.9 Gigabytes)

Filesystem            Size  Used Avail Use% Mounted on

/dev/disk0s1s1   569M  502M   62M  90% /

devfs                          26K   26K     0 100% /dev

/dev/disk0s1s2     6.9G  754M  6.2G  11% /private/var

  • Backup the contents of your DefaultFlowerPhotos directory by navigating to /System/Library/PrivateFrameworks/AppleTV.framework/ and dragging and dropping the DefaultFlowerPhotos folder from Cyberduck onto your Mac desktop (or elsewhere).  You will need these to restore from this procedure if anything goes wrong.

  • Remove the /System/Library/PrivateFrameworks/AppleTV.framework/DefaultFlowerPhotos directory and all of it’s contents

    Example: “rm -r /System/Library/PrivateFrameworks/AppleTV.framework/DefaultFlowerPhotos

  • Re-create the DefaultFlowerPhotos directory with a symbolic link to the /private/var/DefaultFlowerPhotos folder

    Example: “cd /System/Library/PrivateFrameworks/AppleTV.framework/DefaultFlowerPhotos

                 “ln -sFf /private/var/DefaultFlowerPhotos /System/Library/PrivateFrameworks/AppleTV.framework/DefaultFlowerPhotos

  • Open iPhoto and export desired photos in “.PNG” format in size “medium” (“small” seemed too low resolution and “high” didn’t seem to add any value on a HDMI 720p screen)

  • Drag and drop your exported photos into the /private/var/DefaultFlowerPhotos folder using Cyberduck

*** Disclaimer: I do not know what the downside is to using the free space in /private/var.  it is possible that using too much of this free space may impact other aspects of your aTV’s performance (playing movies or music, etc).  In other words, your mileage may vary, depending on what other programs you are using and what other processes you are using.

Best regards, P