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.


Damien Oh started writing tech articles since 2007 and has over 10 years of experience in the tech industry. He is proficient in Windows, Linux, Mac, Android and iOS, and worked as a part time WordPress Developer. He is currently the owner and Editor-in-Chief of Make Tech Easier.

Subscribe to our newsletter!

Our latest tutorials delivered straight to your inbox