Ok, let the fun commence.
Installing Asterisk on Apple TV Steps:
First, get Apple TV. (obviously)
Enable ssh by using this tutorial:
Since AppleTVHacks has been "dugg" to death, I am including the SSH instructions below taken from the Google Cache. The images weren't cached, so they may not appear below until AppleTVHacks go back online. Credit for the original information used in making this how-to goes to TylerL82 over at the SomethingAwful.com forums. Written up here by Jonathan Bare.
So while you have your Apple TV open and you’re installing a new hard drive or just following along with the people over at SomethingAwful.com forums to get Xvid working, you might as well un-break SSH so you can access the Apple TV remotely.
Opening the Apple TV and connecting the hard drive to your Intel Mac are covered in the hard drive upgrade and elsewhere, so we’ll skip those steps and jump right to the point where you have the OSBoot and Media volumes mounted on your Mac.
This process assumes using an Intel Mac because the sshd binary may or may not be the same in the PowerPC version of Mac OS X; we haven’t checked. If someone would like to try using the PowerPC binary and let us know if it works, that would be great!
There are 2 ways to go about this; using the finder, or via the terminal. The finder method is probably best if you aren’t sure what is going on, whereas the Terminal method is quicker if you are confident.
Step 1 - Using the Finder
Note: ignore any missing images since the Google Cache didn't have them
Once you have OSBoot mounted in the Finder, double click on its icon. You’ll see something like this:
From the Finder’s Go menu, select Go To Folder, or press Command-Shift-G. Type in
/Volumes/OSBoot/usr/sbin/and click Go.
Open a new Finder window and do the same thing to go to a folder, this time, however, select
/usr/sbin/. This is the same folder located on your Mac’s hard drive.
From the Mac’s sbin folder, drag the file “sshd” to the Apple TV’s sbin folder. Your cursor will change in to the green plus sign to indicate that you are making a copy of the file.
Note: If you have accidentally ended up in /usr/bin instead of /usr/sbin and you accidentally copy the “ssh” file instead of “sshd”, you’ve made a big mistake and ssh will not work on your Apple TV. Be sure you are working to and from the respective /usr/sbin directories.
You now have sshd installed on your OSBoot volume. Now we need sshd to start when the Apple TV boots up.
In the OSBoot window, choose Go To Folder again and this time, enter
If you open the Apple TV’s ssh.plist file from the LaunchDaemons directory, you’ll see why we need to replace it. Apple left a dummy plist file to throw us off the trail.
You could copy the ssh.plist file from the same location in your Mac’s
/System/Library/LaunchDaemons/, but for simplicity, we’ve included the contents of the plist here. Using TextEdit, BBEdit, or your favorite text editor, copy and paste this text, replacing the original ssh.plist contents:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
Close the file and save it. In a nut shell, the ssh daemon is activated by launchd whenever an incoming connection on port 22 is detected.
Step 1 - Using the Terminal
Firstly, copy the sshd binary from your Mac to the AppleTV drive:
cp /usr/sbin/sshd /Volumes/OSBoot/usr/sbin/.
Next, copy the ssh.plist file over, so launchd knows to start sshd on boot:
(The above is all on 1 line - I hit enter so the above line didn't wrap into the middle column of my blog)
Alternatively, you could use the contents of the file from above to create an ssh.plist file.
Unmount the OSBoot and Media volumes, reassemble your Apple TV, and power it on. You need to get the IP address of the Apple TV from the Settings menu, once you know that, open a Terminal window from your Mac (or any OS that has ssh installed) and type:
Press return. Type “yes” when it asks if you want to permanently store the key. Then enter “frontrow” as the password.
SSH opens up a lot of doors to accessing the Apple TV. For example, you can now type
sudo /usr/sbin/AppleFileServerand cause the built-in Apple File Protocol (AFP) server to start. Then you can connect to the Apple TV from your Mac by using the Connect to Server command in the Finder. AFP, SCP or SFTP can now be used to copy files to the Apple TV!!
You can type
ps auxwwto see a list of running processes on your Apple TV. (Hey, what is
/usr/bin/ripstopand why is it running under the frontrow user?)
One thing we’ve already learned from SSH is that the root filesystem on the Apple TV (aka OSBoot) is apparently mounted as a read-only filesystem. That means it’s not initially possible to copy any files to the root mount point (/etc, /usr, /var, for example) while it is running. TylerL82 has commented to point out you can remedy this with the
sudo mount -uw /command.
It’s also important to note that any changes you make to the OSBoot volume will be wiped out by a Factory Restore of the Apple TV. It appears that a disk image of the stock Apple TV operating system exists on the unlabeled partition on the drive and is used to restore the OSBoot volume when Factory Restore is selected.
ssh into the appletv using the tutorial above. everything below
will be through ssh:
Download Bison 2.3 from:
(use curl via ssh)
Decompress, open terminal, do:
sudo make install
sudo make install
close terminal.app and reopen
do i need mysql here? is it installed?
decompress, open terminal, type:
sudo make install
sudo make samples
done. everything installed.
install a launchd service to start Asterisk.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC
"-//Apple Computer//DTD PLIST 1.0//EN"
<string>Asterisk PBX</string> </dict> </plist>
then do in terminal via ssh:
sudo launchctl load -w /Library/LaunchDaemons/
svn checkout http://svn.digium.com/svn/asterisk-gui/trunk
cd in asterisk-gui
./configure (might not be needed) make sudo make install make
samples sudo install samples
mod the config files:
enabled = yes
webenabled = yes
We will have to add a new user to `manager.conf`:
secret = wrxiur
read = system,call,log,verbose,command,agent,user,config
write = system,call,log,verbose,command,agent,user,config
make checkconfig to see if you messed up anywhere
change any other asterisk config files and reboot appletv. all
gui can be accessed at:
If appletv.local is not the host, then change to the ip of the appletv.
You now should have a running version of Asterisk on Apple TV that should look like this:
Finally, if you want a PDF version of these instructions which has some additional interesting information (courtesy of Steven Sokol), click here to download. For instance, in the PDF, it states, "There is alot of testing needed and some call applications may not work yet. It's also unfortunate that the installation requires cracking the case and voiding the warranty. Hopefully in the near future somebody will come up with a reliable way to boot from USB and the SSH daemon, obviating the need for a hardware hacking."
Sokol has also published a tutorial that is worth a look.