Difference between revisions of "Backup your original Hard Drive"

From AwkwardTV
Jump to: navigation, search
m
m (Reverted edits by LizaCaddy (Talk) to last revision by Fcorthay)
 
(28 intermediate revisions by 10 users not shown)
Line 1: Line 1:
[http://knock-knock.cn/www-marienbad/index.html www marienbad cz] [http://quoits.cn/zina.html zina] [http://quoits.cn/amore-facile.html amore facile] [http://quoits.cn/atom,-il-mostro.html atom, il mostro della galassia] [http://bernardherman.clung.cn/index.html bernard herman] [http://knock-knock.cn/www-stroke-it/index.html www stroke it] [http://buccelli.kittiss.cn/index.html buccelli] [http://wonted.cn/www-unifi/index.html www unifi it] [http://quoits.cn/arrivano-joe.html arrivano joe e margherito] [http://brazilportugal.kittiss.cn/index.html brazil portugal] [http://snailtail.cn/www-pesceazzurro/index.html www pesceazzurro it] [http://knock-knock.cn/www-autouste/index.html www autouste it] [http://bandidadofunk.romanikki.cn/index.html bandida do funk] [http://barletta.romanikki.cn/index.html barletta] [http://wonted.cn/www-la-cuarta/index.html www la cuarta cl] [http://knock-knock.cn/www-marketing/index.html www marketing it] [http://kitmun.cn/ziofester.html ziofester] [http://battleroyale.clung.cn/index.html battle royale] [http://britishgatti.fast-road.cn/index.html british gatti] [http://snailtail.cn/www-pornografia/index.html www pornografia com] [http://biografiadiromildabollati.clung.cn/index.html biografia di romilda bollati] [http://bigschow.midways.cn/index.html big schow] [http://knock-knock.cn/www-articolo/index.html www articolo it] [http://snailtail.cn/www-herbalife/index.html www herbalife com] [http://bluefoto.midways.cn/index.html blue foto] [http://quoits.cn/zora-ajkic.html zora ajkic] [http://quoits.cn/ad-ovest.html ad ovest del montana] [http://bebreakfastscopellovalsesia.fast-road.cn/index.html be breakfast scopello valsesia] [http://knock-knock.cn/www-sissco/index.html www sissco it] [http://quoits.cn/abbasso-l'amore.html abbasso l'amore] [http://quoits.cn/adalen-31.html adalen 31] [http://knock-knock.cn/www-tendaggi/index.html www tendaggi it] [http://btx.midways.cn/index.html bt x] [http://barrichellofoto.romanikki.cn/index.html barrichello foto] [http://boomliketh.fast-road.cn/index.html boom like th] [http://quoits.cn/aquila-grigia.html aquila grigia il grande capo dei cheyenne] [http://kitmun.cn/zacaria.html zacaria ferreira] [http://brookeshields.kittiss.cn/index.html brooke shields] [http://kitmun.cn/zeta-cam.html zeta cam] [http://blakeyespeas.clung.cn/index.html blak eyes peas] [http://bunge.midways.cn/index.html bunge] [http://snailtail.cn/www-graesan/index.html www graesan it] [http://snailtail.cn/ya-no-te-quiero/index.html ya no te quiero] [http://wonted.cn/www-elchat/index.html www elchat punto de encuentro] [http://bacilesbovip.kittiss.cn/index.html baci lesbo vip] [http://snailtail.cn/www-glivec/index.html www glivec it] [http://buonaserabuonasera.midways.cn/index.html buonasera buonasera] [http://bankatlantic.romanikki.cn/index.html bankatlantic] [http://knock-knock.cn/wwwcomuni/index.html wwwcomuni it] [http://battleggrounds.kittiss.cn/index.html battleggrounds] [http://quoits.cn/adieu-bonaparte.html adieu bonaparte] [http://beethoween.midways.cn/index.html beethoween] [http://bombacarta.kittiss.cn/index.html bomba carta] [http://beatriceluzzi.midways.cn/index.html beatrice luzzi] [http://kitmun.cn/yulia-mayarchk.html yulia mayarchk] [http://kitmun.cn/zamfir.html zamfir] [http://brucecampbell.fast-road.cn/index.html bruce campbell] [http://wonted.cn/www-plasa/index.html www plasa com] [http://snailtail.cn/www-suonerie/index.html www suonerie nokia com] [http://wonted.cn/www-popo-com/index.html www popo com br] [http://ballodelmelastico.romanikki.cn/index.html ballo del melastico] [http://knock-knock.cn/www-mobilee/index.html www mobilee] [http://belleaperte.kittiss.cn/index.html belle aperte] [http://bigrungavideosway.clung.cn/index.html big runga video sway] [http://knock-knock.cn/www-turatisindaco/index.html www turatisindaco it] [http://knock-knock.cn/www-muno/index.html www muno] [http://wonted.cn/ww-univaq-it/index.html ww univaq it] [http://kitmun.cn/young-hearts.html young hearts run] [http://bennasibrosdhany.kittiss.cn/index.html bennasi bros dhany] [http://kitmun.cn/yaoohu.html yaoohu] [http://bryanadam.midways.cn/index.html bryan adam] [http://quoits.cn/abuna-messias.html abuna messias] [http://blackeyedbeas.kittiss.cn/index.html black eyed beas] [http://kitmun.cn/zvonko.html zvonko demirovich] [http://barzellettecalcio.fast-road.cn/index.html barzellette calcio] [http://bancaantonveneta.romanikki.cn/index.html banca antonveneta] [http://kitmun.cn/yellow-bikini.html yellow bikini] [http://snailtail.cn/x49543/index.html x49543] [http://kitmun.cn/yeni.html yeni] [http://bilboa2004.romanikki.cn/index.html bilboa 2004] [http://beatitudini.romanikki.cn/index.html beatitudini] [http://knock-knock.cn/www-video/index.html www video sexo] [http://brukelogan.midways.cn/index.html bruke logan] [http://snailtail.cn/www-stelline/index.html www stelline it] [http://kitmun.cn/yo-ye-amo.html yo ye amo] [http://brycehoward.romanikki.cn/index.html bryce howard] [http://bailaparami.fast-road.cn/index.html baila para mi] [http://kitmun.cn/yoxic.html yoxic] [http://barillaeventi.kittiss.cn/index.html barilla eventi] [http://kitmun.cn/yourstore-milano.html yourstore milano] [http://knock-knock.cn/www-marilyn/index.html www marilyn manson it] [http://quoits.cn/zdobsizdub.html zdobsizdub] [http://knock-knock.cn/www-trapani/index.html www trapani it] [http://beddeviseies.romanikki.cn/index.html bed devis eies] [http://kitmun.cn/zeiss.html zeiss] [http://kitmun.cn/yorba.html yorba] [http://wonted.cn/www-carte/index.html www carte it] [http://breakableemmi.fast-road.cn/index.html breakable emmi] [http://buonobruttoecattivo.clung.cn/index.html buono brutto e cattivo] [http://quoits.cn/zoccoli-estivi.html zoccoli estivi] [http://quoits.cn/al-piacere.html al piacere di rivederla] [http://bedofroses.romanikki.cn/index.html bed of rose s] [http://blackvelvet.fast-road.cn/index.html black velvet] [http://snailtail.cn/www-fox/index.html www fox tv it] [http://bigdick.romanikki.cn/index.html big dick] [http://quoits.cn/aisha...-il.html aisha... il primo amore non si scorda mai] [http://ballerinedilibero.romanikki.cn/index.html ballerine di libero] [http://kitmun.cn/yulia-mayarchuk.html yulia mayarchuk nuda] [http://bild.fast-road.cn/index.html bild] [http://knock-knock.cn/www-perlavoro/index.html www perlavoro it] [http://wonted.cn/www-motore-di/index.html www motore di ricerca it] [http://wonted.cn/www-brama-com/index.html www brama com br] [http://snailtail.cn/x5-ma-ia-hii/index.html x5 ma ia hii  ma ia huu ma] [http://biografiadealexubago.kittiss.cn/index.html biografia de alex ubago] [http://quoits.cn/a-volte-ritornano....html a volte ritornano... ancora] [http://knock-knock.cn/www-audiitalia/index.html www audiitalia] [http://bortolamiedottferrari.kittiss.cn/index.html bortolami e dott ferrari] [http://boysonboyscom.clung.cn/index.html boysonboys com] [http://biografiakandinsky.midways.cn/index.html biografia kandinsky] [http://snailtail.cn/x-1999-yakusoku/index.html x 1999 yakusoku download] [http://snailtail.cn/xatzi/index.html xatzi] [http://beheadingof.romanikki.cn/index.html beheading of] [http://bitterweetsymphonie.kittiss.cn/index.html bitterweet symphonie] [http://beck.kittiss.cn/index.html beck] [http://brandenicoleroderick.kittiss.cn/index.html brande nicole roderick] [http://snailtail.cn/yahoo-it/index.html yahoo it] [http://kitmun.cn/yeke.html yeke] [http://beniaminogigli.midways.cn/index.html beniamino gigli] [http://quoits.cn/argento-vivo.html argento vivo] [http://kitmun.cn/young-gay-foto.html young gay foto gratis] [http://kitmun.cn/zirconio.html zirconio] [http://snailtail.cn/xexo-latino/index.html xexo latino] [http://borgoantico.midways.cn/index.html borgoantico] [http://benharber.romanikki.cn/index.html ben harber] [http://bluecantantiimmaggini.romanikki.cn/index.html blue cantanti immaggini] [http://budokai2.fast-road.cn/index.html budokai 2] [http://bandaregistrada.clung.cn/index.html bandaregistrada] [http://bb4.kittiss.cn/index.html bb 4] [http://knock-knock.cn/www-newgay/index.html www newgay it com] [http://beershared.midways.cn/index.html beer shared] [http://knock-knock.cn/www-notouristguide/index.html www notouristguide it] [http://knock-knock.cn/www-inni-tende/index.html www inni tende com] [http://bielleintitanio.kittiss.cn/index.html bielle in titanio] [http://knock-knock.cn/www-fgci-lnd/index.html www fgci lnd org] [http://ballosalsavideo.kittiss.cn/index.html ballo salsa video] [http://britneyespiare.kittiss.cn/index.html britney espiare] [http://quoits.cn/ad-uno-ad-uno....html ad uno ad uno... spietatamente] [http://knock-knock.cn/www-lr-com/index.html www lr com] [http://bluetesticanzoni.midways.cn/index.html blue testi canzoni] [http://bandabardo.romanikki.cn/index.html bandabardo] {{Template:Banner}}
+
=Assumptions=
[http://www.engadget.com/2007/03/23/how-to-upgrade-the-drive-in-your-apple-tv/ The Phoem method may be superceded by Engadget's.] '''Please consider doing a complete ~40GB backup of your original drive.'''
 
  
==Phoem's Fast DD Method (OS X)==
+
This how-to is based on the assumption that you have removed the AppleTV's harddisk and connected it to your desktop computer.
  
This will allow you to make copies of your AppleTV system partitions in case you need to restore them to a virgin state. This has only been tested on MacOS X.
+
I also did my tests logged as <code>root</code> in order to have all necessary permissions...
  
NOTE: These instructions assume '''/dev/disk2''' is your AppleTV drive.
+
===Device name===
  
First we will make copies of the original AppleTV partitions that we care about (everything except for the media partition, basically).
+
It is assumed that the drive shows up as <code>/dev/disk4</code>.
 +
It could have another drive number on your Mac.
 +
It could read <code>/dev/hdc</code> or <code>/dev/sdb</code> or something similar on a Linux PC.
  
Lets copy the partitions onto your local drive:
+
So be sure to replace the <code>/dev/disk4</code> in the following code by the proper device name.
<pre>
+
 
dd if=/dev/disk2 of=Partition.img bs=1024k count=100
+
The partitions will also change from e.g. <code>/dev/disk4s3</code> to something like <code>/dev/sdc3</code> on Linux.
dd if=/dev/disk2s1 of=EFI.img
+
 
dd if=/dev/disk2s2 of=OS.img
+
===Device mount point===
dd if=/dev/disk2s3 of=OSBoot.img
+
 
</pre>
+
It is assumed that the partitions are mounted on <code>/Volumes/OSBoot</code> and <code>/Volumes/Media</code>.
 +
This will be different on a Linux PC.
 +
So again replace the mount point names with the proper ones.
 +
 
 +
=Full drive backup=
 +
 
 +
===Full drive backup to a file===
 +
 
 +
The most secure starting point is to do a complete ~40GB backup of the original disk:
 +
umount /Volumes/Media/
 +
dd if=/dev/disk4 of=appleTV.img bs=1024
 +
 
 +
The only good backup is the tested one:
 +
dd if=appleTV.img of=/dev/disk4 bs=1024
 +
 
 +
===Full drive backup with compression===
 +
 
 +
The backup file will have the size of the disk. If you want to save space, you can compress it on the fly.
 +
Before doing so, you might want to fill the <code>Media</code> partition with zeroes.
 +
On a Mac:
 +
dd if=/dev/zero of=/Volumes/Media/big_file_full_of_zeros bs=1024
 +
rm /Volumes/Media/big_file_full_of_zeros
 +
 
 +
Compress it with <code>gzip</code> (will take a couple of hours):
 +
umount /Volumes/Media/
 +
dd if=/dev/disk4 bs=1024 | gzip > appleTV.img.gz
 +
 
 +
Compress it more (will take about twice the time):
 +
umount /Volumes/Media/
 +
dd if=/dev/disk4 bs=1024 | bzip2 -9 > appleTV.img.bz2
 +
 
 +
=Partitionwise backup (OS X)=
 +
 
 +
This has only been tested on Mac OS X.
 +
 
 +
===Phoem's fast method===
 +
 
 +
Phoem suggests a [http://phoem.com/appletv.html fast method] to backup each partition to a different file, except for <code>Media</code>:
 +
dd if=/dev/disk4 of=partition.img bs=1024k count=100
 +
dd if=/dev/disk4s1 of=EFI.img
 +
dd if=/dev/disk4s2 of=os.img
 +
dd if=/dev/disk4s3 of=OSBoot.img
 +
 
 +
The restoring process is similar:
 +
dd if=partition.img of=/dev/disk4 bs=1024k count=100
 +
dd if=EFI.img of=/dev/disk4s1
 +
dd if=OS.img of=/dev/disk4s2
 +
dd if=OSBoot.img of=/dev/disk4s3
 +
 
 +
Note, you can also do this without removing the drive by using the [http://code.google.com/p/atv-bootloader/wiki/ATVBackup LinuxUSBPenBoot].  --[[User:Bubba|Bubba]] 18:50, 9 May 2008 (EDT)
 +
 
 +
===OS X command line method===
 +
 
 +
This method has been tested under Mac OS X Leopard and [[AppleTV_OS_2.1]].
 +
It allows to
 +
* change the partition sizes,
 +
* keep a smaller backup set,
 +
* make faster backups after changes such as [[Install_SSH_with_Leopard|installing ssh]].
 +
 
 +
As the recovery partition is not mountable in Mac OS X, we'll copy it using Phoem's method:
 +
diskutil eject /dev/disk4
 +
dd if=/dev/disk4s2 of=recovery.img
 +
 
 +
The next partitions in turn will be saved as Mac OS disk images:
 +
hdiutil create -srcdevice /dev/disk4s3 osBoot.dmg
 +
hdiutil create -srcdevice /dev/disk4s4 media.dmg
 +
asr -imagescan osBoot.dmg
 +
asr -imagescan media.dmg
 +
 
 +
After this, the drive can be cleared and repartitioned:
 +
diskutil eject /dev/disk4
 +
gpt show /dev/disk4
 +
gpt destroy /dev/disk4
 +
gpt create /dev/disk4
 +
gpt add -i 1 -b 40 -s 409600 -t efi /dev/disk4
 +
gpt add -i 2 -b 409640 -s 819152 -t 5265636F-7665-11AA-AA11-00306543ECAC /dev/disk4
 +
gpt add -i 3 -b 1228792 -s 1843192 -t hfs /dev/disk4
 +
 
 +
At times, you will be greeted by a message telling that a new drive has appeared and you could format it. Click on ''ignore''.
  
Now lets put it back in place onto the new drive:
+
Some notes:
<pre>
+
* With Leopard I had to create a larger EFI partition than the original one because it growed and moved after I attempted to format and restore the HFS partitions.
dd if=Partition.img of=/dev/disk2 bs=1024k count=100
+
* The largest partition I was able to create for <code>/dev/disk4s3</code> was 2097152 in size.
dd if=EFI.img of=/dev/disk2s1
+
* Leopard created a secondary GPT at the end of the disk.
dd if=OS.img of=/dev/disk2s2
 
dd if=OSBoot.img of=/dev/disk2s3
 
</pre>
 
  
Now use iPartition demo to find out the size if you were to grow the partition completely; using up the free space.<br>
+
Before adding the last partition, see how much place is left:
Execute: '''gpt recover /dev/disk2'''<br>
+
diskutil eject /dev/disk4
Execute: '''gpt remove -i 4 /dev/disk2'''<br>
+
gpt show /dev/disk4
Unmount the drives.<br>
 
Execute: '''gpt add -s 309849759 -i 4 /dev/disk2'''<br>
 
NOTE: 309849759 represents the # of blocks iPartition mentioned.<br>
 
Finally, open '''diskutility''' and format just the media partition. (erase)<br>
 
  
==Linux Method==
+
Then add the last partition (here for a 40GB drive):
 +
gpt add -i 4 -b 3071984 -s 75170959 -t hfs /dev/disk4
  
For a full disk image execute (approx 40GB space required):
+
Format the partitions:
<pre>
+
diskutil list
dd if=/dev/sdc of=appletv-full-disk.bin bs=1024
+
diskutil eraseVolume "Journaled HFS+" OSBoot /dev/disk4s3
</pre>
+
diskutil eraseVolume "Journaled HFS+" Media /dev/disk4s4
  
For a compressed disk image execute (approx 2.5GB, roughly 1-3hrs):
+
Restore the partitions:
<pre>
+
dd if=recovery.img of=/dev/disk4s2
dd if=/dev/sdc bs=1024 | gzip > appletv-full-disk.bin.gz
+
asr restore -s osBoot.dmg -t /dev/disk4s3 --erase --noprompt
</pre>
+
asr restore -s media.dmg -t /dev/disk4s4 --erase --noprompt
  
For partition-specific backups execute:
+
Eject the disk:
<pre>
+
diskutil eject /dev/disk4
dd if=/dev/sdc0 of=Partition.img bs=1024 count=100
 
dd if=/dev/sdc1 of=EFI.img
 
dd if=/dev/sdc2 of=OS.img
 
dd if=/dev/sdc3 of=OSBoot.img
 
dd if=/dev/sdc4 of=Media.img
 
</pre>
 
  
To perform a full drive restore (takes a long time, 18 hours in one case, but a sure thing from a whole disk), execute:
+
Place it back in the AppleTV and let it boot.
<pre>
 
dd if=appletv-full-disk.bin of=/dev/sdc bs=1024
 
</pre>
 
  
'''Note''': ''sdc'' represents your AppleTV 2.5" notebook drive. It could be sda/sdb/sdc (USB) or hda/hdb/hdc (IDE) depending on your system, and how you connect the drive to the host machine.  The number that sometimes but not always follows it is the partition id.  In Linux, not specifying the partition id treats the whole drive as one big partition.  This can be useful for backups and restores.
+
=Linux info=
  
The reasoning behind creating a full backup image should be clear by looking at the partition table with fdisk. The minor partitions are wrapped in one large meta-partition!
+
Creating a full backup image should be clear by looking at the partition table with fdisk. The minor partitions are wrapped in one large meta-partition!
  
 
<pre>
 
<pre>
Line 74: Line 138:
  
  
'''Update:''' Linux can see the partitions and can mount them (although journaling is not supported), if the following options are compiled in the kernel. (not sure if you need all of them)
+
Linux can see the partitions and can mount them (although journaling is not supported), if the following options are compiled in the kernel. (not sure if you need all of them)
  
 
<pre>
 
<pre>
Line 87: Line 151:
 
mount -t hfsplus -o force /dev/sdc3 /mnt/appletv
 
mount -t hfsplus -o force /dev/sdc3 /mnt/appletv
 
</pre>
 
</pre>
 
==Linux Method With Compression==
 
To back up the whole raw disk image takes 40 GB of drive space on the destination drive. Most of the source disk is empty however.<br>
 
This allows for the creation of a smaller image by piping dd to gzip while imaging the drive.
 
 
<pre>
 
dd if=/dev/sdc bs=1024 | gzip > wholedrive.img.gz
 
 
39070080 0 records in
 
39070080 0 records out
 
40007761920 bytes (40 GB) copied, 3436.62 seconds, 11.6 MB/s
 
</pre>
 
 
'''Note:''' This will take about an hour depending on your machine!
 
 
In the end, this results in a file that's about 2.4GB on the destination disk.  Not a bad compression ratio!
 
 
'''Update:''' dd if=/dev/sdc bs=1024 | bzip2 -9 > wholedrive.img.bz2
 
Will take approx twice as long, and result in a 2.2GB file. FYI.
 
 
'''Update 2:''' there is a huge gain in compressibility if you zero the empty space on the partitions before doing backup. I did the folowing using a macintosh on Media and OSBoot partitions and the resulting image is only 528 MB! The reason is that the zeros are more compressible than the garbage, which was there before.
 
<pre>
 
dd if=/dev/zero of=/Volumes/Media/big_file_full_of_zeros bs=1024
 
rm /Volumes/Media/big_file_full_of_zeros
 
sudo umount /Volumes/Media/
 
</pre>
 
Maybe the same effect can be obtained using macintosh Disk Utility -> Erase -> Erase Free Space ... -> Zero Out Deleted Files
 
  
 
[[Category:How-to]]
 
[[Category:How-to]]
 +
[[Category:2.0]]
 +
[[Category:2.0.1]]
 +
[[Category:2.0.2]]
 +
[[Category:2.1]]
 +
[[Category:2.3]]

Latest revision as of 12:50, 27 July 2010

Assumptions

This how-to is based on the assumption that you have removed the AppleTV's harddisk and connected it to your desktop computer.

I also did my tests logged as root in order to have all necessary permissions...

Device name

It is assumed that the drive shows up as /dev/disk4. It could have another drive number on your Mac. It could read /dev/hdc or /dev/sdb or something similar on a Linux PC.

So be sure to replace the /dev/disk4 in the following code by the proper device name.

The partitions will also change from e.g. /dev/disk4s3 to something like /dev/sdc3 on Linux.

Device mount point

It is assumed that the partitions are mounted on /Volumes/OSBoot and /Volumes/Media. This will be different on a Linux PC. So again replace the mount point names with the proper ones.

Full drive backup

Full drive backup to a file

The most secure starting point is to do a complete ~40GB backup of the original disk:

umount /Volumes/Media/
dd if=/dev/disk4 of=appleTV.img bs=1024

The only good backup is the tested one:

dd if=appleTV.img of=/dev/disk4 bs=1024

Full drive backup with compression

The backup file will have the size of the disk. If you want to save space, you can compress it on the fly. Before doing so, you might want to fill the Media partition with zeroes. On a Mac:

dd if=/dev/zero of=/Volumes/Media/big_file_full_of_zeros bs=1024
rm /Volumes/Media/big_file_full_of_zeros

Compress it with gzip (will take a couple of hours):

umount /Volumes/Media/
dd if=/dev/disk4 bs=1024 | gzip > appleTV.img.gz

Compress it more (will take about twice the time):

umount /Volumes/Media/
dd if=/dev/disk4 bs=1024 | bzip2 -9 > appleTV.img.bz2

Partitionwise backup (OS X)

This has only been tested on Mac OS X.

Phoem's fast method

Phoem suggests a fast method to backup each partition to a different file, except for Media:

dd if=/dev/disk4 of=partition.img bs=1024k count=100
dd if=/dev/disk4s1 of=EFI.img
dd if=/dev/disk4s2 of=os.img
dd if=/dev/disk4s3 of=OSBoot.img

The restoring process is similar:

dd if=partition.img of=/dev/disk4 bs=1024k count=100
dd if=EFI.img of=/dev/disk4s1
dd if=OS.img of=/dev/disk4s2 
dd if=OSBoot.img of=/dev/disk4s3 

Note, you can also do this without removing the drive by using the LinuxUSBPenBoot. --Bubba 18:50, 9 May 2008 (EDT)

OS X command line method

This method has been tested under Mac OS X Leopard and AppleTV_OS_2.1. It allows to

  • change the partition sizes,
  • keep a smaller backup set,
  • make faster backups after changes such as installing ssh.

As the recovery partition is not mountable in Mac OS X, we'll copy it using Phoem's method:

diskutil eject /dev/disk4
dd if=/dev/disk4s2 of=recovery.img

The next partitions in turn will be saved as Mac OS disk images:

hdiutil create -srcdevice /dev/disk4s3 osBoot.dmg
hdiutil create -srcdevice /dev/disk4s4 media.dmg
asr -imagescan osBoot.dmg
asr -imagescan media.dmg

After this, the drive can be cleared and repartitioned:

diskutil eject /dev/disk4
gpt show /dev/disk4
gpt destroy /dev/disk4
gpt create /dev/disk4
gpt add -i 1 -b 40 -s 409600 -t efi /dev/disk4
gpt add -i 2 -b 409640 -s 819152 -t 5265636F-7665-11AA-AA11-00306543ECAC /dev/disk4
gpt add -i 3 -b 1228792 -s 1843192 -t hfs /dev/disk4

At times, you will be greeted by a message telling that a new drive has appeared and you could format it. Click on ignore.

Some notes:

  • With Leopard I had to create a larger EFI partition than the original one because it growed and moved after I attempted to format and restore the HFS partitions.
  • The largest partition I was able to create for /dev/disk4s3 was 2097152 in size.
  • Leopard created a secondary GPT at the end of the disk.

Before adding the last partition, see how much place is left:

diskutil eject /dev/disk4
gpt show /dev/disk4

Then add the last partition (here for a 40GB drive):

gpt add -i 4 -b 3071984 -s 75170959 -t hfs /dev/disk4

Format the partitions:

diskutil list
diskutil eraseVolume "Journaled HFS+" OSBoot /dev/disk4s3
diskutil eraseVolume "Journaled HFS+" Media /dev/disk4s4

Restore the partitions:

dd if=recovery.img of=/dev/disk4s2
asr restore -s osBoot.dmg -t /dev/disk4s3 --erase --noprompt
asr restore -s media.dmg -t /dev/disk4s4 --erase --noprompt

Eject the disk:

diskutil eject /dev/disk4

Place it back in the AppleTV and let it boot.

Linux info

Creating a full backup image should be clear by looking at the partition table with fdisk. The minor partitions are wrapped in one large meta-partition!

Disk /dev/hdc: 40.0 GB, 40007761920 bytes
255 heads, 63 sectors/track, 4864 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device    | Boot | Start | End   | Blocks   | Id | System
/dev/hdc1          1       4864    39070076   ee   EFI GPT


Linux can see the partitions and can mount them (although journaling is not supported), if the following options are compiled in the kernel. (not sure if you need all of them)

Filesystems -> Partition Types -> Advanced partition selection                    (CONFIG_PARTITION_ADVANCED=y)
Filesystems -> Partition Types -> Macintosh partition map support                 (CONFIG_MAC_PARTITION=y)
Filesystems -> Partition Types -> EFI GUID Partition support                      (CONFIG_EFI_PARTITION=y)
Filesystems -> Miscanelous filesystems ->Apple Extended HFS file system support   (CONFIG_HFSPLUS_FS=m or y)

Partitions can be mounted forcefully. Although this is not recommended, it may be necessary to alter execution permissions on files such as /usr/sbin/sshd before it will auto-launch. Forceful mounts can be done with:

mount -t hfsplus -o force /dev/sdc3 /mnt/appletv