Open GoogleCodeExporter opened 9 years ago
Thank you for providing such a verbose explanation of your problem.
It seems like your Apple TV has experienced some corruption. I think that if
your
getting multiple problems booting, you'd best start off fresh with a restore.
There are two ways you can repair your Apple TV:
1. Try holding Menu and - keys for 6 seconds on boot, this will hopefully force
the
recovery menu for you and you should be able to select the restore option. This
might not fix your problem though.
2. Alternatively, make a rebuild USB stick. This is basically a patchstick, but
you
use rebuild.sh instead of patchstick.sh. This script will format your HDD and
restore core files to it, rather than installing software like a patchstick.
Nab that from here:
http://code.google.com/p/atvusb-creator/source/browse/trunk/atvusb-
creator/payloads/rebuild/rebuild.sh
On the payloads partition, create a folder called rebuild, inside put the
following:
OS.dmg - any fw file (3.0.2 would be easiest to obtain --
http://mesu.apple.com/data/OS/061-7495.20100210.TAVfr/2Z694-6013-013.dmg)
boot.efi - nab this from the DMG
com.Apple.Boot.plist - same
mach_kernel.prelink - same
BootLogo.png - same (unless you want to change)
Note: If atvDNSDaemon is not running - it is not possible to resolve
appletv.local,
try the IP address instead.
Good luck and if you have any questions ask,
see http://code.google.com/p/atv-bootloader for more info
:)
Original comment by Sam.Nazarko
on 29 Mar 2010 at 8:31
Sam,
Thanks for the help -its exactly what I needed. I've followed your directions
but before I plug in my rebuild-
stick I wanted to verify I've done everything correctly. I started with a 4 GB
patchstick already created with
atvusb-creator-1.0.b13. The patchstick created with that program has 2
partitions, 1 called "disk2s2" which is
26.10MB. The 2nd partition is called "patchstick" that is 3.63GB. All the
files I copied while following your
instructions were placed in the "patchstick" partition. All files were copied
using Finder. the dmg file was
opened using DiskImageMounter.app
1. Renamed patchstick.sh to patchstick.sh.old - this was so that the
patchstick script would not run when
plugged into the ATV.
2. Copied rebuild.sh to the root of the patchstick partition
3. Created a folder called "rebuild" inside the payloads folder
(Patchstick\payloads\rebuild)
4. Downloaded and opened 2Z694-6013-013.dmg
5. Copied mach_kernel.prelink from the dmg's root (OSBoot) into the created
"rebuild" folder
6. Copied boot.efi, com.Apple.Boot.plist and BootLogo.png from
OSBoot\System\Library\CoreServices inside
2Z694-6013-013.dmg to the "rebuild" folder (boot.efi show's as "locked" in OS
X's Finder)
7. Renamed 2Z694-6013-013.dmg to "OS.dmg" and copied it to rebuild folder.
So now, the "Patchstick" has the following in its root/mountpoint
1. Patchstick.sh.old
2. Rebuild.sh
3. Payloads folder
Inside payloads folder is the following
1. patchstick folder (this contains everything put in it by the ATV-USB-Creator
2. Rebuild folder
Rebuild folder contains
1. boot.efi (this file shows as "locked" by OS X's Finder)
2. BootLogo.png
3. com.Apple.Boot.plist
4. mach_kernel.prelink
5. OS.dmg (renamed from 2Z694-6013-013.dmg)
Questions:
1. I noted that you mentioned a "payloads partition" and wasn't sure if this
meant I needed the payload files
in a separate partition from the rebuild script or that I just needed to rename
the partition from "patchstick" to
"rebuild" The script seems to be looking for "rootfs\payloads\rebuild" How
should I format/partition the
thumbdrive?
2. You mention I need a file called "OS.dmg" I assume that this is just
2Z694-6013-013.dmg renamed to
OS.dmg as I did. Don't know what "fw file" means.
3. Is the fact that boot.efi is locked going to cause me any problems? Finder
shows that the file is read only
4. I've attached the rebuild.sh script for good measure.
Again, many many thanks,
adam
Original comment by akrisc...@gmail.com
on 1 Apr 2010 at 2:22
Attachments:
Well done, you've put the files in the right places. Yes you rename the
firmware
file to OS.dmg, that's it.
Fire it up, tell us how it goes.
Regards payloads partition, I meant the partition in which payloads reside.
Best way to see if it works is trying it :)
Original comment by Sam.Nazarko
on 1 Apr 2010 at 6:53
Alright - seems to have worked in some respects but not in others.
Unfortunately, not in the way that means
my ATV is back up and running. Here's what happened.
Tried rebuild-stick as described above but after rebuild-stick booted it
started looking for patchstick.sh which
it couldn't find (as I had renamed it to patchstick.sh.old).
I assume that the ATV-USB-Creator boots the linux environment and then a batch
file tells it to run the
patchstick script. I looked at creating a bootable patchstick from your
website but it looks like I need to create
it using a linux system which I don't have.
So, instead I renamed "rebuild.sh" to "patchstick.sh" and reinserted the
thumbdrive - the script (rebuild
renamed as patchstick) apparently ran properly with no errors.
Unfortunately the ATV will not boot into recovery mode. I can tell that the
ATV is responding to the Menu+"-"
because the TV shows no connection until I lift my fingers from the remote.
However it just shows the Apple
logo and thats about it.
2 things of note
1. When linux boot environment shows errors when trying to assign USB (IRQs?).
2. The bootlogo isn't displaying properly - like saving an image with
transparency into a format that doesn't
recognize transparency - the logo is not enclosed in a square.
Any thoughts?
adam
Original comment by akrisc...@gmail.com
on 1 Apr 2010 at 2:50
"now" enclosed in a square (not "not" enclosed in a square)
Original comment by akrisc...@gmail.com
on 1 Apr 2010 at 5:23
It is necessary to rename rebuild.sh to patchstick.sh, unless you edit the
bootloader.
As for your errors,that is normal, by "the script ran properly", it rebuilt
everything, wiped the partitions etc? One important thing is that after this
process
takes place the OsBoot is blank, and you have to Factory Restore which takes
the
fresh image from recovery and loads it. This gets all the necessary files
kickstarted again.
Did you try a new bootlogo other than default BootLogo.png?
Original comment by Sam.Nazarko
on 2 Apr 2010 at 12:48
Ran/attempted to run factory restory (menu+"-" for >6 secs) but seems stuck at
Apple logo. Never came up
with the language prompt or the prompt for restart, diagnosis or factory
restore. Let it sit on the apple logo
for about 30 minutes before unplugging, replugging and them attempting factory
restore again - with same
result.
used default bootlogo.png
Good news is that I no longer get the code showing all the DNSDaemon errors,
bad news, only see logo and
nothing else.
is there any additional info I can give to help pinpoint the problem or is
there something I should try next?
Again, many, many thanks
adam
Original comment by akrisc...@gmail.com
on 2 Apr 2010 at 12:54
You could try running telnetd (easiest way is running a patchstick without a
patchstick.sh), aTV then forces the load of telnetd. But you'd be on your own
here,
you can look at the atv-bootloader project for this. There are some gparted
tips.
Original comment by Sam.Nazarko
on 2 Apr 2010 at 2:37
To Sam.Nazarko
Same story with me. I'm stuck with an "inverse Apple logo" (black apple inside
white
square) after running your patchstick. Maybe try with lower version of OS?
Original comment by zin...@gmail.com
on 9 Apr 2010 at 7:22
OS?
Patchstick version?
What payloads did you try to load?
Have you tried forcing a recovery with Menu and - buttons?
Please be as verbose as possible.
Sorry I need more info to help.
Original comment by Sam.Nazarko
on 11 Apr 2010 at 10:48
Sam,
sure:
MacOS 10.6.3
Apple TV with 3.x version. (the last available one)
Patchstick was created with atvusb-creator-1.0.b13.
I installed NitoTV and I tried to connect it over AFP to my NAS. System
informed me
that I should install Smart Installer first. I did it but without success - I
was not
able to mount volume via AFP. Tried to install Smart Installer second time and
then
system hanged out. After reset I went into endless booting loop with blinking
Apple
logo on screen. System resets in the middle of booting procedure. Pressing Menu
–
button leaded to reboot. I was not able to get to menu with language.
I installed patchstick again; it went smoothly thru installation but same staff
after
rebooting.
I built "rebuild" patchstick according to your advise with 2Z694-6013-013.dmg
image.
System managed to boot from it. It installed everything without errors and
formatted
disk.
After reboot I got "inversed" Apple logo on screen and system stopped (in fact
yellow
led is blinking like disk is processing some operations). Forcing recovery with
Menu
and - leads to reboot and once again Apple logo and system stops without
passing to
language menu.
I tried also to use old payload - 1.0 - with a same result.
So no chance to do Factory Reset
Original comment by johan.ko...@gmail.com
on 12 Apr 2010 at 1:13
[deleted comment]
Okay,
Tried rebuilding again? Make sure it's set up right for your drive - the
default
rebuild.sh is for the official Fujitsu brand 40GB disk. It won't work for a
160GB or
custom size. Even other 40GB disks might not work if the size is slightly
different.
Can you confirm HDD size?
Original comment by Sam.Nazarko
on 12 Apr 2010 at 2:49
[deleted comment]
[deleted comment]
[deleted comment]
It is 160GB.....
So what to do now ???
Original comment by johan.ko...@gmail.com
on 12 Apr 2010 at 5:27
That's why the script failed. You used the wrong offsets. Use these:
Number Start End Size File system Name Flags
1 40s 69671s 69632s fat32 primary boot
2 69672s 888823s 819152s hfs+ primary atvrecv
3 888824s 2732015s 1843192s hfs+ primary
4 2732016s 312319663s 309587648s hfs+ primary
.. to change the offsets in rebuild.sh
Original comment by Sam.Nazarko
on 13 Apr 2010 at 7:25
Sorry to intrude on the thread, but I am having the same exact issue. I have a
160GB
drive and have reached the point where the inverted Apple appears and stays
there,
everything else up to then worked perfectly.
Pardon the ignorance as I'm not much of a programmer, exactly what do I need to
change in the script so that the offsets are correct for a 160GB drive? Could
you
give me an example? May be a stupid thing to ask, but thanks in advance!
Original comment by chazbu...@gmail.com
on 14 Apr 2010 at 5:44
Sam,
Do you mean to change below part of the script ?
----------------------------------------------------------
echo " * Wiping paritition table on /dev/sda ..."
dd if=/dev/zero of=/dev/sda bs=4096 count=1M
# create the GPT format
parted -s /dev/sda mklabel gpt
echo " * Creating EFI partition /dev/sda1"
parted -s /dev/sda mkpart primary fat32 40s 69671s
parted -s /dev/sda set 1 boot on
echo " * Creating Recovery partition /dev/sda2"
parted -s /dev/sda mkpart primary HFS 69672s 888823s
parted -s /dev/sda set 2 atvrecv on
echo " * Creating OSBoot partition /dev/sda3"
parted -s /dev/sda mkpart primary HFS 888824s 2732015s
echo " * Creating Media partition /dev/sda4"
parted -s /dev/sda mkpart primary HFS 2732016s ${SECTORS}s
echo " * Creating file systems on all 4 partitions..."
--------------------------------------------------------------------
All lines look the same as numbers you showed, only:
---------------------------------------------------------------------
parted -s /dev/sda mkpart primary HFS 2732016s ${SECTORS}s
---------------------------------------------------------------------
doesn't have 312319663s at the end.
Should be something changed in :
-------------------------------------------------------------
DISKSIZE=`parted -s /dev/sda unit s print | grep Disk | awk '{print $3}' | sed s/s//`
# subtract 262145 from this
let SECTORS=${DISKSIZE}-262145
-----------------------------------------------------------------
?
What and how to change in the script?
Original comment by zin...@gmail.com
on 14 Apr 2010 at 6:49
The end needs to be bigger (312319663) - bigger media partition. I suspect the
end
at the moment is wrong running parted because the drive was formatted for a
40GB
layout (you ran rebuild.sh previously). Give that a whir-round and see how it
rolls
out for you.
Original comment by Sam.Nazarko
on 14 Apr 2010 at 6:57
Hello again-
I changed the script as follows with no luck, still stuck at the boot logo-
done
DISKSIZE=`parted -s /dev/sda unit s print | grep Disk | awk '{print $3}' | sed s/s//`
# subtract 262145 from this
let SECTORS=${DISKSIZE}-262145
if [ "${DISKSIZE}" -gt "${SECTORS}" ]; then
echo " * WARNING: YOUR APPLE TV HARD DISK WILL BE ERASED IN 30
SECONDS. TO ABORT, UNPLUG THE POWER CABLE AND THEN REMOVE THE USB STICK."
sleep 30
echo " * Wiping paritition table on /dev/sda ..."
dd if=/dev/zero of=/dev/sda bs=4096 count=1M
# create the GPT format
parted -s /dev/sda mklabel gpt
echo " * Creating EFI partition /dev/sda1"
parted -s /dev/sda mkpart primary fat32 40s 69671s
parted -s /dev/sda set 1 boot on
echo " * Creating Recovery partition /dev/sda2"
parted -s /dev/sda mkpart primary HFS 69672s 888823s
parted -s /dev/sda set 2 atvrecv on
echo " * Creating OSBoot partition /dev/sda3"
parted -s /dev/sda mkpart primary HFS 888824s 2732015s
echo " * Creating Media partition /dev/sda4"
parted -s /dev/sda mkpart primary HFS 2732016s 312319663s
echo " * Creating file systems on all 4 partitions..."
# make file systems for the four partitions
Any ideas as to what to try next? Thanks.
Original comment by chazbu...@gmail.com
on 15 Apr 2010 at 4:41
When you ran the script what was the output?
Original comment by Sam.Nazarko
on 15 Apr 2010 at 5:07
Hi,
Exactly the same issues as chazburge had. Installation went smoothly. It created
partitions
/dev/sda2 400MB
/dev/sda3 900MB with 8192k journal
/dev/sda4 148GB with 16384k journal
and boot process stops at Apple logo.
No errors at all.
I used OS.dmg from patchstick creator. All files unpacked from it.
Original comment by zin...@gmail.com
on 17 Apr 2010 at 9:56
Attachments:
Looks like the drives may have issues.
You should connect it to a Mac/PC and see if you can recreate the partitions
from
there, you should check the integrity of the disk too, and make sure it is not
damaged.
The drive may have lived past its time. You could try swap in another ATA 2.5"
drive, recommended models here:
http://wiki.awkwardtv.org/wiki/Prepare_a_Hard_Drive#Compatible_Drives
Original comment by Sam.Nazarko
on 19 Apr 2010 at 6:37
For what it's worth-After a bit more digging, I was able to get my ATV back up
and
running after following the instructions posted here:
http://www.hackint0sh.org/f98/43979-3.htm
Hope This Helps!
Original comment by chazbu...@gmail.com
on 19 Apr 2010 at 7:12
Forgot to mention, I didn't use the ATV update dmg that they link to on the
above
post. Instead, I found a copy of ATV OS v1.0 and used that and then ran
recovery and
downloaded the update once it was back to factory condition.
Original comment by chazbu...@gmail.com
on 19 Apr 2010 at 7:22
chazburge, it worked for me too.
Many thanks for your help :)
To Sam.Nazarko - could you please check what is different from your "rebuild"
patchstick in the solution presented in
http://www.hackint0sh.org/f98/43979-3.htm ?
They are using your scripts and content of a patchstick and it works for 160GB
disks.
Original comment by zin...@gmail.com
on 20 Apr 2010 at 5:22
It's pretty much the same method. They use a firmware file and a couple of
other
bits to restore the recovery partition. The only difference is that there
script
only rebuilds the recovery partition, but rebuild.sh builds all partitions
again
(EFI, Recovery, OSBoot and rest media)
Original comment by Sam.Nazarko
on 20 Apr 2010 at 6:35
[deleted comment]
com.apple.Boot.plist needs to be edited as detailed in the document linked at
hackint0sh.org:
<?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>
<key>Boot Fail Logo</key>
<string></string>
<key>Boot Logo</key>
<string>BootLogo.png</string>
<key>Kernel</key>
<string>mach_kernel</string>
<key>Kernel Cache</key>
<string>mach_kernel.prelink</string>
<key>Kernel Flags</key>
<string>rp=file:///OS.dmg</string>
</dict>
</plist>
Original comment by sc...@dier.name
on 19 Nov 2010 at 6:56
Original issue reported on code.google.com by
akrisc...@gmail.com
on 29 Mar 2010 at 12:15