»   »   »

Setting up a dual-booting Slackware Linux/Windows Oracle Workstation


This document details the setup of a workstation that runs Slackware Linux, Microsoft Windows and Oracle. 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 2nd in a series of Roqet Workstations, the first was 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.

The distribution of GNU/Linux I chose for this workstation was Slackware.

The version of Microsoft Windows I used was Windows XP Professional.

The version of Oracle I used was Oracle 10g.

Why Linux?

The main reason I chose Linux were stability, security, affordability and usability. Linux gave me all of that. I also considered the various flavors of BSD, but found that I had become more comfortable with Linux over the last couple of years.

Why Slackware?

Having used a Red Hat workstation for over a year, why change it to Slackware?

Well, I been using Slackware on my server for several years, it's the most robust operating system I've ever had. Although I haven't really had "stability" issues with Red Hat, my system needed an upgrade due to the end of support by Red Hat and various incompatibility issues with application upgrades. So I had a choice, Fedora Linux, which is the new community driven free version of Red Hat, or another distribution. I got used to changing settings in files from my continued use of Slackware on my server, so Slackware didn't scare me like it has done for many uninformed people. I wanted to see how Slackware had advanced over the years, and to see if I could get a smoothly working system up'n'running on it. Basically it spoke to the geek in me, but I had to balance this with usability as I'm not the only one who uses this workstation.

Why Dual-boot to Windows?

Simple reason, I do most of my work at a company that develops Windows-based software. Although I usually just use rdesktop to connect to my work machine, sometimes I need to test some software from home.

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 
Black SUPERCASE 1150-Case 
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 
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):

Install Slackware

My 1st step was to download the Slackware ISO images and burn them to CD (from linuxiso.org):

wget http://www.linuxiso.org/download.php/472/slackware-10.0-install-d1.iso
wget http://www.linuxiso.org/download.php/595/slackware-10.0-install-d2.iso
cdrecord dev=0,0,0 -dao -data slackware-10.0-install-d1.iso
cdrecord dev=0,0,0 -dao -data slackware-10.0-install-d2.iso

Then I inserted the 1st CD and rebooted my PC. I followed the partitioning advice using cfdisk from here.

