Difference between revisions of "Patchstick"

From AwkwardTV
Jump to: navigation, search
(Steps to be taken)
(Secondary goals)
Line 8: Line 8:
  
 
==Secondary goals==
 
==Secondary goals==
 
+
* Add an awkwardtv.frappliance that shows screenshots, descriptions of frappliances and installs them online
 
* add more hacks (ericIII's [[ATVFiles]] comes to mind)
 
* add more hacks (ericIII's [[ATVFiles]] comes to mind)
 
* make it work from a (small) USB stick
 
* make it work from a (small) USB stick

Revision as of 09:49, 2 April 2007

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 an awkwardtv.frappliance that shows screenshots, descriptions of frappliances and installs them online
  • 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

Artwork

Code ideas

#!/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"