#title Using iTunes via Oracle Virtualbox running Windows ## try to use a title for the page which uses capitalization and spaces between words, as above = Introduction = ||<
><>|| This technique allows you to sync using the official iTunes application. All functionality is available '''except''' restore and most probably firmware updates. DO NOT use step 4 of this guide for Ubuntu Maverick Meerkat 10.10 and later! Instead follow the instructions at: https://help.ubuntu.com/community/VirtualBox/USB This method uses a number of proprietary components, and therefore isn't free. Do not do this unless you have a legitimate Windows license and agree with the licensing to all the software: Windows XP, Virtualbox etc. This information is sourced from a number of locations - thanks to these contributions: * http://blog.taragana.com/index.php/archive/use-iphone-and-ipod-touch-for-ubuntu-810/ * http://www.virtualbox.org/ticket/491 * http://www.huanix.com/2008/11/22/itunes-8-running-in-virtualbox-20-allows-usb-sync-with-iphone-and-ipod-touch/ = Steps = 1. Add the Virtualbox repository and key as detailed [[http://www.virtualbox.org/wiki/Linux_Downloads|on this page]]. Select the repository matching your distribution and add to `/etc/apt/sources.list` file. For example, the Intrepid Ibex line is: {{{ deb http://download.virtualbox.org/virtualbox/debian intrepid non-free }}} Now add the key for this repository.{{{ wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add - }}} Now update your apt cache: {{{ sudo apt-get update}}} 2. Remove the package `virtualbox-ose`:{{{ sudo apt-get autoremove virtualbox-ose }}} Now install the latest Virtualbox{{{ sudo apt-get install virtualbox }}} 3. Add your username to the `vboxusers` group. Don't forget to substitute your username if it's different from the logged-in user:{{{ sudo gpasswd -a ${USER} vboxusers }}} 4. We need a new entry in the file '/etc/fstab' to correct USB permissions. To do this, first you need to know what the group id (GID) is for the group `vboxusers`. Run this command:{{{ sed '/vboxusers/!d;s/vboxusers:x:\(.*\):.*/\1/' /etc/group}}} The output should be a number. Now edit `/etc/fstab` and add the following line, but make sure you set the `devgid=` number to the output of the previous command. {{{ none /proc/bus/usb usbfs devgid=123,devmode=664 0 0 }}} 5. Log out of your session and log back in. You can now start up Virtualbox, located under '''Applications''' → '''System Tools''' → '''Oracle VM Virtualbox''' . Create a new machine; the wizard will guide you, the details are outside of the scope for this howto. Within the settings for the machine, ensure both "Enable USB Controller" and "Enable USB 2.0 (EHCI) Controller" are ticked. You can also add a filter to make the iPhone/iTouch automatically pass thru here, otherwise you will have to manually select and enable it when plugged in. 6. Install Windows and iTunes in the VM. Windows XP and iTunes 8 is known to work. The Virtualbox guest addons are also recommended for performance and integration, but are not explicitly required. Again, the details of this are outside of scope, but are straightforward. 7. Boot the VM, plug in iPhone (and select it to be passed thru via the VM menu if you didn't add a filter before) and confirm iTunes detects it. All systems go for iLaunch! Note: I (JIMIneitor) tested this myself, and tested everything, even restoring, and I can say that everything works excellent but restoring, you can sync, back-up, install apps, remove apps, everything, but you won't restore it using VirtualBox. = Troubleshoot = == iTunes error 0xe8000035 == Windows sees the iPhone correctly, and attempts to download pictures, but iTunes doesn't connect correctly. One cause of this is `MAX_USBFS_BUFFER_SIZE` being too small in `/drivers/usb/core/devio.c`. The author had this problem in Hardy Heron. Here is how to recompile "only" this module for Hardy (thanks to [[http://www.virtualbox.org/ticket/491 |remainder comment 2008-09-21 04:22:26]]): {{{ cd /usr/src sudo apt-get build-dep linux-source-2.6.24 sudo apt-get install linux-source-2.6.24 build-essential tar -jxvf /usr/src/linux-source-2.6.24.tar.bz2 cd linux-source-2.6.24/drivers/usb/core sudo 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 sudo reboot }}} You could instead modify `/drivers/usb/core/devio.c` and [[https://help.ubuntu.com/community/Kernel/Compile|recompile the whole kernel]] if you wanted to. Note that this error can also occur for lots of other reasons, including bad cables, 3rd party docks etc. Ask Google about this error for lots of other possibilities. == VM Locks up at boot == The VM seems to lock up at boot if an iPhone is plugged in at boot time. Try booting without the iPhone plugged in! = See Also = * - Parent Page with other methods