Restore and use an iPod on Linux
iPod has been a fantastic music player. It plays music, and that’s it. It is simple and uninterrupted. First released in 2001, it revolutionized the music industry, and leads the world into the smartphone era. This blog post is going to explain how to restore and sync musics on to the iPod.
Restoration
WARNING: THE RESOTRATION PROCESS NEED TO BE DONE WITH CARE, OTHERWISE YOU MAY LOSE DATA!
Getting the firmware
Getting the firmware is fairly easy. Head to The Apple Wiki and download the latest firmware for your specific model of iPod. Mine is Rev B 5.5G. So the downloaded file should be iPod_25.1.3.ipsw
.
Entering disk mode
Hold Center and Menu, then as soon as the device turns black, hold Previous and Center. Note that early models may require different actions.
The CLI adventure
Once downloaded, we can use unzip or other tools to decompress the archive:
1 | ➜ Downloads unzip iPod_25.1.3.ipsw |
The exact file we need is prefixed with a name Firmware-. The manifest and zip file can be deleted with rm
now.
Use fdisk -l
or lsblk
to check which drive you are operating on. The iPod shows up as sda for me, but yours may be different!
Once confirmed, launch fdisk to operate on the iPod:
1 | ➜ ~ run0 fdisk /dev/sda |
- Create a new Master Boot Record partition table using the command
o
. - Add a new primary partition. Size should be at least double the firmware size. In this case we’ll enter
n
,p
,512
,+50M
. - Use command
a
to assign a bootable flag. - Create a second primary partition, use all of the free space.
- Use command
t
,2
,b
to change partition 2’s type to W95 FAT32. - Use command
t
,1
,0
to change partition 1’s type to Empty. - Write changes using
w
.
Now that the partition table is created correctly, flash the firmware into the first partition using dd and format the data partition:
1 | dd if=Firmware-25.6.3 of=/dev/sda1 |
This should finish in a minute or two. Eject your iPod:
1 | sync |
The iPod should now reboot and finish restoring on its own.
Syncing
Install software
Install Rhymbox with libgpod:
1 | pacman -S libgpod --asdeps |
Open Rhythmbox, then Preferences.
In plugins, uncheck Portable Players - MTP and check Portable Players - iPod.
Before plugging iPod in, select the language and toggle settings as you like.
If Rhythmbox fails to initialize your iPod, use Amarok to do that.