Let's say you want this iPod Classic interface for 5th Gen iPods. And your iPod is Mac formated and you're actually running on Mac. No iPodWizard here, but dont' cry, this guide is here to help you ;)
This guide assumes you know how to use terminal a bit...knowing how to copy and paste may be fine but if you run into problems, sorry mate ;)
$ sudo su
Password:
And here we are, at the root shell. Now let's see what drives are connected to this computer.
# disktool -l
***Disk Appeared ('disk2s1',Mountpoint = '', fsType = '', volName = '')
***Disk Appeared ('disk2s3',Mountpoint = '/Volumes/Ondra's iPod', fsType = 'hfs', volName = 'Ondra's iPod')
***Disk Appeared ('disk2s2',Mountpoint = '', fsType = '', volName = '')
***Disk Appeared ('disk2',Mountpoint = '', fsType = '', volName = '')
***Disk Appeared ('disk0',Mountpoint = '', fsType = '', volName = '')
***Disk Appeared ('disk0s1',Mountpoint = '', fsType = '', volName = '')
***Disk Appeared ('disk0s2',Mountpoint = '/', fsType = 'hfs', volName = 'PowerGeek HD')
Okay, so our iPod is at /dev/disk2. We'll list the partitions on it so we know what to patch. Press "P" to list partitions and then quit by hitting "Q".
# pdisk /dev/disk2
Edit /dev/disk2 -
Command (? for help): p
Partition map (with 2048 byte blocks) on '/dev/disk2'
#: type name length base ( size )
1: Apple_partition_map partition map 62 @ 1
2: Apple_MDFW firmware 64197 @ 63 (125.4M)
3: Apple_HFS disk 39005820 @ 64268 ( 74.4G)
Device block size=2048, Number of Blocks=39075371 (74.5G)
DeviceType=0x0, DeviceId=0x0
Command (? for help): q
So the firmware is on /dev/disk2s2 and the partition is almost 128MB big. We'll dump the whole partition, first cause we'll be patching it and if we fail, we can upload it back and have working iPod.
# dd bs=1048576 if=/dev/disk2s2 of=ipod.firmware.backup
125+1 records in
125+1 records out
131475456 bytes transferred in 208.553903 secs (630415 bytes/sec)
So we've got the backup of the firmware of our hard-drive, now let's cook the new firmware. Make a copy of the iPod Classic firmware for 5G iPod (the backslashes are there to escape the spaces).
# cp iPod\ Classic\ for\ 5.5G ipod.firmware
and now we append the rest of the firmware we've backed up from the iPod. This will go slow cause we're using just 1k blocks. If you're using other version than 1.0.2, get the filesize of the ipod.firmware file and divide it by 1024
# ls -ls ipod.firmware
27152 -rwxr-xr-x 1 ondra ondra 13899776 Oct 14 16:27 ipod.firmware
# bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
13899776 / 1024
13574
So now we know how many blocks to skip so we'll run this timely procedure.
# dd bs=1024 skip=13574 seek=13574 if=ipod.firmware.backup of=ipod.firmware
114820+0 records in
114820+0 records out
117575680 bytes transferred in 1921.707499 secs (61183 bytes/sec)
We have everything ready, so upload the modified firmware to the iPod. Upload to the iPod using this command, but modify it so it matches your iPod's connection. You could easily wipe some external hard-drive or something, so chech twice and type once ;)
# dd bs=1048576 if=ipod.firmware of=/dev/disk2s2
125+1 records in
125+1 records out
131475456 bytes transferred in 208.553903 secs (630415 bytes/sec)
That's about it, disconnect your iPod and enjoy. If it fails to boot for some reason, either play with these commands it or upload the firmware backup.
# dd bs=1048576 if=ipod.firmware.backup of=/dev/disk2s2