Linux on a FUJITSU Lifebook S-4542

written by Ed Falk

Extremely useful web pages:

Table of Contents:

Executive Summary

This is not a laptop for an inexperienced Linux user to attempt to install linux on.

Redhat 6.2 works very well on this laptop, provided that you upgrade the window system to XFree86 version 4.0.2. Redhat 7.2 gave me enough problems that I reverted back to 6.2. The Redhat 7.2 problems were mainly in the areas of networking, kernel reconfiguration and the window system. The window system that ships with 7.2 breaks when you switch to a text terminal and then back to the window system. This did not happen with XFree86 V4.0.2

Resolvable Issues

The XFree86 version 3 that ships with Redhat 6.2 is extremely slow on the framebuffer (what?) on the S-4542. Upgrading to XFree86 V4.0.2 solved the problem nicely.

The S-4542 comes with a built-in Winmodem. Luckily, it's made by Lucent Technologies, who have provided a Linux driver.

The built-in ethernet interface on the S-4542 does not come back from a suspend. This was fixed with a script in /etc/??? (see below).

Unresolvable Issues

The sound card on the Fujitsu S-4542 is the Intel i810, which is not supported by the native sound drivers in the linux kernel (and still isn't as of version 2.4.17.) The Alsa sound drivers are more functional: you can at least play back different audio rates, but you can't record and the package is prone to hanging completely, requiring a reboot. There is also a commercial version of the OSS modules available for $35, but I haven't tried it.

General comments about the laptop

Very sweet little machine. Keyboard a little hard to type on (small pitch, short stroke) but I got used to it eventually. People with small hands should have no problems at all.

Biggest annoyance so far: the '/' key and the right-hand meta keys (alt, win1, win2, ctrl) are much too narrow. It would have been better to forget about the right-hand win1 key and make the shift key a little more narrow. A laptop really doesn't need *two* control keys and *two* alt keys and *two* windoze keys. By showing a little restraint, Fujitsu could have built a much more usable keyboard.

DAMN this thing is fast. I type "gzip *.inc" in the keymaps directory, and it's instantaneous.

Volume control on side. Very nice.

        Hardware:
          what                          IO              IRQ     DMA
          IR port                       118-11f         03      03
                                        2e8-2ef
          82440MX PCI                   1f0-1f7
          ide                           1f0-1f7
          CD, target 1, lun 0
          trident cyber 9525DVD         3b0-3bb         09
            PCI/AGP(W98.26)             3c0-3df
            000a0000-000affff
            000b0000-000bffff
            fe800000-febfffff
            fe120000-fe13ffff
            fe400000-fe7fffff
            000c0000-000cbfff
            08010000-0801ffff
          Fujitsu LB Global LTMODEM
          Mouse: PS/2                                   12
          Intel 8255x PCI enet          1440-147f
            fe100000-fe100fff
            fe000000-fe0fffff
          Cardbus controller, TI 1420                   09
            08001000-08001fff
          Cardbus controller, TI 1420                   09
            08002000-08002fff
          audio: 82440mx ac'97,         1000-10ff       09
            Sigma Tel Codec             1400-143f
          usb: intel 82440mx            14c0-14df       15

OS

I installed Redhat 6.2 on my system.

Initial disk layout

I wish to have a dual-boot system, keeping the pre-installed Windows 95 and adding Linux to another partition.

The suspend-to-disk function saves the system state to a file in the Windows 98 partition, so it's especially useful to keep Windoze on your machine.

Installed Partition Magic to shrink the Windoze partition to 5G. All remaining disk operations were done with linux fdisk.


Installation Instructions

Turn off power management

Hold down F2 while booting to get to the BIOS setup screen. Examine settings, learn what they mean. Turn off power management. Note the sound chip I/O address, DMA and interrupt.

Also change the boot device order so that the CDROM boots before the hard disk.

Boot Windows and disable power management there for good measure.

Boot Redhat 6.2 from the CD. At the boot prompt, enter

text Otherwise the GUI install will screw up your screen. (The RH 7.2 GUI install was perfect, however.)

Repartition Disk

During the install process, I used fdisk to create new partitions on the disk: dev boot start end blks id type hda1 * 1 637 5116671 b fat32 hda2 638 688 409657 82 linux swap hda3 689 1440 6040440 5 extended hda5 689 701 104391 83 linux hda6 702 714 104391 83 linux hda7 715 1440 5831563 83 linux This table allows for a swap partition, a 100M root partition, a 100M spare partition for experimenting, and a 5G /usr partition.

Install proceeded flawlessly except for X configuration. This produced the same screwed-up screen that the GUI install produced. (The RH 7.2 install procedure worked flawlessly here too.)


Post-Install tuning

Note: most of the things discussed here are common to all Linux installs, but I thought the information would be helpful.

This information is specific to Redhat 6.2, but should be pretty close to correct for other variants.

Configure Pcmcia

On initial boot of 6.2, system hung after these lines: Starting pcmcia: [OK] Starting INET services: [OK] Web page mentioned problems with pcmcia at startup so I followed those instructions: Boot while holding down 'i' key to enter interactive setup. Disable pcmcia, login as root, disable pcmcia for future boots: chkconfig --level 0123456 pcmcia off and reboot. Now boots ok. Web page says upgrade to 2.2.16 kernel to fix problem. See this ftp site: ftp://ftp.redhat.com/pub/redhat/updates/6.2/i386/ Upgrade to 2.2.17 kernel. Download and install these RPMs: kernel-2.2.17-14.i386.rpm kernel-pcmcia-cs-2.2.17-14.i386.rpm kernel-source-2.2.17-14.i386.rpm Installing this kernel deleted the old one(!) scaring the crap out me. Luckily, the new kernel booted without problem.

Examine /etc/sysconfig/pcmcia, make sure it looks like this:

PCMCIA=yes PCIC=i82365 PCIC_OPTS= CORE_OPTS= If not, look for pcmcia.rpmsave, or hand-edit.

Re-enable pcmcia:

chkconfig --level 23 pcmcia on Reboot, or enter "/etc/rc.d/init.d/pcmcia start"

Confirm that /proc/devices shows the existance of pcmcia. Note: after new kernel it works, but if rebuilding kernel, remember to enable it in config.

Later, I upgraded to a 2.4 kernel; most of the instructions that follow pertain to that kernel.

I have the following pcmcia cards:

The laptop has built-in ethernet and modem, so I never use those cards. To use the others:
  1. Configure & rebuild kernel with PCMCIA support *off*. (See below)
  2. Install the latest pcmcia-cs package from pcmcia-cs.sourceforge.net. This improved package replaces the one distributed with the kernel.
To make the "smartmedia" card work under 2.4.1, I did these steps:
  1. configure kernel to enable PCMCIA IDE support
  2. ATA/IDE/MFM/RLL support:
    IDE,ATA and ATAPI Block devices:
    PCMCIA IDE support = Y
The SmartMedia card now looks like /dev/hdc to the computer. You can mount it by either adding this entry to /etc/fstab /dev/hdc1 /mnt/flash auto noauto,owner,user 0 0 or (if you're using autofs) by adding this line to /etc/auto.misc flash -fstype=vfat,nodev :/dev/hdc1 I prefer the /etc/fstab method, since it sets the file ownerships on the flash card to the user that mounted it. Otherwise, it gets owned by root, meaning you can't delete files.

Actually, you can enable both methods if you like; they don't interfere with each other, although it's probably not a good idea to mount the card both ways simultaneously.

Name your laptop

Every computer should have a name. You can pretty much choose any name you like, within constraints set by your network administrator. Names are lower-case. Dashes are ok. Dots are not.

Edit /etc/sysconfig/network and set:

	HOSTNAME=myhostname

Redhat's netcfg has an interface for setting the hostname, but I just edit the file.

If your machine is going to be connected to any networks, you also need a name for each interface. This is discussed below under networking.

Create man page indices

Most people forget this step, but it's part of every Unix install:
	/usr/sbin/makewhatis /usr/man:/usr/X11R6/man

Update /etc/fstab

Here are the items I added to my fstab. What you add to yours will depend on your disk layout. /dev/hda1 /dos vfat user,noauto,unhide 0 0 /dev/cdrom /mnt/cdrom iso9660 ro,user,noauto,unhide 0 0 /dev/fd0 /mnt/floppy msdos user,noauto,unhide 0 0 /dev/sda1 /usr2 ext2 user,noauto 0 0 /dev/sdb1 /usr3 ext2 user,noauto 0 0 Explanations:

I have windows installed on the first partition of my drive (/dev/hda1). I mount it as "/dos"; it's a vfat file system; any user may mount it; it's not mounted automatically at boot time; it doesn't get dumped automatically and it doesn't get processed by fsck. I don't know what "unhide" means.

Hopefully the cdrom and floppy entries are self-obvious.

The last entries are for my external scsi disks (/dev/sda1, /dev/sdb1). These are connected via a pcmcia scsi card. Plug the card in, wait while the system probes the drives (takes a while) and then go ahead and mount them.

Note that I do not have fsck run automatically on the scsi drives (that final '0' on the line.) This is because fsck will fail if the drives are not connected, and boot-up will fail. This means that it's a good idea to run fsck manually on the drives after mounting them.

Finally, don't forget to mkdir the /dos, /mnt/cdrom, /mnt/floppy, /mnt/dosfloppy directories and so on.

Customize console keyboard

The S-4542 shares the same brain-damaged keyboard layout with the rest of the PC industry. The first thing you want to do is swap the control and caps-lock keys to where they belong.

In addition, Redhat Linux, for some reason, has seen fit to define the backspace key as returning 0177 (delete) and the delete key as returning the sequence "[3~" Edit /etc/sysconfig/keyboard and change

KEYTABLE=us to KEYTABLE=falk [obviously, you make up your own name rather than calling it "falk.map"]

Copy /usr/lib/kbd/keymaps/i386/qwerty/defkeymap.kmap.gz to falk.kmap.gz

Uncompress (gunzip) falk.map.gz; edit it.

My changes:

	< keycode 14 = Delete
to
	> keycode 14 = BackSpace
        > plain keycode 111 = Delete
Recompress (gzip)

Keycodes of note:
115 left windoze
116 right windoze
117 menu

X-windows Config

XFree86 3.3.6

NOT RECOMENDED. This is the window system that comes with 6.2. It works, but scrolling is very slow. Use XFree86 4.0.2 instead.

But if you must; copy the XF86Config file from

http://www.fifthgate.org/articles/XF86Config and save as /etc/X11/XF86Config. It worked beautifully! Thanks irvingw@pobox.com, you're a lifesaver, whoever you are.

XFree86 4.0.2

Use this instead; it understands the trident chipset. Much more civilized.

If you've already installed 3.3.6, make a backup.

Grab XFree86 from www.xfree86.org:

ftp://ftp.xfree86.org/pub/XFree86/4.0.2/binaries/Linux-ix86-glibc21/ Grab the files "Install" and "Xinstall.sh". "Install" lists the files you need, and the optional files. Heck, just grab all the files, this machine has a plenty of disk space.

Run "Xinstall.sh -check" to verify that you grabbed the right files for your configuration. If not, go back to xfree86 and grab the right files.

Run "Xinstall.sh" to install XFree86 v4.0.2 on your system. It's just that simple.

Configure networking

Redhat's netcfg program comes in very handy here, but there are a few caveats:

host name

Your laptop needs a host name (see
above). In addition, every network interface should have one or more names. I don't think this is a strict requirement, but it's a good idea.

You can determine your current host name by using the hostname command.

loopback

Every system has a loopback interface. The loopback inteface is usually named localhost.

If you don't have any networking on your laptop, just put this one line in /etc/hosts:

127.0.0.1 myhostname localhost

If you want to set your machine's domain name, enter this:

127.0.0.1 myhostname.domain.name.com myhostname localhost See
domain name, below for an explanation.

PPP

This is easiest to do with netcfg, but here's how to do it manually anyway.

Edit /etc/sysconfig/network-scripts/ifcfg-ppp0

PHONENUM=555-1212 PERSIST=yes DEFROUTE=yes ONBOOT=no DIALCMD=ATDT INITSTRING=ATZ MODEMPORT=/dev/modem LINESPEED=115200 ESCAPECHARS=no DEFABORT=no HARDFLOWCTL=yes DEVICE=ppp0 REMIP= IPADDR=321.654.987.11 MRU= BOOTPROTO=none PPPOPTIONS= PAPNAME= DISCONNECTTIMEOUT= RETRYTIMEOUT= USERCTL=yes MTU= Edit /etc/sysconfig/network-scripts/chat-ppp0 (netcfg can do this for you.) '' 'ATZ' 'OK' 'ATDT555-1234' 'CONNECT' '' 'ogin:' 'falconer' 'ord:' 'xxxxxxx' set permissions on this file to rw------- (600)

Edit /etc/hosts and add an entry for your ppp interface.

127.0.0.1 localhost # Home, via ppp. I'm lucky enough to have static IP. # This first line isn't actually necessary whether or not # I have static IP, as the PPP module will establish the IP # address. 321.654.987.11 foo.my.isp.com foo 321.654.987.1 dns.my.isp.com # get the rest from DNS

Install ppp-2.2.0f-3 rpm package if not already installed.

Ethernet

The S-4542 has a built-in ethernet interface. This has worked flawlessly on every kernel I've tried it with.

Ethernet is easiest to configure with netcfg, but here's how to do it manually anyway. Edit /etc/sysconfig/network-scripts/ifcfg-eth0:

# ethernet at work DEVICE=eth0 USERCTL=yes ONBOOT=yes BOOTPROTO=none NETMASK=255.255.255.0 IPADDR=123.456.789.63 BROADCAST=123.456.789.255 NETWORK=123.456.789.0

You should also add a line to your /etc/hosts file for the interface.

123.456.789.10 bar.mycompany.com bar

If you use the DHCP protocol, it is not necessary to specify an IP address, network address or broadcast address. It is not necessary to add an entry to /etc/hosts. This is all handled by DHCP.

Issues: The default power management settings disable ethernet when AC power not plugged in. This causes Kudzu to try to uninstall the ethernet driver from system.

Solution: reconfigure ethernet to "always on" or disable Kudzu.

/sbin/chkconfig --level 0123456 kudzu off Putting the laptop to sleep (suspend/resume) causes ethernet to go away. I found that executing the commands (as root) # ifconfig eth0 down ; ifconfig eth0 up seems to fix it. So does waiting a while.

Domain Name

If your computer is going to be connected to the network, it should probably have a domain name. netcfg does not seem to set this correctly. By tracing programs, I was able to determine that Redhat Linux gets the dns domain name by searching /etc/hosts.

You should have a line somewhere in /etc/hosts that has the fully qualified domain name as the first name on the line, followed by the short hostname. Something like this:

127.0.0.1 foo.domain.name.com foo localhost or 123.456.789.10 bar.eng.mycompany.com bar

You can determine your current dns domain by using the dnsdomainname command.

Domain Name Service

DNS allows your system to find the IP address of any other system on the internet. It really beats adding entries to /etc/hosts. To enable DNS, set the dns domain name as described above and edit /etc/resolv.conf: search my.isp.com eng.mycompany.com nameserver 321.654.987.1 nameserver 321.654.987.2

In this example, I'm configured for both my PPP connection and my ethernet connection at work. The nameserver entries are the IP addresses of your DNS servers (your network admin will give these to you.) It may be possible to specify these by name if the names occur in /etc/hosts.

I also edited /etc/host.conf:

order hosts,nis,bind multi on

Network Information Service

NIS, aka The Protocol Formally Known as YP is a somewhat more powerful, but less popular way than DNS for computers to get hostname (and other) information.

To use NIS, your system needs to have an NIS domain name. (Some systems, e.g. Solaris, use the same domain name for DNS or NIS, but Redhat Linux has seperate domains. I don't know why.)

1) Install ypbind package. It's also a good idea to have yp-tools.

2) Set the NIS domain name of your system. Edit /etc/sysconfig/network and add a line like this:

NISDOMAIN=eng.mycompany.com

3) Edit /etc/yp.conf, and add a line like this:

