Patchstick

From AwkwardTV
Revision as of 08:24, 2 April 2007 by Probono (talk | contribs) (Steps to be taken)
Jump to: navigation, search

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

#
# Initial ideas for AwkwardTV Patchstick Script to be done
# 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"