From AwkwardTV
Revision as of 23:37, 3 April 2007 by Probono (talk | contribs) (Secondary goals)
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

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


XML format for fetching additional plugins

The idea is to have an XML format for fetching information on available plugins that is as easy as possible and as flexible as necessary. Please comment.

alan_quatermain is working on a frappliance that uses this data.

<?xml version="1.0" encoding="utf-8"?>
    <title>My Great New Frappliance</title>


Once the user clicks that, mygreatnewfrappliance XML gets loaded:

<?xml version="1.0" encoding="utf-8"?>
    <title>My Great New Frappliance</title>
    <author>Joe Doe</author>
    <icon url="" />
    <screenshot url="" />
    <enclosure url=""  md5="5655cc6f7d1ba118665fe14be41ad296" length="5650889" type="application/tgz" />
    <pubDate>Wed, 8 Jun 2005 19:00:00 GMT</pubDate>
    <copyright>© Copyright 2007 Joe Doe</copyright>
    <keywords>(set of keywords to be defined)</keywords>
            <subtitle>Cooking plugins is fun!</subtitle>
            <summary>This plugin doesn't really exist, but here we have one sentence of description saying what it does and why it is so insanely great.</summary>
            <description>A longer description here, up to one screen page</description>

Code ideas


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