After days of trying to get the ipod touch working in ubuntu (ad-hoc wireless sync / wine itunes / qemu + winxp / kvm + winxp / virtualbox-ose + xp) I finally have it working using:
Virtualbox-2.0.4 (PUEL)
Recompile usbcore (Modify MAX_USBFS_BUFFER_SIZE to 128K in drivers/usb/core/devio.c) see VirtualBox ticket #491
This is a workaround --A fix is scheduled for Virtualbox 2.1.
Ill share it here please respond with suggestions/improvements/comments. It should also work for the iPhone.
1. Install VirtualBox-2.0
2. Configure Ubuntu for VirtualBox-2.0
3. Usb Filesystem fix
4. Kernel usbcore fix
5. Install Windows XP in VirtualBox
6. Running VirtualBox
7. Troubleshooting
8. Sources
1. Install VirtualBox-2.0
Add repository to /etc/apt/sources.list
Code:
echo "deb http://download.virtualbox.org/virtualbox/debian intrepid non-free" | sudo tee -a /etc/apt/sources.list
Add sun public apt-get key
Code:
wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | sudo apt-key add -
Install VirtualBox-2.0
Code:
sudo apt-get update && sudo apt-get install virtualbox-2.0
Beware: the virtualbox module vboxdrv conflicts with kvm. See troubleshooting for more info.
2. Configure Ubuntu for VirtualBox-2.0
Add yourself to the vboxusers group
Code:
sudo gpasswd -a `whoami` vboxusers
Startup vboxdrv module on boot by appending it to /etc/modules
Code:
echo "vboxdrv" | sudo tee -a /etc/modules
3. Usb Filesystem fix
Get the vboxusers group id
Code:
cat /etc/group | grep vboxusers
Edit /etc/fstab to add these two lines and replace the devgid with the vboxusers group id
Code:
#usbfs for virtualbox
none /proc/bus/usb usbfs devgid=128,devmode=664 0 0
4. Kernel usbcore fix
check your current kernel version
Get the sources for your kernel and fix usb/core/devio.c
Code:
sudo apt-get build-dep linux-source-2.6.27
sudo apt-get install linux-source-2.6.27 build-essential
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 your system and check if vboxdrv is running
5. Install Windows XP in VirtualBox
Start VirtualBox using Applications->System Tools->Sun xVM Virtualbox or type "VirtualBox" in a terminal
Install Windows XP (SP2+) in a virtual machine.
This guide gives a rough idea howto. It is pretty much straightforward.
https://help.ubuntu.com/community/VirtualBox
6. Running VirtualBox
- Enable usb and usb2 in the settings for you virtual machine
- install itunes inside the vm
- connect the ipod touch
- cancel f-spot
- in the top of the vm box click Devices and activate the apple ipod
- Run iTunes inside vm
7. Troubleshooting
vboxdrv cannot load because kvm is loaded
purge the kvm package
Code:
sudo dpkg --purge kvm
sudo rmmod kvm
sudo modprobe vboxdrv
howto rebuild the vboxdrv module
Code:
sudo /etc/init.d/vboxdrv setup
after upgrading it stopped working
You need to apply the kernel usbcore fix again, and rebuild the vboxdrv module (see above)
8. Sources
https://help.ubuntu.com/community/VirtualBox
[SOLVED] Virtual box ipod touch / iphone sync
http://www.virtualbox.org/ticket/491
Bookmarks