domain eng.mycompany.com broadcast 4) On my system, I had to create the symlink: /etc/rc.d/rc3.d/S90ypbind => ../init.d/ypbind

You can determine your current NIS domain by using the domainname command.

/etc/hosts

/etc/hosts holds a list of hostnames and IP addresses. It is used along with DNS and/or NIS to obtain hostname information.

If you don't have DNS or NIS, then this file can get pretty large, as it must contain the name of every computer you communicate with. Otherwise, it usually just holds the names of your own computer, and the few systems it needs to communicate with before DNS or NIS starts up.

Here's an example, assuming a ppp connection from home and an ethernet connection at work. My machine is named foo, and has two distinct domains. If I were to connect to my ISP and my ethernet at work simultaneously, chaos would probably result -- or at least a pretty serious firewall breach.

127.0.0.1 localhost # Work via the pcmcia ethernet card 123.456.789.10 foo.eng.mycompany.com # Home, via ppp. I'm lucky enough to have static IP. # This first line isn't actually necessary whether or not # I have static IP, as the PPP module will establish the IP # address. 321.654.987.11 foo.my.isp.com foo 321.654.987.1 dns.my.isp.com

NFS

NFS is the Network File System. It allows you to mount directories on other hosts directly onto your own file system. Your machine may be either an NFS client (mounts filesystems from other hosts) or an NFS host (exports filesystems for other hosts to mount.)

