Monday, November 5, 2007

Shared folders

When you check the automatic generated IP-configuration of the guest you'll get something like this:

IP-address. . . . . . . . . . . . : 10.0.2.15
Subnetmask. . . . . . . . . . . : 255.255.255.0
Defaultgateway. . . . . . . . . : 10.0.2.2

This means your host OS is acting like a router, creating a new network (10.0.2.0/255.255.255.0) with gateway address 10.0.2.2. The guest OS is virtually connected to the router with IP-address 10.0.2.15.

You can also verify that the router exists by pinging 10.0.2.2. This should work (and it does) without packet loss. Since 10.0.2.2 is the IP address of our host OS in the "new" network we should be able to connect with it's shared folders using that IP address, but somehow this doesn't work.

Luckily we have a solution for this problem. VirtualBox uses its own system for handling shared folders from the host OS to the guest OS. You can read the manual, but here is a short version:

  1. In the Devices menu you choose Shared Folders. Then in the dialog you pick the folder from the host OS you would like to access in the guest OS. Then you should give it a name (or use the default name).

  2. Then open cmd.exe in your guest OS. Type:
    net use x: \\vboxsvr\sharename

    where x is the driveletter you want to assign to the shared folder and sharename is obviously the name of the share you gave in the dialog (see step 1). \\vboxsvr is a static name for the host OS, so you should not change this.

  3. Now the share will be mounted and can be found in My Computer
Note:
Somehow I am able to connect to all other computers in my network by using their IP-address. So VirtualBox's utility for sharing folders is only necessary for the host, not for other computers in your network.

Thursday, November 1, 2007

Issues

Beware of synchronizing you iPod with Amarok, Rythmbox or any other "probably supported" application. New iPods and iPhones have encrypted firmware and using other applications than iTunes can (and most probably will) damage the software on you device. For older devices you could download and install a Linux distribution, iPodLinux, but newer generations do NOT support this.

I once ruined my software after synchronizing with Amarok and so I had to repare it. Luckily this is very easy with iTunes, but do NOT recover your iPod's firmware on VirtualBox! When you do this, you will notice that 50% or more of your iPod's capacity is already used, so repare your firmware on a 'pure' Windows box. The diskspace-problem did not occur while reparing my iPod on VMWare Workstation.

This works


After those failed methods I was sure about some necessary things:
  • A Windows XP installation is required (for pc's), so I need an emulator.
  • The emulator should support USB 2.0
  • I want it free and legal (opinion)
  • It should be stable and fast to work with
Finaly after using Google (again) I found an emulator that would do the job: VirtualBox. It's a free emulator with USB support and it runs remarkably faster than the VMWare Workstation. For people who run Compiz-Fusion: VirtualBox in fullscreen allows cube rotation while the cursor is on the VirtualBox-window. I haven't found a way to do this with VMWare...



This is how I did it:

First, to be able to access your USB-ports in VirtualBox you need to run the following command as superuser, or add his equivalent line in /etc/fstab :
# sudo mount -t usbfs none /proc/bus/usb

Now to download and install VirtualBox, visit
http://www.virtualbox.org/wiki/Downloads

and download the package that fits your linux distribution and processor architecture. The packages are automatically installable with the GDebi Package Installer (for Ubuntu users).

After the installation read the users manual on
http://www.virtualbox.org/download/UserManual.pdf

to find out how to create a new guest operation system. You should create a new Windows XP home/professional guest.(*)

Once you have set up a new guest you should install Guest Additions to improve the functionality:
  1. Start your guest OS and wait until it is completely booted
  2. Go to the Device menu and take the last item: Install Guest Additions.
  3. A wizard will start in your guest OS.
  4. You will be prompted to restart your guest, so do this.

Then download and install iTunes 7.4 (or later):
http://www.apple.com/itunes/download/
Plug in your iPod, and wait for iTunes to react.
If it doesn't, go to the Device menu, select USB Devices and click your iPod.
If your iPod is not in the list, you should plug in you iPod before you start VirtualBox.

(*) Runnig VisualBox in superuser-mode serves best performance.

Failed methods

While I was turning Google inside out to find a method, I tried a lot of suggestions. Because none of them worked for me, I thought it would be useful to mention them here:

Wine (Wine Is Not an Emulator)
Most of the Linux users will be familiar with Wine. It's an excellent tool to port windows .exe's to run on Linux distributions. Unfortunately iTunes only partially works with Wine. You will be able to run and install it, but it won't be able to detect your iPod. I found the cause of it at the Apple forum: some unregistered dll-files.
I have copied the dll-files from a windowsbox to the system32 directory in Wine (/home/user/.wine/.../system32/), but those dll-files wouldn't register correctly. So maybe someone could dig further here and find a solution...

VMWare Server
This is a very good (and free) emulator for virtual operating systems, but it has one critical disadvantage: no USB 2.0 support, while new iPods require USB 2.0 to synchronize. You will notice that your iPod will be detected, but only as a USB storage device, not as an iPod.

VMWare Workstation
This distribution of VMWare is better than VMWare Server, but it's not free. You can register for a 30-day valid registration key, but after that you will have to buy a license key. One essential advantage in this emulator is the support for USB 2.0.
I have tried the emulator in the 30-day period. I succeeded in installing iTunes and synchronizing my iPod, but somehow my host (Ubuntu) crashes after some time while using VMWare Workstation. So no problem with the synchronisation, but it crashes (in my case) and it's expensive.

Introduction


Latest generation iPods (such as iPod nano 3th gen) only synchronize with iTunes 7.4 due to encrypted firmware. This is a serious problem for people who do not use Microsoft Windows or Mac OS. I currently use freeBSD(UNIX) and Ubuntu (Debian based Linux). My freeBSD machine operates as a textbased server, so I won't discuss the functionality of an iPod on this machine.

On my Ubuntu machine I have searched for a acceptable method to synchronize my iPod Nano (3th generation), with success.

Please, if you find errors in my method or if you know a better/faster way to do it -> feel free to react!