- 1 Making the patchstick easier to update
- 2 Boot Progress Indicator
- 3 Thanks, worked great but needed a larger root partition on the stick
- 4 Patchstick hangs during boot
- 5 No problems whatsoever
- 6 Worked but one small issue
- 7 Illegitimate Patchstick Warnings
- 8 reason of reverting last change
- 9 why am I a moron? seriously?
- 10 Patchstick does not work with Apple TV 1.1
- 11 AppleTV OS 1.1 ?
- 12 BootUp Menu?
- 13 patchstick-1.0.zip does not install SSH
- 14 Creating Patchstick on ppc Mac or Windows
- 15 Suggestion: Make backup image before making any changes.
- 16 Disk size
Making the patchstick easier to update
To make it easier to update, how about creating a small base partition (with the scripts, launchd, kexts, boot.efi and kernel), and have a second partition with any additional software to copy over to the aTV's internal disk.
June 30 2007: Another Idea would be to create a fully working patchstick image file. Then zero out the boot.efi that is contained within the image, by Using dd (locating it's offset within the image file and running the command: dd if=/dev/zero of=patchstick.img skip=<offset> bs=<filesize> count=1). The result should be a fully working patchstick without the part that makes it illegal.
People then could use their own boot.efi by writing it back to the patchstick.img ( dd if=boot.efi of=patchstick.img sikp=<offest> bs=<filesize> count=1 ) or a small program could be made to inject their boot.efi in.
- This could solve a lot of issues for non mac users.
- great idea, whoever suggested this :) I'll get on it right away! - Mactijn 11:53, 9 April 2007 (CEST)
- is this what you meant ? :) - Mactijn 15:39, 9 April 2007 (CEST)
- Exactly what I was thinking :) That makes things far easier. I won't be able to play any more until next week though :( Good work! - dobedobedoh 16:19, 9 April 2007 (CEST)
Our over-enthousiastic Marook unfortunately reverted this, and now it's back to one partition again. The script is using 2 partitions though... I will re-update the page as soon as I have a bit of time. -- Mactijn 22:41, 2 July 2007 (CEST)
Boot Progress Indicator
OK, the instructions have changed since I did this last weekend, but when I was running through this using my first-gen iPod Shuffle, there was no clear indicator when the process had finished and it was safe to reboot. My Apple TV showed the grey Apple logo and then the spinner progress indicator, but it never went away. I had left it for 15 minutes before I had assumed it failed or just wasn't showing something on my end. Luckily, it worked, but I had no confirmation. So, either I did something wrong or this needs to be fixed so others don't get confused.
- Apparently you didn't use the com.apple.Boot.plist on the wiki page. Also, you added a Bootlogo.png. This is a problem right now, since above is only a concept. We're still working on animated installation, but we need a way to put images on the frame buffer. - Mactijn 11:29, 14 April 2007 (CEST)
Thanks, worked great but needed a larger root partition on the stick
Thanks, i followed the procedure and it worked great. The only deviation: required a larger root partition to copy over all the extensions. I suppose your could be choose about what partitions your copy over, but i was too impatient, and just copied over everything. When copying over sshd/perian it output some errors, but they did not matter. cheers,
- The root partition size is based on copying only the .kext stuff listed on the bottom of the page. -- Mactijn 11:26, 14 April 2007 (CEST)
Patchstick hangs during boot
I have been trying to get this to work on a clean atv box for a couple of days now, and I've run into a problem. The atv is able to boot off the usb disk, but hangs after a certain point. To make matters worse, the text is half off the screen. From what I can see it doesn't appear to get past mounting the root partition Screenshot. Has anyone run into this before, or have any idea what I need to do to get this working?
- You can't seem to read any errors due to overscanning problems. These problems can be dealt with by using another video mode on startup. Change com.apple.Boot.plist and add:
<key>Graphics Mode</key> <string>1024x768x32@60</string>
Fiddle with the resolution a bit until satisfied (width x height x depth @ refresh rate). Untested, so your results may vary.
I have the exactly same problem. I found that the launchd script uses the commands sync and echo which are not copied to sbin in the procedure. This doesn't fix the problem. If the launchd file is missing there is a boot error regarding launchd and sbin/mach_int oorosh
- echo is a built-in in bash, so that shouldn't matter. sync shouldn't be a problem, although I will put it in the procedure. While building patchstick, I had some errors regarding mounting OSBoot as well (unclean journal errors), and what I did was restart my ATV normally, and reboot again with patchstick. I have no previous experience with the fake launchd not starting. please check permissions (chmod 755). -- Mactijn 23:23, 16 April 2007 (CEST)
- This problem was due to using binaries from OSX 10.4.1, when I used binaries from 10.4.9, launchd worked. --Yogibeer 00:30, 17 April 2007 (CEST)
- Great job documenting this process so far. I made a patch stick tonight and it worked once, but now when i boot it, it can not mount the OSBoot partition. The error I get is: 'volume on disk0s3 is read-only and journal is dirty. can not mount volume' I've booted back and fourth from ATV OS back to USB patchstick, but the error will not go away. Any ideas? --LiquidIce
- Mount it read/write (sudo mount -uw /), fsck it (sudo fsck_hfs -f /dev/disk0s3), then reboot cleanly (sudo shutdown -r now).
So I went ahead and followed all the steps laid out here. I plugged the drive into my AppleTV, and did the reboot thing. It restarted, spit out a bunch of text, loaded the kernel, and then spit out more text and froze up. I can't read the last line (text is too fuzzy), but the line before the last is the text output of the /System/Library/Extensions/AppleFileSystemDriver.kext/Contents/Info.plist file (or at least part of it). I can make out <string>IOResources</string><key>IOResourceMatch</key><string>boot-uuid</string><key>media-match</key><dict> then there is a bit more, and then a </dict>. Then it goes to the next line, and has an unreadable text (too small and fuzzy to make out). I have checked, and double checked my info.plist file and it looks ok (compared to what is displayed here, and what is on my machine). After waiting about 3-5 minutes, a new line "waiting for root device" appears. I already have my AppleTV "patched", I just want to put together a thumbdrive easy install for my friends aTV. Thanks for any help here guys - kupan787 (April 20th)
I have the same exact problem - hangs "waiting for root device". Tried unplugging disk and waiting 5 sec - plugging disk back in. I never see the I/O errors. -h3nrch (2007-04-28 20:13 GMT)
No problems whatsoever
This worked beautifully for me, the only thing I could suggest would be to make it disable Watchdog.
ProfessaFresh 17:21, 21 April 2007 (CEST)
Worked but one small issue
At the start of the 'aftermath' section the how-to asks for the patchstick-root partition to be unmounted, (hdiutil unmount diskXs1) but in fact diskXs2 will also need to be unmounted. If any other issues are experienced at this point try unmounting both partitions again and then trying the command which caused the error.
Illegitimate Patchstick Warnings
Its understandable that people working hard to keep this project 100% aboveboard and also stay in good graces with Apple. But these are opportunities to educate and reform the scriptkiddies, not moments to strike out at people who might be less morally upright and congradulate yourself on being both clever and holier-than-thou. Many of these "illegitimate" users are teenagers or pre-teens who will grow up to be outstanding and upright programmers and calling them names now will not reform them or help this project. There is also a legitimate issue in that one cannot (as far as I know) use the software for non-Apple hardware. (as was the case for X86 Tiger install disks) Almost all (perhaps not 100%) users of "pirate" copies of Apple Tv's boot.efi are applying it to Apple hardware and already have a legitimate, purchase of the Apple TV hardware including a copy of the modified, mutant Apple TV boot.efi. There was a similar problem years ago with Apple Boot ROMs and various flavors of Mac 680x0 Linux, and flavors of BSD. At that time Apple had long since abandoned 68k and it seemed outrageous that they would not assist un*x developers- (and in fact slowing MKlinux development and effectively killing A/UX) Right now people seem confident in their ability to work around or find a substitute for boot.efi, but it might not happen, and Apple may stonewall the mod community on this issue forever.
reason of reverting last change
I just reverted an edit by User:Cuvtixo. He removed a remark I put in the wiki, something to do with "morons". This is NOT because I think everyone dealing with these instructions are morons. Really, read again. And also read the AwkwardTV:General_disclaimer while you're at it.
Since Patchstick is my "baby", I tend to take mis/abuse and illegal practices personal. The idea of this page is to get feedback on the method used to construct it, not to actually patch your ATV.
Again, using a patchstick image found on torrent sites is stupid, lazy and most of all, does NOT help the community.
Mactijn 13:39, 6 May 2007 (CEST)
why am I a moron? seriously?
I have the utmost respect for everyone in this site; and I expect to start collaborating soon (I am in the process of installing MythTV frontend in my aTV, and I will share my notes/results here), but...
"If this happened to you: GOOD FOR YOU! Moron. Don't count on Apple to help you."
Ok, now, this is not really fair. I don't have a Mac handy. Macs are ultra-pricey here in Brasil, so none of my friends have a Mac handy. The freely-redistributable patchstick is not yeat available. So, either I wait an undeterminated amount of time, or I open my case (and void my warranty, and I can't count on Apple to help me) or I use one of the floating patchsticks and then I'm a moron. Come on, many bittorrent sites have "comments" sections where people give feedback. I think that a good site with some good comments is a safer option than opening my case. And (I tested it already) the "reset everything" thingy kept working OK.
Sure, I would have preferred to use a all-Free-Software solution, but, for the time being, it's the best that can be done for me. Hell, I'm trying to install Linux as soon as I have enough free time. So, I must ask you humbly, please remove the "moron" comment. It's offensive, it will not prevent anyone from downloading the patchsticks, and it serves no constructive purpose at all. Thanks.
Massa 18:24, 23 May 2007 (CEST)
- Like I said before, I tend to take abuse/misuse of Patchstick a bit personally. Maybe I shouldn't.
The thing is, Patchstick is currently created by (ab)using (some of) OSX's components. On these components Apple has the copyright. Apple uses that copyright to tell us we can't distribute those components legally. Therefor, using Patchstick by means of a pre-made, downloaded image is illegal (actually that depends a bit on the country you are in), since it is distributed over the net.
Next to that, you are encouraging the use of illegally distributed files. That really has to stop. Since Patchstick is an AwkwardTV project, you are giving AwkwardTV and it's community a bad name in the eyes of our Provider (Apple, inc.). Personally, I really want to stay friends with them, so this community will still have something to hack and tweak. Apple made it quite easy for us, let's keep it easy for them.
Oh, and the instructions on this page serve as a guide. The reason I put this online is so I can get feedback over the process of building a Patchstick. Patchstick isn't usable anyway without the boot.efi file, and you can only legally obtain that by opening your AppleTV, and connect it to another machine.
You are not a moron per se. You probably have the technical skills to create and use Patchstick. Hell, you might even be able to add install scripts for it. But that still doesn't give ou the right to break the law. Instead, help us find a 100% legal way to create Patchstick. I have learnt it can be extremely gratifying to do so, even if it takes a while.
Mactijn 22:52, 23 May 2007 (CEST)
Patchstick does not work with Apple TV 1.1
Why did you remove the warning from Patchstick testing instructions? Does it work for you?
AppleTV OS 1.1 ?
Will there be support for AppleTV OS 1.1 soon ? Because I get my AppleTV in maybe 1 ½ month and I really want ATVLoader, SSH, Perian AND YouTube on it then :)
It works with ATV 1.1, if you create a Patchstick following the latest instructions (my Patchstick was older). Using boot.efi from 1.1 Update image works too. (mcka)
- Reply -
Thanks for the reply :) As a second thought question, can I download an image that works with aTV 1.1 ? And I have heard news that says that you can no longer boot from a USB drive in 1.1 if you use Apples update service. And what is the difference between OpenSSH and DropBear? Which is the better one ? OGGe 13:01, 28 June 2007 (CEST +1)
I created a Patchstick using the zip file and applied it to a 100% vanilla ATV 1.1. The boot sequence did not complete -- after going through the loader, ssh, and perian sections, the box rebooted endlessly until I yanked the stick ( running on an iPod shuffle ).
Despite this behavior, the AwkwardTV option showed up on the menu. Unfortunately, all plugin installation attempts result in Error -48, and enabling ssh results in a not-so-useful "an error occurred" message. I read somewhere that this issue was well-known in v1.0.7 and was fixed in 1.0.8 ... As for AFP, it can be enabled in the menu ( and shows up as enabled ) but doesn't actually work -- connecting from an MacBook Pro fails ( server not available or something of the sorts).
Can Bootup menu still be activated with the remote ? --OGGe 13:04, 4 July 2007 (CEST)
patchstick-1.0.zip does not install SSH
If you download and execute the patchstick installer, it does not install sshd.
- Reply - If you want to have sshd activated with the createPatchstick script, just open it in an editor (TextEdit should work) and uncomment (remove the # in front of) line 91 (# cp /usr/sbin/sshd /Volumes/Patchstick/ssh/).
- Re: Reply - I've done this and it works, but it does not install the Kerberos Framework, and it does not patch the sshd-keygen-wrapper file, so using the default SSH2 does not work. I tried to figure out why this does not work, and I found some problems (e.g. the /usr/bin/sed binary used in the ssh installer script is not copied to the patchstick), but I could not make it work.
Another Problem is perian, which is installed to $HOME/Library/QuickTime starting from version 1.0.
Creating Patchstick on ppc Mac or Windows
Extracting .dmg files on Windows works fine (on a ppc mac anyway). By using files from images like the 10.4.9 Combo Update and Apple TV 1.1 Update, isn't it possible to create a Patchstick without the need of an (Intel-)Mac? Are there any files missing in the images from Apple? Could they be extracted from other images or compiled from MacPorts?
The following binaries are missing in the combo update (chmod, sleep and mkdir can be found in the Apple TV update):
But as far as I can tell, sed is not really necessary for the patchstick (only to enable SSH version 2)!
The following .kexts and .dylib are missing too (libncurses.5.4.dylib and AudioIPCDriver.kext can be found in the Apple TV update, but not sure if they are compatible):
/System/Library/Extensions/OSvKernDSPLib.kext /System/Library/Extensions/IOACPIFamily.kext /System/Library/Extensions/AppleFlashNVRAM.kext
Does someone know if they are really necessary, or where to get them from? 10.4.8 combo update does not contain any missing file. Building a patchstick using these files and leave the 3 kexts out, leads to a kernel panic because of ACPI problems ("unable to find driver for this platform: ACPI").
Adding the 3 kexts from an Intel Mac does not solve the problem. But probably I'm doing something wrong... Replacing the kexts with kexts from my Intel Mac solves the kernel panic.
That is not correct, I _did_ something wrong. When using all available files from the combo update, and use the missing files from Intel Mac it works! Perhaps combining with files from ATV Update is not good. (mcka, 2007-08-24)
With files only from Intel-mac: http://www.bilder-hochladen.net/files/3kjn-1-jpg.html
- make sure that launchd is in /sbin and executable? (mcka, 2007-08-24)
and with files from Combo-Update and from OSBoot: http://www.bilder-hochladen.net/files/3rls-1-jpg.html
I used the following scripts to mount/unmount the Patchstick:
diskutil unmountDisk /dev/disk2 gpt remove -i 1 /dev/disk2 diskutil unmountDisk /dev/disk2 gpt add -b 40 -s 503728 -i 1 -t "5265636F-7665-11AA-AA11-00306543ECAC" /dev/disk2 diskutil unmountDisk /dev/disk2
diskutil unmountDisk /dev/disk2 gpt remove -i 1 /dev/disk2 diskutil unmountDisk /dev/disk2 gpt add -b 40 -s 503728 -i 1 -t "48465300-0000-11AA-AA11-00306543ECAC" /dev/disk2
See the manual instructions for creating a Testing Patchstick how to find your values for the marked -b and -s switches
And you have to change /dev/disk2 to your corresponding value.
Here you can find more OS X Combo updates: http://www.apple.com/support/downloads/ with more files (up to 10.4.11)
Suggestion: Make backup image before making any changes.
What about a scripted backup of the partitions on the appletv before any changes are made? Backup could be stored on the usb drive if the free space on the partition was zeroed out first and if the drive was >= 1GB. --Mikemars 03:57, 30 September 2007 (CEST)
Patchstick/Testing says "for PatchStick.1.0.zip, a 512Meg stick is sufficient -- has anyone succeeded with a smaller stick?". And yes, I have - a 128 MB USB stick has sufficent space for installing at least the ATV Loader plug-in and SSH.