Setting up a dual-booting Slackware Linux/Windows Oracle Workstation
Prelude
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 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
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).
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
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 install=/boot/boot-bmp.b 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.
Vim?
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.
Apache
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
Fortune
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 #!/bin/sh # roqetman additions: serverdate=`date` 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
Setup:
dropline-installer
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:
alsaconf alsamixer 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 ./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.
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.