Linux on an HP Omnibook 6100
A Guide to Installing Slackware Linux V8.0
Disclaimer (sort of..):
This document is based on the experiences I had installing Linux on my HP Omnibook 6100 laptop. It is presented here as a reference tool for anyone who wishes to install Linux on the same laptop. It is not to be taken as gospel, but rather as an example of how one individual went about the process. There are no guarantees this method will work, although it worked for me, it may not work for you.
Overview:
My laptop is an HP Omnibook 6100, model number F3253W. Due to work requirements I am required to run Windows partitions as well. This article will describe how I achieved a triple boot arrangement and the basic configuration of Linux to work with the hardware supplied. Note I will NOT be describing the Windows OS configuration. You are on your own there!
Hardware:
The laptop is configured as follows:
Celeron 866Mhz processor
256Mb RAM
20Gb HDD
14.1'' TFT screen
ATI Technologies Radeon Mobility M6 Graphics Card
Intel Pro100 VM Internal 10/100 LAN card
Integrated Wireless 802.11b Actiontec Prism Internal Wireless LAN
3Com V.90 MPCI Modem 556B PCI Internal 56k modem
ESS Technology ES1988 Allegro-1 Internal Audio card
3.5'' FDD swappable module (useable via the parallel port as well)
LS240 Superdisk swappable module
PCMCIA slots using the Texas Instruments PCI 1420 CardBus PC controller
Requirements:
The first thing is an HP Omnibook 6100. Obvious, yes, but this method has not been tested on anything else (except an HP Omnibook 2000 P133) so may not work for any other type of laptop.
A CD-ROM of Windows 98, Windows 2000 and of course Slackware Version 8.0.
Although the Linux CD-ROM is bootable, I like to make the boot/root disk set as they can be very useful should you have problems down the track. Instructions for this are available on the booklet that is in the CD-ROM case.
Make sure the BIOS boot order is CD-ROM, FDD then HDD. Otherwise you will need Boot Floppies for each OS.
Several hours of spare time, the pizza shops phone number and plenty of your preferred caffienated beverage.
Partitioning:
The first thing I did was to plan the partitioning of the hard disk. I used my own hard disk not the one supplied with the laptop however the same basic procedure would apply.
My requirements are for a Windows 98 partition (due to work related programs that require a "real" DOS session), a Windows 2000 partition (because I can) and finally the most important, a Linux partition. I partitioned the drive as follows:
Primary partition 1 - Windows 98 hibernation partition
Primary partition 2 - Windows 98 using FAT32 filesystem
Primary partition 3 - Linux using ext2 filesystem
Primary partition 4 - Extended partition 1 - Windows 2000 using NTFS filesystem
Extended partition 2 - Linux swap partition
The following table shows how the partitions were configured for each operating system.
Partition |
Linux Device name |
Windows Device name |
Size |
Type |
Filesystem Description |
---|---|---|---|---|---|
Primary 1 |
/dev/hda1 |
|
800Mb |
A0 |
IBM Thinkpad Hibernation |
Primary 2 |
/dev/hda2 |
C:\ |
6Gb |
0C |
FAT32 (LBA) |
Primary 3 |
/dev/hda3 |
Not visible to any windows |
6Gb |
83 |
Ext2 (Linux Native) |
Extended 1 |
/dev/hda5 |
E:\ (Not visible to Windows 98) |
6Gb |
7 |
NTFS |
Extended 2 |
/dev/hda6 |
Not visible to any windows |
132Mb |
82 |
Linux swap |
The basic installation procedure I followed was to install the least intelligent OS first finishing with the most intelligent OS. This meant starting with Windows 98.
To make life easy here I used the HP Recovery CD-ROM that came with the laptop. This, of course, used the entire 20Gb of hard disk to install Windows 98!, ...greedy isn't it? I then ran "scandisk" and "defrag" to "shift”" all the data to one end of the disk. This method has the advantage of creating the hibernation partition, formatting and installing Windows 98 in one step.
Note: If you don't have the recovery CD-ROM, you can create these partitions manually when you create the other partitions. In fact it will be easier as you won't need to "cut down" the installed partition. However you will need to manually format and install Windows 98.
Now that Windows 98 is "down one end", I ran "FIPS", a program that comes with Linux that allows me to repartition a "live" hard disk, that is, not lose the data currently installed, in this case, Windows 98. I read the instructions for FIPS, then I reduced the Windows 98 partition down to 6Gb.
Next, I booted the laptop using the Linux boot/root disks (as created earlier). From here I used "cfdisk" to create the remainder of the partitions. Don't forget to set the type flags correctly and to write the data to disk when exiting.
At this point I now have a 20Gb hard disk partitioned as per the table above and with Windows 98 installed. The laptop would now boot into Windows 98 and run quite happily. Windows 98 found most drivers and most things worked out of the box.
The next OS to be installed was Windows 2000. The CD-ROM was inserted and the laptop rebooted. Windows 2000 now started its installation procedure. I was quick to make sure it did not install over the top of the existing Windows 98 partition, but to install into the correct partition as described in the above table.
The Windows 2000 boot loader was aware of the Windows 98 partition and added it to the boot options list. I could now reboot my laptop in either Windows 98 or Windows 2000. At this point, I set the default OS as being Windows 98, I would have to interrupt the boot sequence to start Windows 2000.
Finally the most intelligent OS was to be installed. Again I rebooted the laptop, however this time I had the Slackware CD-ROM in the CD-ROM drive. Once the laptop had booted, I logged in as "root" and ran "setup". The installation procedure from here is simple and intuitive. Slackware have done a good job of keeping it basic and straightforward.
The process followed was to start by setting up the "target directory". Firstly, it setup the swap space, then the root directory and then one by one allowed me to include the two Windows partitions as part of the bootable file systems.
When I got to the LILO options, I had to make sure that the Windows boot loader in the Windows 2000 partition was added. LILO was installed in the Master Boot Record (MBR) so that it is called before the Windows 2000 boot loader. I added the Windows partition first, then Linux, which makes the default boot option the Windows boot loader. Then as described above, Windows 98 is the default OS for that boot loader. This means the laptop will boot into Windows 98 if the process is uninterrupted, and the other OSs as required.
Other notable points during the installation process are:
I chose the bareapm.i as the kernel to install. This allows for laptop power management.
I did not specify which ethernet card I had nor would I let it probe for one. I prefer to do it manually.
I specified an IP address of 192.168.5.10 rather than DHCP. This can be changed later in "/etc/rc.d/rc.inet1" as needed.
The pointing device selected was "PS/2" (as used by most laptops).
No link was made to /dev/modem. The reason will become obvious later on.
The rest of the Linux installation was very straightforward and I used the basic defaults for most options. Once the installation was completed, and had rebooted into Linux, I edited the file "/etc/inittab". I changed the default run level to 4, the X window system. I also changed the "vga=normal" to "vga=792" in the "/etc/lilo.conf" file. I then ran "lilo -v-v-v" to install it. This starts the VESA framebuffer support in the kernel during bootup.
Now I had a laptop that was bootable into three different GUI operating systems.
It is not my intention to describe how to fully configure Linux but to configure the HP Omnibook 6100 hardware with Slackware Linux, so I will now skip to the configuration of the laptop specific hardware.
Hardware Configuration under Linux:
Most hardware was detected automatically by the Linux kernel. I will describe the process I used on an item by item basis. The order described is not necessarily the required order, just the order I did it. Note: I did all this as user "root".
Graphics Card:
The graphics card is a ATI Technologies Radeon Mobility M6 type card. The X windows system worked straight out of the box for this card. I did not have to make any changes to the configuration file for this work properly. Can't get much easier than that.
LAN Card:
The LAN card is an Intel Pro100 VM ethernet adapter . The appropriate Linux driver module for this card is the "e100" driver module. I created a file under /etc/rc.d called "rc.netdevice" with the contents as follows:
#!/bin/sh
#
# LAN Card configuration
/sbin/modprobe e100
The file needs owner execute permissions. It is called from "/etc/rc.d/rc.modules" during bootup and in conjuction with "/etc/rc.d/rc.inet" gave a working ethernet interface at /dev/eth0.
Wireless LAN:
This is an Integrated Wireless 802.11b Actiontec Prism wireless LAN device. I needed to download the software for this device. The file, "linux-wlan-ng.0.1.13.tar.gz", was retrieved from "www.linux-wlan.com" and saved locally. I untarred it and ran the configure, make, make install triple. The installation instructions were good, they must have been, I managed to installed it! I also needed to load the driver file as with the LAN card. I created a file under /etc/rc.d called "rc.wlandevice" with the following contents:
#!/bin/sh
#
# WLAN Card configuration
/sbin/modprobe prism2_pci
This file needs owner execute permissions. It is called during the boot sequence from the "rc.modules" file where I added a few lines like the reference to "rc.netdevice". When I require the wireless LAN facility I run "./etc/rc.d/wlan start" to start the process running.
V90 Modem:
This modem is a 3Com V.90 MPCI Modem 556B PCI modem card. This means that it is a Winmodem. Unfortunately, there are no drivers suitable for this card under Linux as of June 2002. However, I did find a reference somewhere on the internet indicating that a driver is being planned/developed. More information about Winmodems can be found at "www.linmodems.org". Maybe a few hints at HP or 3Com wouldn't go astray either....
Infrared Port:
The infrared port was configured using the irda-utils-0.9.14.tar.gz package. This is available from "http://sourceforge.net/projects/irda/". I created a file called "/etc/rc.d/rc.irdevice" and entered the following code:
#!/bin/sh
#
# LAN Card configuration
/sbin/modprobe irda
/sbin/modprobe irtty
/usr/sbin/irattach -i /dev/ttyS1 -s 1
This file is called from "/etc/rc.d/rc.modules" in the same fashion as the two LAN interfaces.
In the "/etc/modules.conf" file, I appended the following lines:
# Infrared stuff..
alias tty-ldisc-11 irtty
alias char-major-161 ircomm-tty
To test the port I placed my Nokia 6150 phone in sight of the infrared port and ran "irdadump". This showed the ID packets coming from the phone. The next step now, is to play with some phone related software. There is a very detailed HowTo document that can be found in the "/usr/doc/Linux-HOWTOs" directory called "infrared-HOWTO".
Audio Card:
The audio card in the laptop is an ESS Technology ES1988 Allegro-1 type which uses the "maestro3" driver that comes with most Linux distributions. I only needed to uncomment the line "sbin/modprobe maestro3" in the "/etc/rc.d/rc.modules" file for the driver to work. Next I added a few lines to the "/etc/modules.conf" file.
At the end of the file I appended the following:
# Sound card stuff...
alias char-major-116 snd
alias char-major-14 soundcore
alias snd-card-0 maestro3
alias sound-slot-0 snd-card-0
The sound card was now configured. When I next rebooted and KDE came up I was pleasantly surprised by a musical introduction.
More information can be found at "www.linux.org.uk/OSS".
USB Ports:
The USB ports are an Intel based port. The drivers required came with Linux and only needed to be uncommented in the "/etc/rc.d/rc.modules" file. The lines are "/sbin/modprode usb-uhci" and "/sbin/modprobe hid". There are other modules that can be loaded to suit different hardware that you may want to plug in. Just uncomment them as required.
S-Video Output:
Not used as yet, to be continued...
Swappable Modules:
All of the swappable modules were detected by the kernel automatically so no configuration was required for these. The floppy drive, the CD-ROM, the DVD/CD-RW and the LS240 superdisk were all automatically detected by the kernel. What's more, they are hot swappable and all worked out of the box.
The DVD player requires software in order to play DVDs, at this stage I have not installed any suitable software. More information can be found at "www.opendvd.org".
PCMCIA Slots:
The PCMCIA slots are controlled by the Texas Instruments PCI 1420 CardBus PC controller. These are automatically detected by the kernel as well. In fact the modem I use temporarily, (a Xircom combined 10/100 LAN and 56k modem card) was also automatically detected for both the modem and the LAN (as /dev/eth1).
Well that about covers it. I now have an HP Omnibook 6100 working under Slackware Linux, .....oh and those other OSs too.
I hope you have found this reference useful.
Last Updated on 28/06/2002.