How To Sync iPod Touch With Win XP Virtual Machine In Ubuntu Intrepid

Syncing your iPod Touch with iTunes on your Mac or Windows is a no-brain job. Simply plug in your iPod, fire up your iTunes and your synchronization will be done in a minute. However, since there is no Linux version of iTunes, there is almost no way that you can sync your iPod Touch with your computer. If you are using an Ubuntu system and you don’t want to create a Windows/Ubuntu dual boot just to sync your iPod Touch, here’s a tutorial that teaches you how to sync your iPod Touch with a WinXP virtual machine in Ubuntu Intrepid.

(This tutorial was tested using a iPod Touch 1st generation. I have not tested iPod Touch 2nd Gen, iPhone 2G/3G, but I guess they should work as well.)

Install Virtualbox

(skip this step if you have already installed Virtualbox in your system)

Add the Virtualbox repository to your Apt list. In your terminal:

gksu gedit /etc/apt/sources.list

Add the following line to the end of the file. Save and close.

deb intrepid non-free

Add the gpg key

wget -q -O- | sudo apt-key add –

Update the repository and install Virtualbox

sudo apt-get update
sudo apt-get install virtualbox-2.0

During the installation, you will receive a prompt to ask you to add users to vboxusers group.


click OK to continue.

You will then receive the next prompt to recompile the kernel for vboxdrv


click OK to continue, follow by Yes to compile the vboxdrv kernel.

When installation is completed, you need to add yourself to the vboxusr group.

Go to System -> Administration -> Users and Groups

Press the Unlock button. Enter your password and Authenticate.


Press Manage Groups.

Scroll down until you see the vboxusers. Highlight it and click Properties.


Check your username and click OK. Close everything.


Remember the Group ID (in this case, the group ID is 127). You will need to use it later.

Back in the terminal,

echo “vboxdrv” | sudo tee -a /etc/modules

to start the vboxdrv module during bootup.

Configuring the USB support

The following is to configure the Virtualbox to detect any USB devices that are plugged into your system.

gksu gedit /etc/fstab

Add the following line to the end of the file

#usbfs for virtualbox
none /proc/bus/usb usbfs devgid=GROUP_ID,devmode=664 0 0

Replace the GROUP_ID by the group ID that you have recorded just now.

Recompile the kernel USB support

In the terminal, type

uname -r

You should see something like this


Next, using the kernel information you just obtained, install the source code of the kernel

sudo apt-get build-dep linux-source-2.6.27
sudo apt-get install linux-source-2.6.27 build-essential

Once it is done, type the following to the terminal, line by line

tar -jxvf /usr/src/linux-source-2.6.27.tar.bz2
cd linux-source-2.6.27/drivers/usb/core
perl -pi.bak -e 's/16384/131072/' devio.c
make -C /lib/modules/`uname -r`/build/ M=`pwd` modules
strip --strip-debug usbcore.ko
sudo install -m644 -b usbcore.ko /lib/modules/`uname -r`/kernel/drivers/usb/core
sudo depmod -ae
sudo update-initramfs -u

Reboot the computer.

Install Windows XP in your Virtualbox. (skip this step if you have already done so).

Connecting iPod Touch to Windows XP VM

Plug in your iPod Touch using the USB cable.

Ubuntu will detect it and ask if you want to open it with F-spot manager. Click Unmount

Open iPod touch with F-spot

Next, open your Virtualbox and boot up the Windows XP VM.

Install iTunes in your Win XP VM.

Activate the iPod Touch by  going to Devices -> USB Devices -> Apple Inc. iPod

activate-ipod-usb device on WinXP VM

The WinXP VM should recognize the USB device and configure it for usage.

Open your iTunes. You should be able to sync it like you do in a native Mac or Windows environment.

sync ipod touch with winxp vm

That’s it.

Note: I have tested this with a iPod Touch 1st Generation. I have not tested this with iPod Touch 2G and iPhone, but they should work as well.

[Reference: Ubuntu Forums]