Linux on the Fujitsu Lifebook 420D

This page is a collection point for information about running Linux on the Fujitsu Lifebook 420D notebook computer.

Please send any and all feedback to <mikey@itasca.net>


9805.13

AT LAST, someone has hacked up a NeoMagic driver for XFree86. I have not had an opportunity to try this yet, but you can find it here.

G-d, but I LOVE reverse engineering...

9801.09

Once again, it's been a while since I had a chance to update this page. I've added a brief description of my experience with Accelerated-X (which works Just Fine(tm), for the most part) -- a complete review should be appearing in an upcoming issue of Linux Journal.

I have been informed that the Fujitsu LIfebook 600 series also use the NeoMagic chips, but that the 700 series does not--they use a Trident. I'm not certain what XFree86's Trident support is like, so this page may or may not be necessary to users of the 700, but users of the 600 should find the tips herein useful.

9710.15

It's been a long time since my last update. My review of the machine will appear in the November issue of Linux Journal, just in time for the model to be discontinued! Yes, that's right, the 400 series are gone, replaced by the 700 series, it looks like. But Fujitsu Tech Support promises me that they will continue to support the unit.

If anyone knows what video chip the new 700s use, please let me know. If they also use the NeoMagic, I would like to advertise this page as being available to help owners of the 700 as well!

Finally, I've updated some of the information near the beginning about accessories and near the end about PCMCIA support.


Table of contents


What is a Lifebook 420D?

The Lifebook 420D was released in early 1997 and discontinued by October - proof that this industry is just insane with its constant drive for better-faster-stronger. It appears to have been replaced by the new Lifebook 700 line. Both lines are aimed at a 'budget' market. I picked my 420D up at Computer City for US$1599.99.

It shipped with a Pentium 120, non-MMX processor, 8 megabytes of RAM, 1.08 gigabytes of disk space, a two-hour NiMH battery, 10x CD-ROM drive module and a floppy drive module. The CD-ROM and floppy modules share a single multi-function bay, although an optional connector can be used to run the floppy drive externally. The RAM is expandable to 72 megabytes.

By the time I bought mine, units were actually shipping with a "free" additional 8meg of RAM. This leads me to believe that at the last minute, Fujitsu reconsidered the wisdom of a mere 8 megabytes in today's market.

The Lifebook also has an IrDA compliant infrared port, a serial port, a parallel port, a monitor port, two PC-card slots, and a port-replicator connector. Fujitsu offers both a simple port replicator for $189 and a fancier 'mini-docking station' for $369. They also offer optional LiON batteries, additional AC and car adapters, and memory upgrades in 8, 16 and 32MB increments. The machine can, unfortunately, only accept one DIMM, so the "free" 8MB upgrade that came with the unit must be discarded to use any of these. Fujitsu claims that they will be offering a 64MB upgrade unit, thus allowing one to bring the machine up to its rated maximum of 72MB.

A Quick Caveat About Memory I have begun shopping for memory upgrades for this machine, and have discovered that Fujitsu's upgrade prices are generally *much* higher than the equivalent street price for PNY-brand (to use an example) memory. Shop around!


How easy is it to set up Linux?

Not terribly difficult, but not brain-dead easy, either.

The main trick is that, without the optional external-floppy adapter, you cannot use the floppy drive and the CD-ROM at the same time. However, you can warm-swap the modules while the system is suspended.

With Red Hat Linux v4.1, I was able to build boot-floppy with FIPS (a non-destructive partition adjuster that ships with RedHat) by moving the necessary files from the Red Hat CD-ROM to the hard drive. I then suspended the system, swapped modules, formatted a floppy for booting MS-DOS, and moved FIPS and other necessary files to that floppy.

After rebooting from that floppy and adjusting the partition, I swapped the modules back around again, rebooted, went to DOS-only mode and ran Red Hat's 'autoboot.bat', which boots off the CD-ROM. From here, it was fairly smooth sailing, although I will admit that it was so in large part because I already have considerable experience with Unix setup.

A number of things could have made this even easier.

For one thing, if all I wanted was a Linux-only box, I could have just ran Red Hat's 'autoboot.bat' and blown away Windows entirely. This was tempting, but I'm also something of a game player, so leaving some space left over to run DOS or (ick) Windows95 in to play games was appropriate.

Hooking up a modem would have allowed me to download the FIPS stuff from the Red Hat web, requiring only one module swap (from floppy to CD-ROM, after FIPS was run). I wouldn't have actually done the full install by downloading off the Web, however, because I just don't have three weeks to wait for all the files to finish downloading at 28.8K (or more like 21.6, which is what I usually get with my ISP).

