Patchstick
This is the page about Project Patchstick, a 100% legal way to open up the ATV for hacking without having to open the case.
Primary Goals
- Build our own Darwin kernel that boots on the ATV
- Build our own sshd (probably dropbear)
- Install sshd on the ATV, enable it
Secondary goals
- add more hacks (ericIII's ATVFiles comes to mind)
- make it work from a (small) USB stick
- create an image that can be put on a USB-stick even under Windoze (the no-brain-needed part)
- install wget (or similar) to simplify installation of further features
- ...
Steps to be taken
- get a homebrew Darwin kernel to boot up
- build boot scripts that upload the sshd binary to the ATV, and enable it
#!/bin/sh # # AwkwardTV Patchstick Script # by phoem at phoempc.com # v20070331.0 # echo -n "Disabling watchdog..." mkdir /Volumes/OSBoot/etc/mach_init.disabled mv /Volumes/OSBoot/etc/mach_init.d/ripstop.plist /Volumes/OSBoot/etc/mach_init.disabled echo "/sbin/kextunload -b com.apple.driver.AppleTCOWatchdog" >> /Volumes/OSBoot/etc/rc.local echo "done" echo -n "Installing sshd..." cp /usr/sbin/sshd /Volumes/OSBoot/usr/sbin/ cp /System/Library/LaunchDaemons/ssh.plist /Volumes/OSBoot/System/Library/LaunchDaemons/ssh.plist echo "done" echo -n "Installing various programs..." cp /usr/bin/sort /Volumes/OSBoot/usr/bin/sort cp /usr/bin/nidump /Volumes/OSBoot/usr/bin/nidump cp /usr/bin/passwd /Volumes/OSBoot/usr/bin/passwd cp /usr/bin/du /Volumes/OSBoot/usr/bin/du cp /usr/bin/kdump /Volumes/OSBoot/usr/bin/kdump cp /usr/bin/ktrace /Volumes/OSBoot/usr/bin/ktrace cp /usr/sbin/kextstat /Volumes/OSBoot/usr/sbin/kextstat cp /usr/bin/gdb /Volumes/OSBoot/usr/bin/gdb/ cp /usr/bin/vim /Volumes/OSBoot/usr/bin/ cp /usr/bin/nc /Volumes/OSBoot/usr/bin/ cp /usr/bin/diff /Volumes/OSBoot/usr/bin/ cp /usr/bin/strings /Volumes/OSBoot/usr/bin/ cp -pRvf /usr/libexec/gdb /Volumes/OSBoot/usr/libexec/ cp -pRvf /Volumes/OSBoot/System/Library/PrivateFrameworks/PlatformHardwareManagement.framework /Volumes/OSBoot/System/Library/PrivateFrameworks/ cp /usr/bin/bspatch /Volumes/OSBoot/usr/bin/ cp /usr/bin/bzip2 /Volumes/OSBoot/usr/bin/ echo "done"