SL302 Installation on a Dell Latitude C810
This laptop has long be a dual boot W2K-Linux. It's a 1.13 GHz
Pentium III machine, 512 MB memory, 20 GB disk, and a very nice flat
screen (1600x1200). The only drawbacks are its weight (I do have 2
batteries) and two quite noisy fans.
I moved to SL302 from a Fedora Core 1 (and before that I was running RH7.2).
Note: I'm using this laptop both at work, where it is docked (the dock station having its own NIC), and at home (undocked).
The Good
Installation process went mostly ok, meaning I was able to boot afterwards and have something to play with ;-)
yum (which I discoverd using FC1) is really a nice tool to handle package installation and keep a machine up to date !
The Bad
XFree86 driver "nv" is not really adequate for my needs, e.g. I never suceeded to make it work with my docked screen. But this problem is not SL specific, I had it with both RH7.2 and FC1. So I'm using NVidia drivers directly.
afs installation was not really smooth (but it finally works fine)
The unknown
I do have a WiFi PCMCIA card, which used to work under FC1, but I've not tried it yet on SL302.
Same thing for my Wacom Graphire 3 tablet.
I have never tested IrDA.
Extra Steps Needed
I use some home made scripts to manage my "profiles" (both networking and graphics, as my docked screen is rather old and has a much lower resolution than the laptop screen (!)) : at home using my ISP's dhcp, at work being docked, or anywhere unplugged from any network.
lspci (while docked)
00:00.0 Host bridge: Intel Corp. 82815 815 Chipset Host Bridge and Memory Controller Hub (rev 04)
00:01.0 PCI bridge: Intel Corp. 82815 815 Chipset AGP Bridge (rev 04)
00:1e.0 PCI bridge: Intel Corp. 82801BAM/CAM PCI Bridge (rev 03)
00:1f.0 ISA bridge: Intel Corp. 82801BAM ISA Bridge (LPC) (rev 03)
00:1f.1 IDE interface: Intel Corp. 82801BAM IDE U100 (rev 03)
00:1f.2 USB Controller: Intel Corp. 82801BA/BAM USB (Hub #1) (rev 03)
01:00.0 VGA compatible controller: nVidia Corporation NV11 [GeForce2 Go] (rev b2)
02:03.0 Multimedia audio controller: ESS Technology ES1983S Maestro-3i PCI Audio Accelerator (rev 10)
02:06.0 Ethernet controller: 3Com Corporation 3c556 Hurricane CardBus [Cyclone] (rev 10)
02:06.1 Communication controller: 3Com Corporation Mini PCI 56k Winmodem (rev 10)
02:08.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 78)
02:0f.0 CardBus bridge: Texas Instruments PCI4451 PC card Cardbus Controller
02:0f.1 CardBus bridge: Texas Instruments PCI4451 PC card Cardbus Controller
02:0f.2 FireWire (IEEE 1394): Texas Instruments PCI4451 IEEE-1394 Controller
Step-by-Step
Installation
I installed from CD I've burnt from the ISO I've got from here. I was undocked at that time.
Monitor was not probed by anaconda, but installation was graphical anyway, though the screen was a little bit tiny wth a huge black border (as the resolution was probably only 800x600 instead of the 1600x1200 available on the laptop screen).
The touchpad was detected as "generic 3 button PS/2 mouse" and works ok like that.
I chose "Workstation" installation type (though if I ever redo it from scratch I would choose custom as I then missed a lot of packages, see below).
I let the automatic partition do its job on my pre-existing single linux partition, and then tweaked it a little bit to get a separated /home. My hda disk is a HITACHI-DK-23DA-20, size 19077 MB.
I selected firewall, and let ssh go through it. Nothing else.
721 packages were to be installed (2578 MB) and it took roughly 30 minutes to complete. Only disk 1 & 2 of the distribution were required.
Note: My sound card (ESS Maestro3) was correctly detected and is running fine, using maestro3 module.
Post installation
Using chkconfig, I disactivated the yum update.
I've switched to KDE instead of Gnome.
First thing I did as root was to launch "updatedb" to be able to easily "locate" things...
I then changed my default runlevel to 3 in inittab (kind of a must to be able to play with X configuration later on).
At that point I was stuck when trying to dock my laptop as I could not get X at all.
I removed the following packages which I do not use (I prefer the most recent firefox and thunderbird) :
- mozilla-nspr
- mozilla-nss
- mozilla
- mozilla-mail
- mozilla-chat
- gaim
I disabled mdmpd service (using chkconfig) as I don't know what it is for...
yum update kernel
Then compiled and installed nvidia driver, as per nvidia instructions, w/o any problem.
Then patched the /etc/rc.d/init.d/cups to open port 631 in my firewall (otherwise I do not see my lab printers)
yum install xemacs (I cannot live w/o xemacs !)
upgrade yum by hand to the latest to be found under ftp://.../SL302/contrib/RPMS
AFS installation was not really smooth. Here's the final recipe, I've got using very valuable help from the scientific-linux-users mailing list:
- yum groupinstall "OpenAFS Client"
- yum install kernel-module-openafs-`uname -r` (as the previous one picked the wrong module)
- patch /usr/vice/etc/CellServDB to change rhic to rhic.bnl.gov
- apply a local patch to /etc/rc.d/init.d/afs otherwise afs service won't start
I do have a digital camera and I like to handle it through the digikam KDE application. I downloaded digikam-0.6.2.tar.bz2 and digikam-plugins-0.6.2, and had to install the following dependencies to be able to compile using (after a configure --with-qt-dir=/usr/lib/qt-3.1 --prefix=/usr) :
- yum install qt-devel
- yum install kdelibs-devel
- yum install arts-devel
- yum install gphoto2-devel
- rpmbuild --rebuild libexif-0.5.12 (and libexif-devel) from DAG rpms.
- yum install kdesdk
Made rpms for Firefox 1.0PR and Thunderbird 0.8 and installed them
yum install tetex-latex
Installed from src rpm graphviz (required yum install tck-devel tk-devel) to be used with doxygen
Installed by hand in /opt :
- python-2.3.4
- Zope-2.7.2
- Plone-2.0.4
- CMFBoard-2.1.2
device diskonkey {
partition 0
match hd diskOnKey
match hd "Flash Drive" <--- Added this line
}
Profiles
To ease transitions from various working places, I like to have my grub presenting me a list of profiles : e.g. "Home", "Docked", "Windows".
I based this on the network profiles to be set up using the redhat-config-network tool, so my grub changes are limited to duplicating the normal linux kernel line there to :
kernel /vmlinuz-2.4.21-15.0.4.EL ro root=LABEL=/ hdb=ide-scsi netprofile
=docked
The, I do have a home-made /etc/rc.local :
#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.
touch /var/lock/subsys/local
# Source functions library
. /etc/init.d/functions
PROFILEDIR=/etc/sysconfig/profiles
CURRENT_PROFILE=$netprofile
# Need a given file hierarchy to work
if [ -f $PROFILEDIR ]; then
exit 0
fi
if [ ! -d $PROFILEDIR/$CURRENT_PROFILE ]; then
echo -n "ERROR : " >> /root/rc.local.log
echo -n `date` >> /root/rc.local.log
echo "$PROFILEDIR/$CURRENT_PROFILE does not exist" >> /root/rc.local.log
exit 0
fi
echo -n `date` >> /root/rc.local.log
echo "current_profile is $CURRENT_PROFILE" >> /root/rc.local.log
COPYLIST=$PROFILEDIR/$CURRENT_PROFILE/copylist
if [ -f $COPYLIST ]; then
while read source dest; do
mkdir -p $PROFILEDIR/$CURRENT_PROFILE/backup
cp -f $dest $PROFILEDIR/$CURRENT_PROFILE/backup/$source
cp -f $PROFILEDIR/$CURRENT_PROFILE/$source $dest
done < $COPYLIST
fi
SERVICELIST=$PROFILEDIR/$CURRENT_PROFILE/servicelist
if [ -f $SERVICELIST ]; then
while read service what; do
/sbin/service $service $what
done < $SERVICELIST
fi
which uses a special home-made directory /etc/sysconfig/profiles to look for :
- files to be copied from the profile to system directories (e.g. XF86Config)
- services to be started in that profile (e.g. ntpd, sendmail)
# ls /etc/sysconfig/profiles/docked/
copylist ntpservers servicelist XF86Config
ntp.conf sendmail.cf step-tickers
# cat copylist
XF86Config /etc/X11/XF86Config
ntp.conf /etc/ntp.conf
ntpservers /etc/ntp/ntpservers
step-tickers /etc/ntp/step-tickers
sendmail.cf /etc/mail/sendmail.cf
# cat servicelist
sshd start
ntpd start
afs start
sendmail start
cups start
Note that the services in servicelist must not be configured to be
started by default (e.g. a chkconfig --level 2345 [service] off must
have been issued at some point) upon boot.
The NIC configuration itself is handled by redhat-config-network
tool and the relevant files are under
/etc/sysconfig/networking/profiles, e.g.
# ls /etc/sysconfig/networking/profiles/docked/
hosts ifcfg-eth0 ifcfg-eth1 network resolv.conf
# cat ifcfg-eth0
# 3Com Corporation|3c556 Hurricane CardBus
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=no
TYPE=Ethernet
USERCTL=no
PEERDNS=yes
# cat ifcfg-eth1
ONBOOT=yes
USERCTL=no
PEERDNS=yes
GATEWAY=XXX.XXX.XXX.XXX
TYPE=Ethernet
IPADDR=XXX.XXX.XXX.XXX
DEVICE=eth1
BOOTPROTO=none
NETMASK=XXX.XXX.XXX.XXX
In that case, eth0 is my laptop NIC (not used), and eth1 is my docking station NIC, which is used.