If you've configured your kernel for NFS client support and enabled networking, then nothing more needs to be done to be an NFS client. You simply add entries to /etc/fstab as needed. However, you may want to enable the automounter to make life easier.

To export NFS file systems for other hosts to mount, edit /etc/exports and add a line like this:

/usr *.mycompany.com This example makes my /usr directory available to all systems in the mycompany.com domain.

The automounter is a very convenient feature to have. You can refer to any system on your network simply as /net/remotehost/...

To enable NFS automounter: Install the am-utils RPM if it's not already installed. Automounter works automatically.

Configure the Winmodem

Install procedure varies with kernel.

2.2.17:

This driver was compiled against the 2.2.12 kernel (which I can't use because PCMCIA requires 2.2.16 or better), so insmod generates warnings. Instead, I followed these steps:

Go to http://walbran.org/sean/linux/stodolsk/

download tar file http://216.243.177.83/sean/linux/stodolsk/ltmodem-5.78e.tar.gz

Unpack tar file.

Following the directions in 1ST-READ:

./build_module ./ltinst This massages the driver to link into the 2.2.17 kernel, installs it, and creates /dev/modem, /dev/ttyLT0 and /dev/ttyS14. Beautiful.

2.4.1

This install did not quite go as smoothly. The ltinst script tries to put the ltmodem.o file into /lib/modules/2.4.1/kernel/drivers/char but that directory does not exist. Instead, create the directory /lib/modules/2.4.1/misc and put the massaged ltmodem.o there instead. Proceed as described above.

I have unable to get PPP to work with the winmodem.

Customize X windows keyboard

Create .Xmodmap file in your home directory or in /usr/X11R6/lib/X11/xinit/.Xmodmap and add these lines:

! Swap control and caps lock remove Lock = Caps_Lock remove Control = Control_L keycode 0x42 = Control_L keycode 0x25 = Caps_Lock add Lock = Caps_Lock add Control = Control_L ! Enable use of stupid windoze keys at bottom of keyboard ! Choose two unused keycodes at random to assign to the keys. keycode 115 = F13 keycode 117 = F14 The
XKeyCaps program is very handy here.

What you do with the two windoze keys is entirely up to you. The one on the right has a menu icon on it, so you might assign it to pop up window menus. The .fvwmrc code to do this might look like:

Key F14 R A Popup "Utilities" Key F14 R S Popup "Window Ops" Key F14 R M Module "winlist" FvwmWinList

Advanced Power Management

The original APM patch for 2.0.x included a version of the apm program that allowed you to disable or enable power management as needed (e.g. when burning a CD, you'll get a coaster if the system goes into power-saving mode.)

Download apm package from

http://www.worldvisions.ca/~apenwarr/apmd Problem: The apm package uses ioctls defined in the 2.4.x kernels. A patch has been provided for the 2.0.36 kernel but not for 2.2.x. A 2.2.x patch can be downloaded from

Build apm, xapm, etc.

Suspend:

The page at
http://www.fifthgate.org/articles/fujitsu_lifebook.html says that if you leave the system suspended overnight, it hangs on resume due to lost interrupts. I have experienced that exact same symptom, even when it was Dos that was suspended.

Sound

OSS

The OSS (Open Sound Systems) drivers are bundled into the kernel. To use them, reconfigure the kernel. Enable sound, OSS, and the "Intel IHC (i810)" drivers. Rebulid and install the kernel.

Device will only operate in 16-bit, stereo, 48000 hz. VERY disappointing.

Problems:

Freezes during shutdown when accessing aumix. Other web page says the problem is related to apmd. Modify /etc/sysconfig/apmd:

# if your sound sometimes doesn't work after a resume set RESTORESOUND to # "yes" this will kill all sound applications, remove and start the # $SOUNDMODULES again, and, if you also set $RESTORESOUNDPROGS to "yes", # restart the sound applications as the correct user and on the correct # display RESTORESOUND="yes" RESTORESOUNDPROGS="yes" SOUNDMODULES="sb uart401 sound soundcore i810_audio ac97_codec" #SOUNDMODULES="sb uart401 sound soundcore"

Sound using Alsa drivers

Obtain alsa drivers from www.alsa-project.org. Grab these files: alsa-driver-0.5.10b.tar.bz2 alsa-lib-0.5.10b.tar.bz2 alsa-utils-0.5.10.tar.bz2 Configure kernel for sound support; no need to select any other sound modules, not even OSS.

make bzImage, install, run lilo.

Unpack alsa-driver, configure, compile, install.

Add these lines to /etc/modules.conf:

# ALSA native device support alias char-major-116 snd alias snd-card-0 snd-card-intel8x0 # OSS emulation alias char-major-14 soundcore alias sound-slot-0 snd-card-0 alias sound-service-0-0 snd-mixer-oss alias sound-service-0-1 snd-seq-oss alias sound-service-0-3 snd-pcm-oss alias sound-service-0-8 snd-seq-oss alias sound-service-0-12 snd-pcm-oss Execute depmod -a chkconfig --level 23 alsasound on Note: the 0.9 drivers generate kernel "oops"es in OSS emulation mode. Stick with 0.5 for now.

CD-RW

The CD-RW driver that comes with the laptop can be made useable.

First, the software for CD-RW's only deals with SCSI devices, so you need to make the IDE drive emulate SCSI.

Configure the kernel. Under ATA/IDE/MFM/RLL support/IDE, ATA, and ATAPI Block Devices, set "Include IDE/ATAPI/ CDROM support" and "SCSI emulation support" to Y.

Do "ls -l /dev/cdrom". You'll probably see that the cdrom is /dev/hdb.

Add

append = "hdb=ide-scsi" to /etc/lilo.conf

Reboot.

Cat /proc/devices; note the presense of "sr" under Block devices.

Execute "cdrecord -scanbus"; note the presense of the CD drive as scsi unit 0,0,0. Hot dawg. This means that the CD is no longer /dev/hdb, but /dev/scd0. Change the /dev/cdrom link accordingly.

Optional: edit /etc/group and add yourself (and other worthy users) to the "disk" group so that you can access the drive (e.g. eject it) without becoming super-user.

VIM

By default, the "vim-minimal" version of vi is installed under RH6.2. It lacks the key-composition features I like, so my choices were get the source to vim and recompile, or install vim-enhanced. The latter option is simpler, at the cost of about a megabyte of disk space.

Install the distribution disk, and:

# mount /mnt/cdrom # cd /mnt/cdrom/RedHat/RPMS # rpm -e vim-minimal # rpm -i vim-enhanced-5.6-11.i386.rpm # cd /bin # ln -s /usr/bin/vim vi # ln -s /usr/bin/vim view Here's where it gets a little twisted. Some fool at Redhat seems to think that his personal environment is the be-all and end-all of productivity. When you run the enhanced vi, every conceivable bell and whistle seems to be turned on.

If you find this is the case, rename the default vimrc file:

# cd /usr/share/vim/vim56/macros # mv vimrc vimrc.stupid.redhat Later, you may choose to take a look at this file to see what it did. There are some pretty neat features in vim actually, just not all at once please.

SCSI

I use an Adaptec SCSI pcmcia card. Model 1401. It works perfectly with external SCSI disks, 8mm SCSI tape, SCSI zip drive and a SCSI CD-writer.

The SCSI card came with a mail-in card for a free DB-25 cable. If you plan to connect really cheap hardware (e.g. zip drive) with non-standard connectors, you want to get this.

Earlier, I had tried a model called the New Media Basics SCSI. It did not work under Redhat 4.2 so I sent it back. It may be supported with newer kernels.

ZIP Drive

I obtained a refurbished SCSI zip drive and connected it up. The ZIP drive came with an envelope stuffed with documentation and software. Ignore it. Don't even bother breaking the seal. There's nothing in there you need or want for Linux. Assuming that the kernel is configured properly, it should just plug and play. Since the SCSI drive was the only thing connected to my SCSI card, the drive came up as /dev/sda

I executed these commands (as root):

mkdir /mnt/zip mount /dev/sda1 /mnt/zip and it worked perfectly. The system even auto-detected the file-system type on the disk.

Wireless 802.11 LAN

This has been the biggest headache of all. I originally purchased the Netgear MA401 wireless card. It turns out that this card (and many others) use the PrismII chipset, which is only marginally supported under Linux.

I've had much better luck with the Lucent/Orinoco wireless card. The "silver" card is the best.


Reconfigure kernel

It's important to reconfigure the kernel because the default kernel does not support Advanced Power Management (APM) or sound.

install 2.4.17 sources. make mrproper ; make xconfig

(You may get undefined symbols even after a make clean, e.g. if you disable SMP. When this happens, backup your .config file, do "make mrproper", restore .config and try again.)

(There's a bug in 2.4.14 when you enable loopback file system. There's a patch for this, but simpler to get a newer kernel.)

Processor type and features: Symmetric multi-processing support (SMP): N (to enable apm) General Setup: PCMCIA/Cardbus support: N (so that pcmcia-cs can be used instead) Advance Power Management BIOS support: Y Block devices: Loopback device support: N (because of kernel bug) ATA/IDE/MFM/RLL support: IDE, ATA and ATAPI Block devices: PCMCIA IDE support: Y (to support smartmedia card from my camera) SCSI emulation support: Y (for CD authoring) SCSI support: SCSI support: Y (for CD authoring) SCSI tape support: Y SCSI CD-ROM support: Y SCSI generic support: Y SCSI low-level drivers: All off (my scsi card is handled by pcmcia-cs package) Network device support: PPP support: Y PPP support for async serial ports: Y Wireless LAN (non-hamradio): Wireless LAN (non-hamradio): Y (for my 802.11 card) AT&T WaveLAN: Y Hermes chipset: Y Hermes PCMCIA card support: Y Cisco/Aironet PCMCIA cards: Y PCMCIA entwork device support: AT&T Lucent Wavelan wireless support: Y Character devices: Intel i8x0 Random Number Generator Support: ? File systems: Ext3 journalling file system support: Y DOS FAT support: Y MSDOS fs support: Y VFAT fs support: Y ISO 9660 CDROM file system support: Y Microsoft Joliet CDROM extension: Y Network File Systems: NFS file system support: Y NFS server support: Y SMB file system support: ? Sound: Sound card support: Y Intel ICH (i8xx) audio support: Y OSS sound modules: Y

The Battery Powered Linux Mini-HOWTO says that the pcmcia drivers should also be re-compiled to take advantage of power management.



Redhat 7.1 and 7.2

Here are my attempts at installing 7.1 and 7.2 on my S-4542.

Both OS's installed flawlessly and recognized all hardware. Both came up with an X-windows login, which looks much nicer and is more newbie-friendly than the old login prompt.

The fvwm window system is not present in RH7, ruining my own windows environment. Rather than learn how to configure fvwm2, I simply restored fvwm from backup tape.

There were too many quirks in the networking code to go into here. It mostly worked, but sometimes it didn't.

The netcfg program is missing in 7.2, replaced by something else that doesn't work and isn't as functional.

I was never able to make the pcmcia-cs modules compile and work with the 2.4.x kernels. I'm told it has something to do with Redhat's version of the modutils. It worked with no problems under 6.2

When I discovered that "ifconfig eth0 up" would not work under 7.2, I gave up and reverted to 6.2.