Second chance for iPod…

Продление жезни плееру или извращение? 🙂

Перво-наперво введение..

Имеется старичёк Ipod Video. Имеет довольно такой же старый hdd, с неким количеством поврежденных секторов. И в последнее время их количество только растет. Было решено слить весь образ диска и перекочевать с HDD на CompactFlash той же ёмкости(32gb).

Сходу на ум приходит, всем знакомая, утилита ddrescue.
Но для начала её необходимо установить.. Можно конечно и dd воспользоваться, но ddrescue хотя бы информацию о происходящем представляет в нормальном виде.

 1 # качаем и устанавливаем lzip, т.к. исходники ddrescue сжаты еще и в lz
 2 $ wget http://download.savannah.gnu.org/releases/lzip/lzip-1.15.tar.gz
 3 $ tar xvf lzip-1.15.tar.gz
 4 $ cd lzip-1.15
 5 $ ./configure --prefix=/usr
 6 $ make
 7 $ sudo make install
 8 
 9 # а теперь уже очередь и ddrescue
10 $ wget http://ftp.gnu.org.ua/gnu/ddrescue/ddrescue-1.18.1.tar.lz
11 $ lzip -d ddrescue-1.18.1.tar.lz
12 $ tar xvf ddrescue-1.18.1.tar
13 $ cd ddrescue-1.18.1
14 $ ./configure
15 $ make
16 $ sudo make install

Далее переходим непосредственно к созданию образа диска.

 1 # смотрим текущие разделы
 2 $ diskutil list
 3 /dev/disk0
 4    #:                       TYPE NAME                    SIZE       IDENTIFIER
 5    0:      GUID_partition_scheme                        *121.3 GB   disk0
 6    1:                        EFI EFI                     209.7 MB   disk0s1
 7    2:                  Apple_HFS Macintosh HD            120.5 GB   disk0s2
 8    3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
 9 /dev/disk1
10    #:                       TYPE NAME                    SIZE       IDENTIFIER
11    0:     Apple_partition_scheme                        *30.0 GB    disk1
12    1:        Apple_partition_map                         127.0 KB   disk1s1
13    2:                 Apple_MDFW                         167.8 MB   disk1s2
14    3:                  Apple_HFS iPod sfate              29.8 GB    disk1s3
15 
16 # отмонтируем пациента
17 $ diskutil unmountDisk /dev/disk1
18 
19 # сливаем образ с hdd
20 $ ddrescue /dev/disk1 ipod_video_backup.img logfile -n

После того, как утилита прошла по всем секторам – запускается повторный проход, но только по поврежденным секторам. У ddrescue на это все ушло порядка 6ти часов.. благо объем то не особо крупный. Образ примонтировался без ошибок и определился как ipod.
Отлично. Идем дальше.
————————
Теперь есть полная копия HDD с разделами – приступаю к разборке плеера.
Сама разборка тривиальна.. медиатором поддеваю металлическую крышку по кругу – и вскрытие произведено.
Отсоединяю жесткий диск, и пламенно благодарю за все что было.

Дальше беру ZIF-переходник для CF-карточки и подсоединяю его на место HDD.
Подключаю шнурок плеера к ПК.. в iTunes выбираю восстановление..
ииии..
Облом.. плеер уходит в цикличное восстановление(яблочко на темном фоне и прогрессбар с каждым разом).
Закрались мысли о том, что плеер не может финализировать установку прошивки.
Ок.. самое главное, что разметка разделов уже есть на CF-карточке.

Пробую запихнуть прошивку с HDD на CF:

 1 # опосля примонтрования образа и подключенной CF-карточки (disk1 - CF | disk2 - HDD)
 2 $ diskutil list
 3 /dev/disk0
 4    #:                       TYPE NAME                    SIZE       IDENTIFIER
 5    0:      GUID_partition_scheme                        *121.3 GB   disk0
 6    1:                        EFI EFI                     209.7 MB   disk0s1
 7    2:                  Apple_HFS Macintosh HD            120.5 GB   disk0s2
 8    3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
 9 /dev/disk1
10    #:                       TYPE NAME                    SIZE       IDENTIFIER
11    0:     Apple_partition_scheme                        *32.0 GB    disk1
12    1:        Apple_partition_map                         127.0 KB   disk1s1
13    2:                 Apple_MDFW                         167.8 MB   disk1s2
14    3:                  Apple_HFS iPod                    31.9 GB    disk1s3
15 /dev/disk2
16    #:                       TYPE NAME                    SIZE       IDENTIFIER
17    0:     Apple_partition_scheme                        *30.0 GB    disk2
18    1:        Apple_partition_map                         127.0 KB   disk2s1
19    2:                 Apple_MDFW                         167.8 MB   disk2s2
20    3:                  Apple_HFS iPod Alexey Bobyrev     29.8 GB    disk2s3
21 
22 # сливаю прошивку с HDD
23 $ dd if=/dev/disk2s2 of=ipod_video_firmware.img bs=4096
24 
25 # заливаю прошивку на CF
26 $ dd if=ipod_video_firmware.img of=/dev/disk1s2

Вставляю CF-карточку.. запускаю плеер… ииии..
Заветное – “Chose your language”.

Дальше больше.. плеер в рабочем состоянии, но на него хотелось бы “линукс” накатить =)
Следую за белым кроликом…
Все дальнейшие операции с плеерем проводились в режиме “диска/съемного носителя”.

 1 # качаю необходимости
 2 $ wget http://download.rockbox.org/bootloader/ipod/mbr-video30gb-2048.bin
 3 $ wget http://download.rockbox.org/bootloader/ipod/ipodpatcher/macosx/ipodpatcher.dmg
 4 $ wget http://download.rockbox.org/release/3.13/rockbox-ipodvideo-3.13.zip
 5 
 6 # лью необходимый mbr
 7 $ diskutil unmountDisk /dev/disk1
 8 $ dd if=mbr-video30gb-2048.bin of=/dev/disk1
 9 
10 # потом форматирую в FAT32(MS-DOS) для корректной работы новой ОС
11 $ newfs_msdos -F 32 -S 2048 -v iPod /dev/disk1s2
12 
13 # копирую новую ос на плеер
14 $ diskutil mountDisk /dev/disk1
15 $ unzip rockbox-ipodvideo-3.13.zip
16 $ mv .rockbox /Volumes/IPOD/
17 
18 # лью бутлоадер новой ОС
19 $ ipodpatcher

После того, как зальется новый бутлоадер(закончится выполнение ipodpatcher) – отсоединяю плеер.
Запускаю – все работает.. другая ОС.. другой формат диска.. и руки не из жопы 😀

Я понятия не имею.. зачем я об этом всем написал, но спасибо тем, кто прочитал и понял о чем речь.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s