Then I followed the instructions for the "Full" install: Use here or here for examples (the latter is the "official" Slackware book, but it's a bit out-of-date. I chose to setup 2 major partitions: - 10GB for Windows XP (because as I mentioned, I sometimes need it for work) and 30GB for Slackware Linux.

One of the important things to know is the power management of your BIOS; in my case it uses ACPI, this does make a difference, because if you want the machine to automatically power-down when you shutdown and you have ACPI, then you need to choose the bareacpi.i kernel instead of the acpi.i kernel (which is the default), if your BIOS uses APM, then you can just choose bare.i.

For further reading: here are some more advanced setting options, taken from this book (just follow the Slackware items).


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:
netmask (local):
gateway address: (that's where my router is)
accessing a nameserver? yes
nameserver ip:
after complete, edit /etc/resolv.conf,add a 2nd nameserver:

Add Users

After the installation, the pc boots to the command line, with root being the only account on the system. Use adduser username to add new accounts as is shown here.

Mouse Wheel modifications

If for some reason, your mouse-wheel wasn't detected (note that the install of dropline gnome sometimes changes the initial setting), here's what you can do to get it to work: edit /etc/X11/xorg.conf, and add the following to the "Pointers" section:

Option "ZAxisMapping" "4 5"
Option "Buttons" "5"
Option "Protocol" "IMPS/2"

CDRW and CD-burning

The quick method of burning a cd is to use this command (where the .iso has been pre-created):

cdrecord -v -dao dev=ATAPI:0,0,0 /path-to-filename/filename.iso

However, a more permanent solution is this: if you have an IDE based CD writer, then (unless you are using the 2.6 kernel) you'll have to do the following:

Add the line append="hdc=ide-scsi" to your /etc/lilo.conf file (don't forget to run lilo after your changes), then you need to change the symbolic link for the CDRW:

cd /dev
rm cdrom
ln -sf scd0 cdrom

That's it, just restart the machine and you're done, you'll be able to mount cd's and use nautilus and other cd-burning software to create cd's.

This and some other advice comes from an email that is found in the inbox of your root account (placed there by Patrick Volkerding, the founder and maintainer of Slackware).

Graphical Lilo

The default Slackware boot manager (lilo), is set by default to not use a graphical background, if you want one, do the following:

Create a bitmap file of size 640 x 480, with max 256 colors, then as root copy that file to /boot, then edit your /etc/lilo.conf file:

#the following line must be commented out:
#message = /boot/boot_message.txt 
map = /boot/map-bmp
bitmap = /boot/spaceback640480.bmp
bmp-colors = 15,,0;5,,15
bmp-table = 59,5,1,18,
bmp-timer= 66,28,6,8,0

Then run /sbin/lilo, if you have no errors, when you restart, you'll now see your bitmap as the background.

BTW if you want to lessen the time it takes to automatically select a partition to boot, then just change the line: timeout=1200 to a lesser value.


On Slackware, the command vi runs elvis, a vi text editor clone. If like me, you prefer vim(VIiMproved), then run this as root:

ln -sf /usr/bin/vim /usr/bin/vi

Advanced Power Management

If you want your pc to power-down when you tell it to shutdown like it does in Windows, you may (depending on if your machine's power-management is APM or ACPI, mine was ACPI, and I didn't need to do this) have to edit the /etc/rc.d/rc.modules file, and uncomment the line:

/sbin/modprobe apm

Graphical Login

The default Slackware login is to the command-line (which means that to get to a desktop, you'd have to run startx). If you prefer the graphical login (GDM by default), then do the following:

pico /etc/inittab

change line which reads id:3:initdefault: to id:4:initdefault:

Then to get the graphical login, you can reboot your machine, or as root type: init 4 (as an aside, if you want to switch back to the comand-line login, you can switch the above change and reboot or as root type: init 3.

By the way, if you want to use KDE, and want to use the KDE login manager (GDM, the Gnome login manager is enabled by default), then edit the /etc/rc.d/rc.4 file and switch the gdm section with the kdm section.


There shouldn't be any need to change the defaults, but it's good to know that the configuration file is /etc/apache/httpd.conf, the webserver's files should be in /var/www/httpd and /var/www/cgi-bin .

To start the webserver (should automatically start on system startup), run: /etc/rc.d/rc.httpd start and to stop it (also automatic during system shutdown): /etc/rc.d/rc.httpd stop


The fortune program automatically runs on each login, this wore a bit thin after a while, so I changed the persmissions of the /etc/profile.d/bsdgames.sh file:

chmod -x /etc/profile.d/bsd-games-login-fortune.sh

A friendly Welcome

I also wanted a friendly welcome message, so I created a welcome file (all the .sh files in /etc/profile.d are run at login (provided they have the correct permissions):

cat > /etc/profile.d/welcome.sh 
# roqetman additions:
echo Server: $serverdate :: Welcome to myhost.

Then type: chmod +x /etc/profile.d/welcome.sh

If you want to change the graphical login message, just run gdmgreeter and modify it there.

Desktop Environments

Unlike Windows, Slackware (indeed most Linux distributions) has several desktop managers and two desktop environments available. During the install, you get to choose which one you want to set as default, but you can change this anytime. The two desktop environments are KDE and Gnome; KDE is the environment that the founder of Slackware prefers, so you will find that the Gnome install on Slackware is pretty basic, while the KDE install has all the bells'n'whistles. I like both environments, but I've been using the Gnome environment more. There is a couple of projects outside of Slackware that create a more fully functional version of Gnome, which I cover in the next 2 sections.

Dropline Gnome

Although the latest version of Slackware does have Gnome2.6, there are some packages that have difficulty installing on Slackware's version of Gnome. One of the problems I had was installing evolution, my preferred mail client). Dropline Gnome is a project where this (and several other issues) have been sorted out, if like me, you want this ease of use, then you'll use it. A note though, when I created this document Dropline Gnome was installing Gnome 2.6, but it has since started installing Gnome 2.8 which requires a 2.6 Linux kernel. This is *not* the stable Linux kernel (at least not of this writing), and I wasn't comfortable upgrading my kernel at the time of install, so I'm now stuck with the Gnome 2.6 version of Dropline Gnome until I upgrade my kernel; these are the hazards of using cutting-edge open-source or free software, the unstable versions will require more "tweaks" and therefore more of your (or in this case my) time. That aside, here's what I did to get Dropline installed...

As root, download the latest dropline gnome Slackware package (check here to get the latest version number):

wget http://www.dropline.net/gnome/files/dropline-installer-2.4.7-i686-1dl.tgz

Install the package:

installpkg dropline-installer-2.4.7-i686-1dl.tgz



Here's a posting on how to install an older version of Dropline.

Gware Gnome

There is another Slackware "native" Gnome project run by a group of developers who (like Dropline) are not part of the main Slackware distribution, but have modified Gnome to run properly on Slackware. The project is Gware; I can't say much about it as I haven't tried it yet. The project is in it's infancy, but looks promising. As time permits, I will set up a machine to give it a try and modify this document with my findings.

As another aside, here's some fun things to try in Gnome: 10 Gnome Tweaks You Canít Live Without

Sound Configuration

If the install didn't autodetect your sound card...

From the command line (as root) type alsaconf for sound configuration.

After the initial configuration, run alsamixer or gamix to set volumes etc. and alsactl store to save your settings, for example:

alsactl store

I had an unusual problem; sound only worked from one user account. I found advice here on how to fix this issue.

Evolution and Connecting to an MS Exchange Server

As I mentioned earlier, if you want the quick'n'easy way to install evolution, use Dropline or Gware Gnome, otherwise, here's some things you can try...

Get the source for evolution from here; if Gnome2.8 one day became part of the standard Slackware distribution, then Evolution would be installed by default (as it becomes the primary email client for Gnome from that point on), sadly considering the primary maintainers issues with Gnome on Slackware, this is unlikely to happen.

Either way, once evolution was installed, I set it up to connect to my work's MS Exchange mail server...

Ximian's Documentation on this: http://www.ximian.com/support/manuals/evolution_14/x3010.html

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 and Remote Desktop

These are 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

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.

USB Printers and CUPS

I use an Epson CX3200 USB printer. The standard method of printer handling on Linux these days is CUPS;

CUPS provides its own Web console at http://localhost:631. Launch the Add Printer from Administration. Assign a single word to the Name field to uniquely identify the printer. The Location and Description fields are for your own benefit, so just type something meaningful to yourself. Select a connection method (you can even use a URL to another remote CUPS server). The next two prompts enable you to select a PPD and complete the process. The PPDs shipped with CUPS are generic, so use one that corresponds with your printer for best results. Adjust options such as paper type and size if necessary. If you have multiple printers, you can establish Classes to act as virtual print queues to balance jobs between them.

Install OpenOffice

Next I downloaded and installed OpenOffice, their install is nice'n'smooth, to install it;

Go to the OpenOffice site, download the file, unpack it and install it as per their instructions.

To enable OpenOffice to print from my printer I did the following (as root):

I ran /usr/local/OpenOffice(versionnumber)/spadmin and for the command-line I changed lpr to lpr-cups.

Digital Camera

I use a Sony DSC-S75, but this should work for most Digital Cameras.

To mount a digital camera as root, you can use:

mkdir /mnt/USB
mount -t vfat /dev/sda1 /mnt/USB

Now this isn't an automount solution, which I would like, and you have to do it as root, but it works for now; I'll update this once I've worked out how to set things up so individual users can have access to the camera and take advantage of the nice Gnome Digital Camera tools available.

Apple iPod

I got one as a gift, so I thought I'd add this section on how to use it in Linux.

As root, install gtkpod, then plug the iPod into your USB port.

cat /proc/scsi/scsi (see that it's mounted)

mount -t vfat /dev/sda2 /mnt/ipod (to mount it)

gtkpod (a GUI tool similar to a simpler version of Apple's iTunes.

umount /mnt/ipod (to unmount the iPod)

eject /dev/sda2 (to release the iPod (returns to the iPod's main menu from the "Do Not Disconnect" screen).

Adding Fonts

To add TrueType fonts to your system, copy the new fonts to the /usr/X11R6/lib/X11/fonts/TTF directory, then change their permissions: chmod 644 *.ttf *.TTF, and then run the command: /usr/X11R6/bin/fc-cache.

To get OpenOffice to see these new fonts, copy them from the /usr/X11R6/lib/X11/fonts/TTF directory to the /opt/OpenOffice.org1.1/share/fonts/truetype directory.

Printing with The Gimp

The Gimp is the standard graphics manipulation program on Linux. The install in the case of Slackware, is done by default. However, to enable the printing of images, you have to modify the following (after setting CUPS as mentioned in "USB Printers and CUPS" above):

Right-click on an image, select Print and then modify the following values:

Printer Model: Postscript Level 2
Setup printer: (browse to your ppd folder and choose the ppd file for your printer - in my case it's here: [/etc/cups/ppd/EpsonCX3200.ppd])
Command: lpr-cups

Upgrading Slackware

Keeping Slackware up-to-date with Swaret is documented here.

Install of Oracle 10g

This is documented here.


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.

© Roqet :: 2022-03-01 16:07:34