The external floppy connector option, which I'm honestly not even sure is actually available yet, would have allowed me to use both drives at once.

And finally, the Fujitsu's BIOS supports booting from CD-ROM, so if the Red Hat CD-ROM had been directly bootable, that would have been enough all by itself.

In short, by opting for the least-cost solution for the time being, I made it a little bit harder on myself. C'est la guerre


How about X Window?

Ah, here, life gets a little more complex.

The higher-end Lifebook 500 series use a Chips&Technologies video chip, which XFree86 3.2A supports. The Lifebook 400 series, however, use the NeoMagic 128v, specifically the 2093. Unfortunately, this chip is not now, nor is likely to be directly supported by XFree86; in the meantime, there is an adequate (if not fantastic) work around. More on that in a minute..

Getting the full 800x600 display, regardless of which X server you use (thanks to Linux/XFree86 Dell Latitude support page put up by Alexis Dimitriadis.)

The Lifebook 420D is capable of displaying up to 32768 colours at 800x600 or 16 million colours at 640x480 on the built in DSTN panel, and up to 256 colours at 1024x768 on the external monitor port. Pretty standard stuff.

Unfortunately, there is some sort of glitch, either in the NeoMagic chips themselves, or in the way Linux handles it. The result of the glitch is that, if an X server (either XFree86 or Accelerated X, both of which see below) tries to go to 800x600 mode, the displayed area is offset about two inches to the right.

There is a fairly straightforward work around for this problem, but it means giving up messages at boot time and using the X Display Manager (xdm) to log in. Basically, you have to force Linux to switch to "graphics mode" immediately upon booting. Assuming that you use LILO to boot, do the following to your lilo.conf:

  1. In your /etc/inittab, find out which run level runs 'xdm' at boot time. The line is usually near the very bottom of the file, and should be adequately commented for what it does. For Slackware, the level is '4'; for RedHat, it's '5'.
  2. Make a copy within the file of your normal bootup image parameters.
  3. Give one set a different label, for example, "XLinux"
  4. Add two lines to the "XLinux" configuration:
       vga=770  # This is the VGA Graphics mode
       append=4 # This is whatever run level starts XDM. May be '5'
        

Your lilo.conf should now look something like this (this is an example only!)

boot=/dev/hda
ignore-table
linear
delay=50
ramdisk=0
image=/vmlinuz
   label=Linux
   root=/dev/hda2
   read-only
image=/vmlinuz
   label=XLinux
   root=/dev/hda2
   read-only
   vga=770
   append=4
    

You can switch these around to make "XLinux" the default once everything's working they way you want. Either way, using "Linux" will get you your normal text bootup.

Which X servers work?

The answer is, "all of them...sort of...". The best results right now can be obtained with Xi Graphics' Accelerated X LX, but this is comparatively expensive. Adequate results can be had from the XFree86 3.2 package, and MetroLink's Metro-X server works at the same level, although more complete support is being considered.

Using XFree86 (thanks again to Alexis Dimitriadis)

According to a member of the XFree86 team, the XFree86 project cannot directly support the NeoMagic 128v family at this time, because NeoMagic is refusing to release the necessary specifications to "end users". Assumedly, this means anyone, including developers, who isn't willing to pay a royalty fee and sign nondisclosure, which would turn preclude releasing source.

Because of the Free nature of the project, XFree86 qualifies as such an "end user", and hence, NeoMagic won't talk to them.. There's not much that can be done about this, except perhaps writing letters to both Fujitsu and NeoMagic suggesting that a more open approach might be better for long-term business. I have already done so, myself, and have yet to hear back even an acknowledgement from either company.

In the meantime, XFree86 3.2 can be made to work, if you're willing to live with only 16 colours. For my own purposes, I currently find this to be adequate, but I'm sure some of you out there have a real need for a deeper colourmap, so this one definitely falls under the heading of, 'your mileage may vary'.

  1. Make sure you have the XF86_VGA16 server installed.
  2. Run XF86Setup, rather than RedHat's Xconfigurator. (I don't really have a preference, it's just what I used.
  3. Configure your mouse to be a PS/2 variant on /dev/psaux. You'll probalby want Emulate3Buttons turned on, as well.
  4. You shouldn't have to do anything to the keyboard configuration, unless you want the control key and the caps lock key switched.
  5. For the 'Card' configuration, go to the card list and select an 'Unknown VGA-compatible'. On the 'Details' screen, you might want to hard-wire the memory at 1M, but I don't think it matters much.
  6. On the 'Monitors' configuration, select SVGA 800x600.
  7. Hit 'Done'. If you're using XF86Setup, you'll see it try to run the VGA16 server in 800x600, and it will work but be "offset" on your screen, as described above. The 'vga=770' trick should fix this when you're ready to boot up with this configuration..

