Продление жезни плееру или извращение? 🙂
Перво-наперво введение..
Имеется старичёк 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) – отсоединяю плеер.
Запускаю – все работает.. другая ОС.. другой формат диска.. и руки не из жопы 😀
Я понятия не имею.. зачем я об этом всем написал, но спасибо тем, кто прочитал и понял о чем речь.