Difference between revisions of "Patchstick/Testing"

From AwkwardTV
Jump to: navigation, search
m (reverting spammed page)
m
Line 1: Line 1:
{{Template:legalonly}}
+
[http://bekleem.ifrance.com/content/fotos-floricienta/ fotos floricienta] [http://mejordan.ifrance.com/nome-e1.htm nome e cognome ligabue] [http://sthuckst.ifrance.com/vip/ vip] [http://nipierre.ifrance.com/articles/lavatrice-profondita.htm lavatrice profondita 40] [http://lokelseyn.ifrance.com/nadiya-parle1/ nadiya parle mai] [http://sthuckst.ifrance.com/driver-netodragon/ driver netodragon 56k] [http://lokelseyn.ifrance.com/index1_500.html index] [http://mejordan.ifrance.com/entre-en.htm entre en mi vida] [http://trermer.ifrance.com/small/pc-e/ pc 106e] [http://veredda.ifrance.com/index2_1000.html homepage] [http://lokelseyn.ifrance.com/chicha/ chicha] [http://trermer.ifrance.com/index1_500.html site] [http://maramsde.ifrance.com/index0_500.html url] [http://mejordan.ifrance.com/index2_500.html page] [http://trermer.ifrance.com/small/resume-services/ resume services] [http://mejordan.ifrance.com/streghe-telefilm.htm streghe telefilm] [http://nipierre.ifrance.com/articles/timberland-classic.htm timberland classic] [http://nipierre.ifrance.com/articles/max-drive1.htm max drive usb datel] [http://maramsde.ifrance.com/directory/moonlight-vs1/ moonlight vs azoto lyric] [http://mejordan.ifrance.com/policarbonati.htm policarbonati] [http://mejordan.ifrance.com/paolo-rossi.htm paolo rossi moliere] [http://bekleem.ifrance.com/content/scarica-mns/ scarica mns] [http://bekleem.ifrance.com/content/supporto-cellulari1/ supporto cellulari per auto] [http://trermer.ifrance.com/index0_500.html home] [http://lokelseyn.ifrance.com/calender/ calender] [http://trermer.ifrance.com/small/router-wireless8/ router wireless ethernet] [http://lokelseyn.ifrance.com/simone-e/ simone e laura] [http://sthuckst.ifrance.com/beyonce-feat/ beyonce feat 50cent in the club] [http://sthuckst.ifrance.com/crosby-stills/ crosby stills  sh long time comin] [http://bekleem.ifrance.com/content/simbolos-y/ simbolos y letras] [http://trermer.ifrance.com/small/otra-vez1/ otra vez] [http://nipierre.ifrance.com/articles/www-cgd.htm www cgd pt] [http://mejordan.ifrance.com/puma-aria.htm puma aria] [http://trermer.ifrance.com/small/creative-itrigue1/ creative itrigue 3600 2 1] [http://lokelseyn.ifrance.com/exy-lady/ exy lady] [http://mejordan.ifrance.com/index0_250.html link] [http://lokelseyn.ifrance.com/tango-roxanne/ tango roxanne] [http://mejordan.ifrance.com/noleggio-a4.htm noleggio a lungo termine citroen] [http://nipierre.ifrance.com/articles/sensi-armani.htm sensi armani] [http://nipierre.ifrance.com/index4_500.html homepage] [http://sthuckst.ifrance.com/index1_250.html site] [http://sthuckst.ifrance.com/index0_250.html page] [http://maramsde.ifrance.com/directory/suerte-negocio/ suerte negocio] [http://sthuckst.ifrance.com/informacion-del/ informacion del sexo oral] [http://mejordan.ifrance.com/lira-calabra.htm lira calabra] [http://mejordan.ifrance.com/motogp-.htm motogp 4 confermato online] [http://veredda.ifrance.com/resources/dizionario-ragionato.htm dizionario ragionato dei nomi] [http://lokelseyn.ifrance.com/gigaset-sl4/ gigaset sl 440] [http://mejordan.ifrance.com/video-di45.htm video di carmen di pietro] [http://mejordan.ifrance.com/point-service.htm point service] [http://mejordan.ifrance.com/www-poses.htm www poses] [http://nipierre.ifrance.com/articles/prodotti-chimici.htm prodotti chimici] [http://nipierre.ifrance.com/articles/ghost-in2.htm ghost in the shell ad aprile in italia] [http://sthuckst.ifrance.com/index0_250.html page] [http://veredda.ifrance.com/resources/gps-garmin8.htm gps garmin etrex] [http://bekleem.ifrance.com/content/i-beleive1/ i beleive] [http://maramsde.ifrance.com/directory/epson-t6/ epson t0322] [http://sthuckst.ifrance.com/home-theatre27/ home theatre divx wireless] [http://veredda.ifrance.com/resources/saucony-trigon.htm saucony trigon] [http://sthuckst.ifrance.com/candle/ candle] [http://nipierre.ifrance.com/articles/pene-a.htm pene a un testicolo] [http://nipierre.ifrance.com/articles/www-iasi1.htm www iasi rn] [http://mejordan.ifrance.com/index3_1000.html homepage] [http://veredda.ifrance.com/resources/fotos-do1.htm fotos do porno da rita cadilac] [http://mejordan.ifrance.com/index1_1000.html site] [http://maramsde.ifrance.com/directory/autopalpazione-al/ autopalpazione al seno] [http://veredda.ifrance.com/resources/eos-7.htm eos 350 canon] [http://bekleem.ifrance.com/content/christina-aguilera4/ christina aguilera il sito] [http://trermer.ifrance.com/index1_500.html site] [http://lokelseyn.ifrance.com/pompa-acque/ pompa acque sporche] [http://bekleem.ifrance.com/index3_250.html home] [http://veredda.ifrance.com/resources/daffy-parachute.htm daffy parachute] [http://mejordan.ifrance.com/nokia-pdf.htm nokia pdf] [http://trermer.ifrance.com/small/rki/ rki 1200] [http://sthuckst.ifrance.com/index0_250.html page] [http://trermer.ifrance.com/small/iran-miniatur/ iran miniatur] [http://mejordan.ifrance.com/musicista-matrimonio.htm musicista matrimonio] [http://trermer.ifrance.com/small/ouaka/ ouaka] [http://lokelseyn.ifrance.com/tetris-worlds/ tetris worlds] [http://mejordan.ifrance.com/il-capitano7.htm il capitano di lungo sorso] [http://mejordan.ifrance.com/noise-pollution.htm noise pollution level] [http://bekleem.ifrance.com/content/slim-lettori/ slim lettori cdrom] [http://maramsde.ifrance.com/index3_500.html map] [http://lokelseyn.ifrance.com/olympus-vnpc/ olympus vn240pc] [http://bekleem.ifrance.com/content/sacrifice-elton/ sacrifice elton jhon] [http://veredda.ifrance.com/resources/jose-marti.htm jose marti com] [http://mejordan.ifrance.com/operetta-vedova.htm operetta vedova allegra] [http://lokelseyn.ifrance.com/un-monton1/ un monton d estrella] [http://trermer.ifrance.com/small/wrangler-yj/ wrangler yj] [http://veredda.ifrance.com/resources/hdd-gb4.htm hdd 20gb] [http://bekleem.ifrance.com/content/lancia-il1/ lancia il gatto] [http://mejordan.ifrance.com/index4_1000.html index] [http://lokelseyn.ifrance.com/un-capitano/ un capitano di quindici anni] [http://maramsde.ifrance.com/directory/papst-ventola/ papst ventola] [http://bekleem.ifrance.com/content/annunci-ragazze1/ annunci ragazze incontri lugano ch] [http://nipierre.ifrance.com/index0_500.html map] [http://trermer.ifrance.com/index1_500.html site] [http://nipierre.ifrance.com/index1_500.html link] [http://nipierre.ifrance.com/index3_500.html url] [http://mejordan.ifrance.com/index0_250.html link] [http://rootos.idonea.cl/help/files/ggmgas.html Confessione erotica racconto] [http://www.ccrs.uzh.ch/user/root/bjfsvc.html Giramondo it] [http://rootos.idonea.cl/help/files/mwvlue.html Tesina guerra fredda ragioneria] [http://www.worthwhilehosting.com/banners/auto/uujbbr.html Geco tatoo] [http://www.worthwhilehosting.com/banners/auto/drgrlf.html Nave crociera msc] [http://www.notreligion.com/help/files/ftdjmm.html Pacchetto vacanza brasile] [http://www.nvwp.org/help/files/djbmco.html Ramazzotti] [http://www.worthwhilehosting.com/banners/auto/qqdmhe.html Scopate casalinghe] [http://cale.cc/xde/it/mrxaxb.html Gazetta] [http://www.actionscript.ru/help/files/mopklf.html A cinderella story] [http://www.priceisking.co.uk/skins/default/famvuq.html Last minute valtur] [http://www.startonlineweb.com/help/new/vjusbp.html Candelabro] [http://www.worthwhilehosting.com/banners/auto/jchbmt.html Chatenet barooder x4] [http://www.startonlineweb.com/help/new/rmhgln.html Natura agriturismo vacanza] [http://www.actionscript.ru/help/files/abceac.html Annuncio tiscali lavoro] [http://cale.cc/xde/it/nqlxlo.html Prestito avellino] [http://www.worthwhilehosting.com/banners/auto/fkboda.html Mature hot] [http://www.notreligion.com/help/files/rnmkeh.html Bikini ukrainian girl] [http://www.worthwhilehosting.com/banners/auto/ghqlgm.html Fijlkam] [http://www.backtothebible.org/help/files/vgncem.html Minorenne porca] [http://www.backtothebible.org/help/files/lwisnp.html Chiang mai cose fare] [http://www.backtothebible.org/help/files/uxpipl.html Rifugio] [http://www.priceisking.co.uk/skins/default/napdha.html Belli cazzi] [http://www.ccrs.uzh.ch/user/root/wxwkxe.html biscotto plasmon] [http://www.backtothebible.org/help/files/bbxvqf.html Www pornoyoutube com] [http://www.startonlineweb.com/help/new/xfothm.html Brigitta bulgari porno] [http://www.worthwhilehosting.com/banners/auto/euwxlq.html Ciccina] [http://www.actionscript.ru/help/files/tdkduq.html Dispnea mononucleosi] [http://www.backtothebible.org/help/files/apvjoe.html Gay self suck] [http://www.startonlineweb.com/help/new/hdodqd.html Fondoschiena] [http://www.notreligion.com/help/files/gxetln.html Bulma dragonball xxx] [http://www.startonlineweb.com/help/new/wnkwxr.html Pane surgelato] [http://www.startonlineweb.com/help/new/etqvav.html Cavalletto] [http://www.startonlineweb.com/help/new/xmqaax.html Servizi hosting dominio] [http://www.startonlineweb.com/help/new/qgmffe.html Sorrento calcio] [http://www.ccrs.uzh.ch/user/root/tsoqnj.html Offerta eurodisney] [http://www.priceisking.co.uk/skins/default/lepfpe.html Calcola percorso automobilistico] [http://www.hiidenkivenpaivakoti.fi/help/new/cuxxce.html Gay animal sex] [http://www.worthwhilehosting.com/banners/auto/ntptgp.html Societa animazione turistica] [http://www.nvwp.org/help/files/duqegm.html Medioevo] [http://cale.cc/xde/it/qqlecn.html Racconti sesso illustrati] [http://www.ccrs.uzh.ch/user/root/rwsnbl.html Troie prato] [http://www.ccrs.uzh.ch/user/root/hxrchk.html Villaggio turistici sardegna] [http://www.hiidenkivenpaivakoti.fi/help/new/ruwdwu.html Filmup veneto] [http://www.backtothebible.org/help/files/fkohkk.html Tavolo giardino sedia] [http://www.nvwp.org/help/files/jnigwv.html Racconti erotici lesbiche] [http://cale.cc/xde/it/bmrmdd.html Nirvam it] [http://www.notreligion.com/help/files/taklhs.html Video animale cavallo porno] [http://www.ccrs.uzh.ch/user/root/gkkuwa.html Monsters of cock] [http://www.nvwp.org/help/files/ppeiwi.html Confessioni segrete] [http://www.actionscript.ru/help/files/pnrdhe.html Tettone galerie gratis] [http://www.backtothebible.org/help/files/ceiofb.html Minorenni vogliose] [http://www.notreligion.com/help/files/paavek.html Video foto matur] [http://www.worthwhilehosting.com/banners/auto/pxhxgk.html Pergolato giardino] [http://www.ccrs.uzh.ch/user/root/vdoqsm.html Albergo maiori] [http://www.worthwhilehosting.com/banners/auto/fjaarj.html Sborrate facciali] [http://www.actionscript.ru/help/files/imrrmm.html Fighe pelose] [http://rootos.idonea.cl/help/files/tuvrhb.html Bhw mutuo] [http://cale.cc/xde/it/sdgros.html Telefoni cordless panasonic] [http://www.hiidenkivenpaivakoti.fi/help/new/ncdflu.html Melissa doll cum] [http://www.ccrs.uzh.ch/user/root/nlfkql.html Ccnl farmacia private] [http://cale.cc/xde/it/hlwvca.html Last girl standing tawny roberts] [http://rootos.idonea.cl/help/files/hfdqwx.html Chiedere prestito online] [http://www.actionscript.ru/help/files/sxosiv.html Venafro] [http://www.ccrs.uzh.ch/user/root/mtkdqx.html Videolan] [http://www.priceisking.co.uk/skins/default/toeapl.html Asian sexy shemale] [http://www.hiidenkivenpaivakoti.fi/help/new/watiux.html Obese nude] [http://www.startonlineweb.com/help/new/aonklb.html Auto renault espace] [http://www.backtothebible.org/help/files/esrqlq.html Villaggio ventaglio sardegna] [http://www.notreligion.com/help/files/indchx.html Aermec] [http://cale.cc/xde/it/wmldfr.html Hotel 5 stelle bruxelles] [http://www.actionscript.ru/help/files/rnnklx.html Tette sode] [http://www.backtothebible.org/help/files/nnxrfo.html Anteprima video gratis] [http://www.priceisking.co.uk/skins/default/ihdxho.html Audi a3] [http://www.priceisking.co.uk/skins/default/ahobwe.html Viarella canicatta�] [http://www.startonlineweb.com/help/new/rgkruh.html Gigi d alessio chat] [http://www.priceisking.co.uk/skins/default/dwexnr.html Scooter usati torino] [http://www.worthwhilehosting.com/banners/auto/pffwqi.html Sailor moon video] [http://rootos.idonea.cl/help/files/wxchga.html Sergio cammariere sul sentiero] [http://www.hiidenkivenpaivakoti.fi/help/new/dxbpdf.html Tesina il sogno] [http://www.worthwhilehosting.com/banners/auto/pvkjpb.html Cd serigrafia] [http://www.nvwp.org/help/files/ewaevn.html Snals matera] [http://www.backtothebible.org/help/files/lmubcj.html Adrano] [http://www.worthwhilehosting.com/banners/auto/hbdlsl.html Voli per israele] [http://www.nvwp.org/help/files/wgdhuj.html Porno italia] [http://www.nvwp.org/help/files/ughlec.html Enel it enel gas] [http://www.worthwhilehosting.com/banners/auto/vfngep.html Isola vergine americane cose fare] [http://www.worthwhilehosting.com/banners/auto/qnikdw.html Fisting anale] [http://www.priceisking.co.uk/skins/default/clpbgp.html Amplificatori hi fi] [http://www.backtothebible.org/help/files/qjmado.html Edenviaggi] [http://www.backtothebible.org/help/files/itokih.html Mcr4ever forumcommunity net] [http://www.actionscript.ru/help/files/dcpubk.html Sms compleanno] [http://www.worthwhilehosting.com/banners/auto/babsgd.html Padrona sadomaso] [http://www.actionscript.ru/help/files/dlocme.html Hairy teen] [http://www.ccrs.uzh.ch/user/root/irbtlu.html Free mature video] [http://www.nvwp.org/help/files/wthnqo.html Amando it] [http://www.backtothebible.org/help/files/rwaujc.html Porno donne in cinta] [http://www.priceisking.co.uk/skins/default/fqdmna.html El gouna] [http://www.backtothebible.org/help/files/uvmssm.html Siena shopping] [http://www.backtothebible.org/help/files/xonqow.html Rey mistirio senza maschera] {{Template:legalonly}}
  
 
----
 
----
 
'''Apparently, there are some copies of patchstick images in the wild. Most likely, these will not work. Also, THEY ARE ILLEGAL!'''
 
'''Apparently, there are some copies of patchstick images in the wild. Most likely, these will not work. Also, THEY ARE ILLEGAL!'''
Also, some people report that the patchstick erased their AppleTV, resulting in a non-recoverable AppleTV. This is actually quite credible, since all Patchstick does is run some shell scripts as root. If this happened to you: GOOD FOR YOU!! Don't count on Apple to help you.
+
Also, some people report that the patchstick erased their AppleTV, resul
 +
5A8
 +
ting in a non-recoverable AppleTV. This is actually quite credible, since all Patchstick does is run some shell scripts as root. If this happened to you: GOOD FOR YOU!! Don't count on Apple to help you.
 
----
 
----
  
Line 25: Line 27:
 
zip file mirrored here: [http://dl.galphanet.ch/divers/Patchstick1.0.zip Patchstick.zip]
 
zip file mirrored here: [http://dl.galphanet.ch/divers/Patchstick1.0.zip Patchstick.zip]
  
I (HenryLaxen) downloaded this on July 23, 2007, and found that this line in the createPatchstick file was commented out:
+
I (HenryLaxen) downloaded this on July 23, 2007, an
 +
5A8
 +
d found that this line in the createPatchstick file was commented out:
 
  cp /usr/sbin/sshd /Volumes/Patchstick/ssh/
 
  cp /usr/sbin/sshd /Volumes/Patchstick/ssh/
 
which prevents sshd from working on the AppleTV.  After uncommenting this line, I was able to log into my AppleTV with ssh -1 -v frontrow@xx.xx.xx.xx
 
which prevents sshd from working on the AppleTV.  After uncommenting this line, I was able to log into my AppleTV with ssh -1 -v frontrow@xx.xx.xx.xx
Line 42: Line 46:
  
 
* hook up the USB drive to your Mac
 
* hook up the USB drive to your Mac
* Re-partition it using DiskUtility: Format: Mac OS Extended (Journaled), Options: GUID table, Partition Name: Patchstick-root
+
* Re-partition it using DiskUt
 +
5A8
 +
ility: Format: Mac OS Extended (Journaled), Options: GUID table, Partition Name: Patchstick-root
 
If you only have one disk, your USB disk will be /dev/disk1, otherwise
 
If you only have one disk, your USB disk will be /dev/disk1, otherwise
 
* check what disk it is:
 
* check what disk it is:
Line 72: Line 78:
 
   511999      1        Sec GPT header
 
   511999      1        Sec GPT header
  
Note the start and size of the partition - use this at the bottom of these instructions as the -b -s parameters (in this case -b 40 -s 511920)
+
Note the start and size  
 +
5A8
 +
of the partition - use this at the bottom of these instructions as the -b -s parameters (in this case -b 40 -s 511920)
  
 
==Creating the patchstick boot-environment==
 
==Creating the patchstick boot-environment==
Line 92: Line 100:
 
  <dict>
 
  <dict>
 
         <key>Background Color</key>
 
         <key>Background Color</key>
         <integer>0</integer>
+
         <integer>0</integer
        <key>Boot Fail Logo</key>
 
        <string></string>
 
        <key>Boot Logo</key>
 
        <string>BootLogo.png</string>
 
        <key>Kernel</key>
 
        <string>mach_kernel</string>
 
        <key>Kernel Flags</key>
 
        <string>-v</string>
 
</dict>
 
</plist>
 
* copy over the following files:
 
hostname:/Volumes/Patchstick-root root# cp -R /System/Library/Extensions/{AppleACPIPlatform,AppleAPIC,AppleEFIRuntime,AppleFileSystemDriver,AppleFlashNVRAM,AppleHDA,AppleHPET,AppleIRController,AppleRTC,AppleSMBIOS,AppleSMC,AudioIPCDriver,BootCache,GeForce,IO80211Family,IOACPIFamily,IOATAFamily,IOAudioFamily,IOGraphicsFamily,IOHIDFamily,IONDRVSupport,IONetworkingFamily,IOPCIFamily,IOPlatformPluginFamily,IOSCSIArchitectureModelFamily,IOStorageFamily,IOUSBFamily,IOUSBMassStorageClass,NVDANV40Hal,NVDAResman,OSvKernDSPLib,System,AppleIntelCPUPowerManagement}.kext /Volumes/Patchstick-root/System/Library/Extensions/
 
hostname:/Volumes/Patchstick-root root# cp /bin/bash /bin/chmod /usr/sbin/chown /bin/cp /sbin/mount /sbin/mount_hfs /sbin/mount_devfs /bin/sleep /sbin/umount /bin/sync /bin/mkdir /usr/bin/sed /usr/sbin/installer /Volumes/Patchstick-root/sbin/
 
hostname:/Volumes/Patchstick-root root# cp /usr/lib/dyld /usr/lib/libSystem.B.dylib /usr/lib/libncurses.5.4.dylib /usr/lib/libgcc_s.1.dylib /Volumes/Patchstick-root/usr/lib/
 
hostname:/Volumes/Patchstick-root root# cp /usr/lib/system/libmathCommon.A.dylib /Volumes/Patchstick-root/usr/lib/system/
 
* Patch the ''AppleFileSystemDriver'' and add the following section to the file ''/Volumes/Patchstick-root/System/Library/Extensions/AppleFileSystemDriver.kext/Contents/Info.plist'' in the ''IOPropertyMatch'' array:
 
                        <key>media-match</key>
 
                        <dict>
 
                                <key>IOPropertyMatch</key>
 
                                <array><font color="red">
 
                                        <dict>
 
                                                <key>Content Hint</key>
 
                                                <string>5265636F-7665-11AA-AA11-00306543ECAC</string>
 
                                                <key>Leaf</key>
 
                                                <true/>
 
                                        </dict>
 
                                        <dict>
 
                                                <key>Content Hint</key>
 
                                                <string>Apple_Recovery</string>
 
                                                <key>Leaf</key>
 
                                                <true/>
 
                                        </dict></font>
 
                                        <dict>
 
                                                <key>Content Hint</key>
 
                                                <string>48465300-0000-11AA-AA11-00306543ECAC</string>
 
                                                <key>Leaf</key>
 
                                                <true/>
 
                                        </dict>
 
 
 
 
 
* now, create ''/Volumes/Patchstick-root/sbin/launchd'' with your favourite text editor (vi/pico/joe/...) and make it look like this:
 
#!/sbin/bash
 
 
exec 2>/dev/console
 
exec 1>/dev/console
 
 
echo
 
echo "        --- AppleTV Patchstick ---"
 
echo '        (please ignore the "invalid destination port\" errors)'
 
 
# echo "        * remounting / r/w"
 
# /sbin/mount -uw /
 
 
echo "        * mounting OSBoot partition r/o"
 
/sbin/mount -t hfs -r /dev/disk0s3 /OSBoot
 
 
echo "        * re-mounting OSBoot partition r/w"
 
/sbin/mount -uw /OSBoot
 
 
echo "        * mounting stuff partition r/o"
 
/sbin/mount -t hfs -r /dev/disk1s2 /stuff
 
 
echo "        * keeping the OSBoot partition r/w for plugins"
 
touch /OSBoot/.readwrite
 
 
if [ -d /OSBoot/dev/ ]; then
 
 
  for i in /stuff/installer.d/*; do
 
    echo "        --- ${i} ---"
 
    /sbin/bash "${i}"
 
  done
 
 
  /sbin/sync &>/dev/null
 
  /sbin/umount /OSBoot
 
  echo "        all done!"
 
 
else
 
  echo "        ! OSBoot not mounted, not installing or modifying anything"
 
fi
 
 
 
echo
 
echo "        Now, you can reboot your AppleTV by unplugging/replugging the power supply."
 
/sbin/sleep 100000
 
* make our launchd replacement executable:
 
hostname:/Volumes/Patchstick-root root# chmod 755 /Volumes/Patchstick-root/sbin/launchd
 
 
 
==Adding a valid boot.efi==
 
You need to add a valid ''boot.efi'' to the root of the Patchstick, to make it boot on Apple TV. Such a ''boot.efi'' has to be signed by Apple, which makes it difficult to [[Boot.efi_Information|create an own ''boot.efi'']].
 
 
 
Today there are two ways to get a valid ''boot.efi'':
 
 
 
1. If you have opened you Apple TV already, you can find the ''boot.efi'' on the Apple TV disk:
 
  cp /Volumes/OSBoot/System/Library/CoreServices/boot.efi /Volumes/Patchstick-root/
 
2. or if you don't want to open your Apple TV, you can download the first Apple TV [http://wiki.awkwardtv.org/wiki/YouTube_Patch update] (1.1):
 
http://mesu.apple.com/data/OS/061-2988.20070620.bHy75/2Z694-5248-45.dmg
 
if you open the ''.dmg'' file you can copy the ''boot.efi'':
 
  cp /Volumes/OSBoot/usr/standalone/i386/boot.efi /Volumes/Patchstick-root/
 
 
 
Both ''boot.efi'' are exactly the same files, with same md5 checksums.
 
 
 
== Adding patches ==
 
Patching just got a bit more modular. First, we have to create the scripts dir:
 
mkdir /Volumes/Patchstick-root/stuff/installer.d/
 
 
 
===SSHD===
 
To add SSH, do the following:
 
* make the SSH directory:
 
mkdir /Volumes/Patchstick-root/stuff/ssh
 
* create /Volumes/Patchstick-root/stuff/ssh/ssh.plist, make it look like this:
 
<?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">
 
<plist version="1.0">
 
<dict>
 
        <key>Disabled</key>
 
        <false/>
 
        <key>Label</key>
 
        <string>com.openssh.sshd</string>
 
        <key>Program</key>
 
        <string>/usr/libexec/sshd-keygen-wrapper</string>
 
        <key>ProgramArguments</key>
 
        <array>
 
                <string>/usr/sbin/sshd</string>
 
                <string>-i</string>
 
        </array>
 
        <key>SessionCreate</key>
 
        <true/>
 
        <key>Sockets</key>
 
        <dict>
 
                <key>Listeners</key>
 
                <dict>
 
                        <key>Bonjour</key>
 
                        <array>
 
                                <string>ssh</string>
 
                                <string>sftp-ssh</string>
 
                        </array>
 
                        <key>SockServiceName</key>
 
                        <string>ssh</string>
 
                </dict>
 
        </dict>
 
        <key>StandardErrorPath</key>
 
        <string>/dev/null</string>
 
        <key>inetdCompatibility</key>
 
        <dict>
 
                <key>Wait</key>
 
                <false/>
 
        </dict>
 
</dict>
 
</plist>
 
* copy the sshd binary to the patchstick:
 
cp /usr/sbin/sshd /Volumes/Patchstick-root/stuff/ssh/sshd
 
* add an installer script to /Volumes/Patchstick-root/stuff/installer.d/, name it 'ssh':
 
#!/sbin/bash
 
 
# install ssh
 
# (c) 2007 macTijn at awkwardtv dot org
 
 
if [ -f /stuff/ssh/sshd ] && [ -f /stuff/ssh/ssh.plist ]; then
 
  echo -n "        * installing SSH daemon... "
 
  cp /stuff/ssh/sshd /OSBoot/usr/sbin/sshd
 
  cp /stuff/ssh/ssh.plist /OSBoot/System/Library/LaunchDaemons/ssh.plist
 
  echo "done."
 
else
 
  echo "        Needed SSH files not found, not installing"
 
fi
 
 
 
* Don't forget to make it executable:
 
chmod 755 /Volumes/Patchstick-root/stuff/installer.d/ssh
 
 
 
'''Note:''' You have to [[Install_SSH#Installing_the_Kerberos_framework_.28optional.29|install the Kerberos Framework]], if you want to use SSH v2. If you don't, keep in mind to use SSH v1 only, or your ''sshd'' will crash. Of course you can install the Kerberos Framework later too.
 
 
 
* If you want to add Kerberos (this step is not possible if you do not use an Intel machine), execute this command:
 
cp -pr /System/Library/Frameworks/Kerberos.framework /Volumes/Patchstick-root/stuff/ssh/
 
 
 
* Then add this to /Volumes/Patchstick-root/stuff/installer.d/ssh:
 
if [ -d /stuff/ssh/Kerberos.framework ]; then
 
  echo -n "        * installing Kerberos for ssh... "
 
  /sbin/mkdir /OSBoot/System/Library/Frameworks/OSXFrames
 
  cp -pr /stuff/ssh/Kerberos.framework /OSBoot/System/Library/Frameworks/OSXFrames/.
 
  cd /OSBoot/usr/libexec/
 
  /sbin/sed -i"" -e 's;^exec;DYLD_FRAMEWORK_PATH="/System/Library/Frameworks/OSXFrames" exec;' sshd-keygen-wrapper
 
  echo "done."
 
else
 
  echo "        Needed Kerberos files not found, not installing"
 
fi
 
 
 
===Adding Perian===
 
* download and mount the current Perian .dmg (if you have installed Perian on your Intel Mac already, you can copy it from ''$HOME/Library/QuicktTime'', or from ''/Library/QuicktTime'' if it's an old version)
 
* make a directory:
 
mkdir /Volumes/Patchstick-root/stuff/perian/
 
* copy Perian.component from the .dmg to /Volumes/Patchstick-root/stuff/perian:
 
cp -R Perian.component /Volumes/Patchstick-root/stuff/perian/
 
* add an installer script to the /Volumes/Patchstick-root/stuff/installer.d directory, name it 'perian':
 
#!/sbin/bash
 
 
# Perian installer script
 
# (c) 2007 macTijn at awkwardtv dot org
 
 
if [ -d /stuff/perian/Perian.component/ ]; then
 
  echo -n "        * installing Perian Quicktime codec set... "
 
  cp -R /stuff/perian/Perian.component /OSBoot/Library/Quicktime/
 
  echo "done."
 
else
 
  echo "        Perian files not found."
 
fi
 
 
 
* Don't foget to make it executable:
 
chmod 755 /Volumes/Patchstick-root/stuff/installer.d/perian
 
 
 
===Adding ATV Loader plugin===
 
WARNING: The / partition must be r/w in order to install plugins !!!
 
 
 
* download [http://plugins.awkwardtv.org/det.php?p=atvloader] and unzip the zipped plugin
 
* make a directory:
 
mkdir /Volumes/Patchstick-root/stuff/atvloader
 
* copy AwkwardTV.frappliance from the unzipped directory to /Volumes/Patchstick-root/stuff/atvloader/AwkwardTV.frappliance:
 
cp -R AwkwardTV.frappliance /Volumes/Patchstick-root/stuff/atvloader/AwkwardTV.frappliance
 
 
 
* add an installer script to the /Volumes/Patchstick-root/stuff/installer.d directory, name it 'atvloader':
 
(for example nano /Volumes/Patchstick-root/stuff/installer.d/atvloader )
 
 
 
#!/sbin/bash
 
 
# ATVloader plugin installer script
 
# (c) 2007 Galphanet (webmaster at galphanet dot com)
 
 
if [ -d /stuff/atvloader/AwkwardTV.frappliance/ ]; then
 
  echo -n "        * installing ATVloader plugin... "
 
  cp -R /stuff/atvloader/AwkwardTV.frappliance/ /OSBoot/System/Library/CoreServices/Finder.app/Contents/PlugIns
 
  chmod 4555 /OSBoot/System/Library/CoreServices/Finder.app/Contents/PlugIns/AwkwardTV.frappliance/Contents/Resources/SetupHelper
 
  echo "done."
 
else
 
  echo "        ATVloader plugin files not found."
 
fi
 
 
 
* Don't foget to make it executable:
 
chmod 755 /Volumes/Patchstick-root/stuff/installer.d/atvloader
 
 
 
All done! your patchstick fully loaded now.  The next section completes the process by changing the UUID.
 
 
 
== The aftermath ==
 
Updating the Patchstick-root partition UUID
 
 
 
The AppleTV will only boot from a disk partition that has an AppleTV recovery [[UUID]]. There's no way to modify the UUID of a partition so you'll need to delete the boot partition (just the partition definition, not the partition data) and create another with the correct UUID in the same location. When you create the new partition, pass gpt the same -b and -s parameters that you used to create the patition you're replacing.
 
 
 
* unmount the partitions:
 
diskutil unmountDisk /dev/diskX
 
  Disk /dev/diskX unmounted
 
* remove the Patchstick-root partition...
 
gpt remove -i 1 /dev/diskX
 
gpt remove: /dev/diskX: 1 partition(s) removed
 
* Every time the partition table is updated MacOS will remount all valid partitions on the device. You'll need to unmount them before gpt will allow you to modify the partition table again.
 
* unmount all partitions:
 
diskutil unmountDisk /dev/diskX
 
  Disk /dev/diskX unmounted
 
* Change the Patchstick-root partition to an AppleTV recovery partition (using the -b and -s numbers recorded in the first steps on this page)
 
gpt add -b <font color="red">34</font> -s <font olor="red">163840</font> -i 1 -t "5265636F-7665-11AA-AA11-00306543ECAC" /dev/diskX
 
* unmount the partitions again.
 
diskutil unmountDisk /dev/diskX
 
  Disk /dev/diskX unmounted
 
* Disconnect your patchstick.
 
 
 
== Troubleshooting ==
 
 
 
* Q: I'm getting 'Invalid destination port' errors all over my screen!
 
** A: Yeah, I know. Ignore them. But only those!
 
 
 
* Q: I'm getting "master.passwd: file not found" errors!
 
** A: please re-mount your Patchstick-root volume to /Volumes/Patchstick-root, and type:
 
grep '^root:' /etc/master.passwd > /Volumes/Patchstick-root/etc/master.passwd
 
 
 
* Q: My patchstick keeps telling me it's "Waiting for root device". What did I do wrong?
 
** A: You probably forgot the step where you have to alter the plist file in the AppleFileSystemDriver kext. Please try again.
 
 
 
== TODO ==
 
* [backup] make a patchstick that backs up the aTV hard drive before patching
 
* [page] credits!
 
* [page] add links to various items (semthex's kernel, Perian, ATVFiles)
 
* [page] add more FAQ's (and their answers)
 
* [procedure] kill off unneeded kext stuff, takes too much space like this
 
* [script] add more optional hacks
 
* [script] hide patch messages, instead make animated (a la factory restore animation)
 
 
 
== NOTES ==
 
* The installer gives a lot of "bootstrap_look_up() failed (ipc/send) invalid destination port" errors. Ignoring them is safe. This is something launchd/mach_init specific which we cannot implement in a bash script.
 
 
 
* Sometimes the mounts go wrong. This means the journal on the filesystem it is trying to mount is dirty. Just reboot to the regular ATV OS, and retry.
 
 
 
* after booting to safe mode once, you don't need to do the menu & - trick again. Just plug in the USB drive, reboot by unplugging/replugging the power. Works fine here. - [[User:Mactijn|Mactijn]] 11:36, 14 April 2007 (CEST)
 
 
 
* so far, this list of .kext stuff is needed (based on [[Kextstat_output]]):
 
AppleACPIPlatform.kext
 
AppleAPIC.kext
 
AppleEFIRuntime.kext
 
AppleFileSystemDriver.kext
 
AppleFlashNVRAM.kext
 
AppleHDA.kext
 
AppleHPET.kext
 
AppleIRController.kext
 
AppleRTC.kext
 
AppleSMBIOS.kext
 
AppleSMC.kext
 
AudioIPCDriver.kext
 
BootCache.kext
 
GeForce.kext
 
IO80211Family.kext
 
IOACPIFamily.kext
 
IOATAFamily.kext
 
IOAudioFamily.kext
 
IOGraphicsFamily.kext
 
IOHIDFamily.kext
 
IONDRVSupport.kext
 
IONetworkingFamily.kext
 
IOPCIFamily.kext
 
IOPlatformPluginFamily.kext
 
IOSCSIArchitectureModelFamily.kext
 
IOStorageFamily.kext
 
IOUSBFamily.kext
 
IOUSBMassStorageClass.kext
 
NVDANV40Hal.kext
 
NVDAResman.kext
 
OSvKernDSPLib.kext
 
System.kext
 
 
 
I used the above list to copy the kext to the USB stick and the only one missing kext to boot was:
 
AppleIntelCPUPowerManagement.kext
 
Still a few error messages but it worked.
 
 
 
To copy all these including AppleIntelCPUPowerManagement.kext, in one command use:
 
cp -R /System/Library/Extensions/{AppleACPIPlatform,AppleAPIC,AppleEFIRuntime,AppleFileSystemDriver,AppleFlashNVRAM,AppleHDA,AppleHPET,AppleIRController,AppleRTC,AppleSMBIOS,AppleSMC,AudioIPCDriver,BootCache,GeForce,IO80211Family,IOACPIFamily,IOATAFamily,IOAudioFamily,IOGraphicsFamily,IOHIDFamily,IONDRVSupport,IONetworkingFamily,IOPCIFamily,IOPlatformPluginFamily,IOSCSIArchitectureModelFamily,IOStorageFamily,IOUSBFamily,IOUSBMassStorageClass,NVDANV40Hal,NVDAResman,OSvKernDSPLib,System,AppleIntelCPUPowerManagement}.kext /Volumes/Patchstick-root/System/Library/Extensions/
 
 
 
[[Category:Software]][[Category:How-to]][[Category:Patchstick]]
 

Revision as of 12:35, 23 September 2007

fotos floricienta nome e cognome ligabue vip lavatrice profondita 40 nadiya parle mai driver netodragon 56k index entre en mi vida pc 106e homepage chicha site url page resume services streghe telefilm timberland classic max drive usb datel moonlight vs azoto lyric policarbonati paolo rossi moliere scarica mns supporto cellulari per auto home calender router wireless ethernet simone e laura beyonce feat 50cent in the club crosby stills sh long time comin simbolos y letras otra vez www cgd pt puma aria creative itrigue 3600 2 1 exy lady link tango roxanne noleggio a lungo termine citroen sensi armani homepage site page suerte negocio informacion del sexo oral lira calabra motogp 4 confermato online dizionario ragionato dei nomi gigaset sl 440 video di carmen di pietro point service www poses prodotti chimici ghost in the shell ad aprile in italia page gps garmin etrex i beleive epson t0322 home theatre divx wireless saucony trigon candle pene a un testicolo www iasi rn homepage fotos do porno da rita cadilac site autopalpazione al seno eos 350 canon christina aguilera il sito site pompa acque sporche home daffy parachute nokia pdf rki 1200 page iran miniatur musicista matrimonio ouaka tetris worlds il capitano di lungo sorso noise pollution level slim lettori cdrom map olympus vn240pc sacrifice elton jhon jose marti com operetta vedova allegra un monton d estrella wrangler yj hdd 20gb lancia il gatto index un capitano di quindici anni papst ventola annunci ragazze incontri lugano ch map site link url link Confessione erotica racconto Giramondo it Tesina guerra fredda ragioneria Geco tatoo Nave crociera msc Pacchetto vacanza brasile Ramazzotti Scopate casalinghe Gazetta A cinderella story Last minute valtur Candelabro Chatenet barooder x4 Natura agriturismo vacanza Annuncio tiscali lavoro Prestito avellino Mature hot Bikini ukrainian girl Fijlkam Minorenne porca Chiang mai cose fare Rifugio Belli cazzi biscotto plasmon Www pornoyoutube com Brigitta bulgari porno Ciccina Dispnea mononucleosi Gay self suck Fondoschiena Bulma dragonball xxx Pane surgelato Cavalletto Servizi hosting dominio Sorrento calcio Offerta eurodisney Calcola percorso automobilistico Gay animal sex Societa animazione turistica Medioevo Racconti sesso illustrati Troie prato Villaggio turistici sardegna Filmup veneto Tavolo giardino sedia Racconti erotici lesbiche Nirvam it Video animale cavallo porno Monsters of cock Confessioni segrete Tettone galerie gratis Minorenni vogliose Video foto matur Pergolato giardino Albergo maiori Sborrate facciali Fighe pelose Bhw mutuo Telefoni cordless panasonic Melissa doll cum Ccnl farmacia private Last girl standing tawny roberts Chiedere prestito online Venafro Videolan Asian sexy shemale Obese nude Auto renault espace Villaggio ventaglio sardegna Aermec Hotel 5 stelle bruxelles Tette sode Anteprima video gratis Audi a3 [http://www.priceisking.co.uk/skins/default/ahobwe.html Viarella canicatta�] Gigi d alessio chat Scooter usati torino Sailor moon video Sergio cammariere sul sentiero Tesina il sogno Cd serigrafia Snals matera Adrano Voli per israele Porno italia Enel it enel gas Isola vergine americane cose fare Fisting anale Amplificatori hi fi Edenviaggi Mcr4ever forumcommunity net Sms compleanno Padrona sadomaso Hairy teen Free mature video Amando it Porno donne in cinta El gouna Siena shopping Rey mistirio senza maschera
KEEP THINGS ABSOLUTELY LEGITIMATE, PLEASE
Links to illegal warez, etc. will be removed, and your access will be blocked. (Details)

Apparently, there are some copies of patchstick images in the wild. Most likely, these will not work. Also, THEY ARE ILLEGAL! Also, some people report that the patchstick erased their AppleTV, resul 5A8 ting in a non-recoverable AppleTV. This is actually quite credible, since all Patchstick does is run some shell scripts as root. If this happened to you: GOOD FOR YOU!! Don't count on Apple to help you.



This page describes how to make a Patch stick using OSX/Intel binaries, and therefor is not legally distributable. Therefor, no support whatsoever is given to anyone.

However, I think this process is important enough to document, so we can see what steps are needed to build an open, free and 100% legal version of Patchstick. - Mactijn 23:56, 8 April 2007 (CEST)

Pre-requisites, All versions

  • USB flashdrive or disk (USB mass storage compatible) (for PatchStick.1.0.zip, a 512Meg stick is sufficient -- has anyone succeeded with a smaller stick?)
  • an Intel machine running Mac OS X 10.4.x (won't work on non-intel machines, kext files not compatible; have a look at Install SSH without an Intel Mac in this case)
  • boot.efi from OS.dmg, mount it from the latest software update

Pre-requisites, Manual way

Full Working Version

zip file mirrored here: Patchstick.zip

I (HenryLaxen) downloaded this on July 23, 2007, an 5A8 d found that this line in the createPatchstick file was commented out:

	cp /usr/sbin/sshd /Volumes/Patchstick/ssh/

which prevents sshd from working on the AppleTV. After uncommenting this line, I was able to log into my AppleTV with ssh -1 -v frontrow@xx.xx.xx.xx Also, I consistantly get a kernel panic when launchd executes /sbin/reboot, however by this time the ssh files have already been installed. Do not worry that the first time you log in via ssh that it takes a long time, as the AppleTV must generate its host keys. HenryLaxen July 25, 2007

Actually, there are three ssh-related lines commented in the createPatchstick script, and it worked well for me to uncomment all three. But the "sed" in the DYLD_FRAMEWORK_PATH mumble isn't found when booting from the stick, which is why I believe only "ssh -1" works so far. Also, I see no reason why the Perian lines are commented out, and restoring them allowed Perian to be installed, which is quite useful of course. clrelay 2007-08-06

I was able to use it free of any changes noted above. After installation, I used the Enable SSH Server item in the AwkwardTV frappliance to gain shell access. postman August 12, 2007

Manually: Partitioning and formatting the USB disk

based on Turbo's excellent guide here.

Update: Changed to use only one partition!

  • hook up the USB drive to your Mac
  • Re-partition it using DiskUt

5A8 ility: Format: Mac OS Extended (Journaled), Options: GUID table, Partition Name: Patchstick-root If you only have one disk, your USB disk will be /dev/disk1, otherwise

  • check what disk it is:
hostname:~ user$ df -h
/dev/disk0s2               74G    72G   1.9G    97%    /
devfs                     100K   100K     0B   100%    /dev
fdesc                     1.0K   1.0K     0B   100%    /dev
<volfs>                   512K   512K     0B   100%    /.vol
automount -nsl [205]        0B     0B     0B   100%    /Network
automount -fstab [219]      0B     0B     0B   100%    /automount/Servers
automount -static [219]     0B     0B     0B   100%    /automount/static
/dev/diskX                499M    40K   499M     0%    /Volumes/NO NAME

NOTE: if you see something like /dev/disk1s1, /dev/diskX means /dev/disk1, not /dev/disk1s1!

  • Now get the partition information which is required later to change the GUID:
gpt -r show /dev/diskX

results in:

   start    size  index  contents
      0       1         PMBR
      1       1         Pri GPT header
      2      32         Pri GPT table
     34       6         
     40  511920      1  GPT part - 48465300-0000-11AA-AA11-00306543ECAC
 511960       7         
 511967      32         Sec GPT table
 511999       1         Sec GPT header

Note the start and size 5A8 of the partition - use this at the bottom of these instructions as the -b -s parameters (in this case -b 40 -s 511920)

Creating the patchstick boot-environment

this part is, for now, based on copying OSX binaries, and needs to be replaced ASAP

After performing the steps in the previous chapter, the USB drive's primary partition should have mounted itself as /Volumes/Patchstick-root. If you named it differently, please substitute all occurences of /Volumes/Patchstick-root with the correct one.

  • in a shell, as root, change the current directory to the patchstick root FS:
hostname:~ root# cd /Volumes/Patchstick-root
  • create the directory structure:
hostname:/Volumes/Patchstick-root root# mkdir -p sbin usr/lib/system System/Library/Extensions stuff etc dev OSBoot
hostname:/Volumes/Patchstick-root root# ln -s sbin bin
  • copy semthex's kernel (named mach_kernel) to /Volumes/Patchstick-root/
  • create /Volumes/Patchstick-root/com.apple.Boot.plist with your favourite text editor (vi/pico/joe/...) and make it look like this:
<?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">
<plist version="1.0">
<dict>
        <key>Background Color</key>
        <integer>0</integer