When you reboot, if you've also done the LILO configuration changes described above, if you type 'XLinux' at the lilo prompt, you should, after a minute or two, see a full-scale 800x600 X Window background, with the XDM login dialog.

Using Xi Graphic's Accelerated X LX product

Accelerated X LX 4.1 (a laptop-specific variant of their popular commercial X server) directly supports the NeoMagic chips. Furthermore, a recently released patch to this product elminates the need for the lilo.conf hack described earlier!!! It's still not perfect -- once you've started X Window, it's still difficult, if not impossible, to return to Text mode -- but it's MUCH improved.

Configuration is much simpler. Select the NeoMagic 2093 board from the board list, and the SVGA 800x600, 1024x768 interlaced monitor.

The current price for this software is $199. It is not at all clear why the LX variant is almost twice the cost of the desktop AX variant, but there we are.

A more complete review of Accelerated X LX should be appearing in a few months in Linux Journal.

MetroLink's Metro-X product.

Metro-X does not currently support the NeoMagic chip directly, but it is reportedly under consideration for the future. In the meantime, the same basic work-around used for XFree86 should work for Metro-X.


What about sound?

The good news is, sound is actually fairly easy to get up and running, because the Lifebook uses either a real live SoundBlaster or at least something that's willing to play one on TV (I'm not actually sure which).

The bad news is that it's only fairly easy, not an absolute cinch. The main trick lies in the fact that the Linux kernel, by default, is looking for the SoundBlaster's interesting bits in one place, and the default BIOS settings locate them in another. (At least, this is true with RedHat 4.1; different distributions may have the sound system set up differently, or not at all).

Your choice? Either change the BIOS settings, or change the kernel. But since you'd need to look at the kernel configuration to find out what to change the BIOS settings to anyway, you might as well rebuild the kernel.

(Of course, this is coming from an inveterate GEEK who likes rebuilding kernels just for fun, so your mileage may vary...)

Okay, so not everyone knows HOW to rebuild their kernel. At some point, I will address this in more detail.

Also, it should be noted that work is underway to convince the Linux kernel to probe the card itself via Plug'n'Play mechanisms; once this code is incorporated, this whole section should become mercifully obsolete!

Kernel Rebuilder's Instructions

Issue a 'make menuconfig' or 'make xconfig' (don't you dare tell me you actually use the straight 'make config' prompts), and get into the sound tweaking section.

Set things up with the following settings. Note that this assumes that you have not changed your BIOS audio settings from the factory default. It also, of course, assumes that the factory hasn't changed its defaults.

SoundBlaster supportYes
/dev/dsp and /dev/audio supportYes
MIDI supportYes
FM synthesizer supportYes
SoundBlaster I/O Base220h
SoundBlaster IRQ5
SoundBlaster DMA0
SoundBlaster 16bit DMA1
MPU401 base address330h
SoundBlaster MPU401 IRQ-1

All other options should be turned off.

Save and quit, and rebuild your kernel (make dep; make clean; make boot or whatever you do)

Important Safety TipYou should be using LILO or some other boot loader, rather than booting the kernel directly. Always make sure you have an escape route built into your boot procedure. Specifically, if you're using LILO, always keep a copy of a kernel you know works, and point a LILO 'image' entry at it. This way, if your new kernel explodes on you, you can still boot from the old one!

PCMCIA Support

I'm pleased to report that I have had zero difficulty adding a PC Card SCSI adapter (the Adaptec APA1460-A SlimSCSI) to my configuration. All I had to do was obtain a current version of the Linux PCMCIA Card Services drivers via the official Linux PCMCIA Information page (actually, the version I'm currently running is now old, version 2.9.5, but it works). In fact, I've had less trouble using this configuration with my Jaz drive under Linux than I have under Windows95!

What else?

If you have some interesting information about running Linux and any particular Linux software on this particular machine, or if you have any other questions or comments, please send them to me at <mshapp19@idt.net>

Related links



DISCLAIMER: This web page is not in any way an official service offering of Public Communiations, Inc. Similarly, the author is not an official representative of the management of AetherWorks Corporation. I am the Mikey. I speak for myself.

This page is a production of Michael Scott Shappe, who is solely responsible for its content.


Michael Scott Shappe
Last modified: Fri Jan 09 08:45:00 CST 1998