Setting up a dual-booting Windows XP, Ubuntu Linux Workstation
Prelude
This document details the setup of a workstation that runs Ubuntu Linux and Windows XP Professional. I keep it up-to-date in case something happens to my machine and I have to reinstall the operating systems and all the components I use, but it could be useful to someone who wants to setup a similar system. This is the 3rd in a series of Roqet Workstations, the first was here, the 2nd here.
If you are using this document to setup your own system, please note that some version numbers of files/applications may have changed since this was written.
Why Ubuntu Linux?
Although my favorite Linux distribution is Slackware, it no longer supports the Gnome Desktop Environment, which I prefer. There are ways to install that environment onto Slackware, but on the whole these are not smooth and there are integration issues. I have found that Ubuntu Linux is a very well-rounded desktop distribution, that is easy to modify and maintain. My server stays Slackware though. Ubuntu is fantastic at detecting hardware by the way.
Why Windows XP?
Simply put, I do most of my work at a company that develops Windows-based software, and there are more common-use applications written for Windows than any other operating system.
Hardware Profile
Here is the hardware I had for the workstation (most parts were purchased from MWave.com):
INTEL PENTIUM 4 1.7G - 478 INTEL D845GEBV2L-MB (on-board video+audio) Chipset Intel 845GE From Factor ATX Data Bus Speed 533 MHz Provided Slot Types PCI Slot From Factor Socket 478 512MB NON-ECC PC2100, Maximum Supported RAM Size 2 GB RAM Technology Supported DDR SDRAM, RAM Type DRAM Video Output From Factor Integrated Graphics Interface Type AGP 4x, Graphics Processor Intel 845GE Audio Form Factor Integrated, Sound Output Mode Stereo Storage Controller Type IDE / EIDE, Storage Controller Interface Type PCI 40MB Western-Digital 7200RPM IDE HD 1.44MB FDD LITE ON 48X/24X/48X CDRW Black SUPERCASE 1150-Case LOGITECH S48 3-BTTN PS2 WHEEL MOUSE LOGITECH DELUXE ACCESS KEYBOARD Interface Provided RS-232, IEEE 1284 (EPP/ECP), Input, Ethernet 10Base-T/100Base-TX, DMA/ATA-100 (Ultra) Cables: IDE cable Compliant Standards Plug and Play, FCC Class B certified, CSA, VCCI Class B ITE, EN50082, EN55022 Motherboard Package Type Retail Software Included Drivers & utilities, Intel Express Installer, Norton Internet Security 2002 BIOS Type AMI Manufacturer Part No. BOXD845GEBV2L BIOS Changes: In order to be able to use 16 million colors on a resolution 800x600 or above, you have to enter the BIOS (F1 after reboot/start), and change the video card to use 8MB instead of 1MB. Intel provides this advice and more here. The Intel Desktop Board D845GEBV2 expands the portfolio of integrated graphics platforms for the Intel Pentium 4 processor. Featuring the Intel 845GE chipset, the desktop board delivers support for DDR 333 memory technology along with improved Intel Extreme Graphics. As an industry leader, Intel continues its tradition of delivering innovative desktop board technologies with the D845GEBV2 Desktop Board. I also added a videocard (without the videocard, the onboard video gave problems when switching from the Xwindows desktop to the Xwindows login (gdmgreeter), basically, the screen would go blank): NVIDIA GeForce2
Disk Partitions
Setup primary partitions for Windows and Linux using cfdisk
, fdisk
or just use your Ubuntu disk, and exit before the install of the OS (Windows should be installed 1st).
Install Windows XP
Puchase Windows XP Professional from here.
Install on the partition you set aside for it, and run through Windows Updates until the OS (including Service Pack 2) is installed and the firewall is on.
Network
As I often need to access the workstation via my server while I'm at work, I need to set a fixed IP Address.
Control Panel -> Administrative Tools -> Local Area Connection Properties
Click on "Internet Protocol (TCP/IP)" and select Properties
Choose "Use the following IP Address" and make settings similar to these:
IP address: 192.168.1.24 Subnet netmask: 255.255.255.0 Default gateway: 192.168.1.1 Preferred DNS server: 63.210.174.80
Remote access Via SSH or Telnet
This is documented here.
Remote access via SFTP or FTP
See the link in the above section.
Oracle Client for Windows
The setup of Oracle InstantClient 10g is documented here.
Perl for Windows
Install Perl for windows from Activestate.
To add libraries, from the command line type: ppm
Antivirus
An absolute necessity on Windows. I use ClamWin, a free antivirus program. It does not run in the background however, so I set-up a scheduled task to run it daily or weekly.
A handy setting in ClamWin is to set it to email you if it finds a virus. I set it to email my Linux server; fo this to work, I did not put in a username or password, but had to set the server to relay messages from the Windows machine's IP Address.
Install Ubuntu Linux
You can order *free* CD's or download the Ubuntu Linux ISO image from here and burn it onto CD yourself.
Then insert the new CD and restart the machine. The install is very easy, and Ubuntu detects most modern hardware without a problem.
Network
During the installation you can set your network connections, but if you want to modify your network settings later, use the netconfig
utility. Another thing to remember is to update your /etc/resolv.conf
file to add in any additional nameserver ip addresses (check your isp or your registrar for these - I use changeip.com to manage mine.)
For example these were my settings (changed for privacy):
hostname: myhost domain: mydomain.org static ip address: 192.168.1.24 netmask (local): 255.255.255.0 gateway address: 192.168.1.1 (that's where my router is) accessing a nameserver? yes nameserver ip: 63.210.174.80 after complete, edit /etc/resolv.conf,add a 2nd nameserver: 68.15.30.144
Graphical GRUB
The default Ubuntu boot manager is GRUB. It will allow you to switch between Windows and Linux when the machine starts.
Here's how you change the background for GRUB:
Download a gzipped XPM image from places like here and here
Copy it to the GRUB directory: sudo cp FILE.xpm.gz /boot/grub
(Where FILE.xpm.gz is the file you just downloaded).
Tell GRUB to use the image: sudo gedit /boot/grub/menu.lst
Add a line under the "timeout" line to read like this: splashimage=(hdX,Y)/boot/grub/FILE.xpm.gz
(Where X is the hard drive number Ubuntu is on, Y is the partition number (0-based), and FILE.xpm.gz
is file you just downloaded and copied. For example, If /
(the root directory) is /dev/hda8
you would write: splashimage=(hd0,7)/boot/grub/FILE.xpm.gz
. If you had a /boot
partition as /dev/hdc1
you would write: splashimage=(hd2,0)/grub/FILE.xpm.gz
)
Save the file, restart and you will now be able to see the logo in the background!
Nautilus
Nautilus is the default File Manager for Gnome. Unfortunately the Ubutu team saw fit to cripple it (damage the Spacial mode so that it destroys the parent window each time you open a sub-window). Rather that argue my case here, I'll simply show you how to set it as Gnome intended:
sudo gconf-editor
-> apps -> nautilus -> preference -> no_ubuntu_spatial
Evolution and Connecting to an MS Exchange Server
The default mail client on Ubuntu is Evolution.
To setup Evolution to connect to a MS Exchange server:
Under the "Receiving Mail" tab;
Server Type: Microsoft Exchange Exchange Server: mail.domainname.com (strip off the http://) Windows Username: myusername
Under "Receiving Mail Options" tab:
Global Catalog Server Name: addresses.domainname.com Mailbox name: myusername OWA Path: /exchange public folder server: addresses
VPN
This is documented here.
Media Player
There are many, several of which are installed by default; I'll just mention one extra that I like to add, the RealPlayer Media player;
You can download it from Here, then to install:
chmod a+x RealPlayer10GOLD.bin ./RealPlayer10GOLD.bin
Perl and CPAN
The Perl language is installed by default, as is CPAN. CPAN (Comprehensive Perl Archive Network) is the source for Perl modules and extensions. Thousands of useful modules and libraries are available in this repository, all are free. To get CPAN configured, type: cpan
, then once cpan
has started, type: o conf init
. You should be able to accept the defaults from there, the important thing to find out is the correct URL's, which you can get from here; for example, I currently use: ftp://cpan.erlbaum.net/
and ftp://ftp.rge.com/pub/languages/perl/
as I'm close to NY, USA.
Oracle Client for Linux
The setup of Oracle InstantClient 10g is documented here.
Questions?
On This document? Contact me here.
Where to find documentation on your system: in the /usr/doc
directory.
Linux general? Start Here.
Linux Command-line commands? I have a document on this Here.