Installing a development environment on Ubuntu and XP
This document describes how to install a development environment on a dual boot laptop. The aim is to be able to work equally well on either OS, so it discusses how to share applications across the OS where possible, and share application config across the OS otherwise.
Spec
Dell Inspiron 8600: amongst other things, an 80 gig hdd
Windows XP Professional
Ubuntu Breezy Badger
Installing the OS
This document does not cover installing the dual boot system - there are plenty of resources out there in googlespace on that. Here's how I did it: installed XP first, partitioning the disk to only make 20 gig available to it. Installed Ubuntu next, partitioning the free space:
- 15 gig Fat32
- 2 gig linux swap
- the remainder Ubuntu
The point of the Fat32 partion is to share resources between Ubuntu and Windows such as mail configuration, and platform independent applications such as Maven. Ubuntu can't write to NTFS out of the box, so you need to make it Fat32.
Mounting the shared partition
Ubuntu detects the shared partition and will mount it as /windows by default. Only problem is it's owned by root, and joe-average user won't have write access to it. To fix this edit /etc/fstab (as root) and change
(fill in)
umask=0000
On my system, this partition is available on windows as E: and via Ubuntu as /windows
Tools
This section goes through common developer applications and describes how and what can be shared.
Eclipse 3.1
http://help.eclipse.org/help31/index.jsp?topic=/org.eclipse.platform.doc.isv/reference/misc/multi_user_installs.html
Java
Need a separate installation for each platform.
Python
Comes with Ubuntu. Install separately for Windows. Since Python code is platform inde, you probably want to keep any useful scripts on the shared partition.
Maven
Pure Java, so works equally well on both platforms. Install it (Maven 1.0.2 or Maven 2 aka mvn) on the shared partion. Change the Path on each OS to locate the maven bin folder. Invoking "maven" will execute maven.bat or maven.sh as appropriate. You'll need to set up a few other environment vars for each OS such as MAVEN_HOME, JAVA_HOME.
Sharing the repository
A big win is to share the repository - you don't want one repo under C:\Documents and Settings\user\.maven and another under /home/user/.maven
This is done by
(fill this in)
Thunderbird
Thunderbird exists for both platforms, but isn't platform independent, so you'll need two separate installations.
You can share your inbox and address book etc by creating a new
Profile and placing it on the FAT partition. This website shows how:
http://www.plaintivemewling.com/?p=20
Firefox
As for Thunderbird, you'll need two installations for Firefox, since it's not platform independent. Again, the trick is to share a profile on the FAT partition, but in this case there are some things that you'll need to keep separate....e.g. you probably don't want to share plugins since they're different for each OS. THis website shows how to share your bookmarks, passwords and cookies:
http://www.plaintivemewling.com/?p=20
Also see
http://www.ces.clemson.edu/linux/firefox-thunderbird.shtml