Linux on a Fujitsu Lifebook-P

Brief note of what was easy

Redhat 7.0 installs fairly easily, except Xconfigurator fails to probe fully and you end up with a basic (but working) 640x480 screen (stretched to fill). Minor editing to /etc/X11/XF86Config-4 file fixed that. The built in Ethernet is supported.

With the extra boot flags noted below, Redhat 7.2 installs effortlessly, and Kudzu readily handles the sound card, too.
Redhat 8.0 no longer locks up at boot, no more need for ide0=ata66 ... !! This is kernel 2.4.18-14 so hopefully in other distros soon.
There are now many other pages that get into more detail on Lifebook-Ps. A good one is http://www4.ncsu.edu/~tscoffe2/Fujitsu/

Hints

If you partition with / or /boot above 1024 cylinders, edit /etc/lilo.conf to replace linear with lba32. Lilo will tell you this. USB support isn't very good in 7.0 so you can't make an emergency boot floppy. I got in to fix lilo by booting the install floppy then commanding
linux single root=/dev/hdaX initrd=
where X is the proper partition.

I made the following changes to /etc/X11/XF86Config-4 from the one built by installation:
In the Monitor section, I added a number of Modelines. The 1280x768 entry is essential to get the native LCD resolution available. The others may be useful with an external monitor, and many work (with stretching) on the LCD.

    Modeline "1024x768" 65 1024 1048 1184 1344 768 771 777 806 -hsync -vsync
    Modeline "1280x1024" 108 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsy
nc
    Modeline "1280x768" 81.59 1280 1280 1384 1688 768 769 774 791 +hsync -vsync
    Modeline "640x480" 25.175 640 664 760 800 480 491 493 525
    Modeline "800x600" 40 800 840 968 1056 600 601 605 628 +hsync +vsync
    Modeline "1600x1200" 162 1600 1664 1856 2160 1200 1201 1204 1250 +hsync +vsy

In the Screen section, I changed DefaultDepth to 24 instead of 8. 32 and 16 will also work. Note that the 4MB display memory limits 1600x1200 to 16 bits on an external monitor and 1280x1024 to 24 bits. Since the internal screen is 1280x768, I put it first in each modes line. Currently, it seems to ignore the wide-screen setting, and X cycles through 1024x768, 800x600 and 640x480.
I replaced a single 8 bit, 640x480 display subsection with the following:
	Subsection "Display"
		Depth 8
		Modes "1280x768" "1280x1024" "1024x768" "800x600" "640x480"
	EndSubSection
        Subsection "Display"
        	Depth 16
		Modes "1280x768" "1280x1024" "1600x1200" "640x480" "800x600" "1024x768"
        EndSubSection
        Subsection "Display"
        	Depth 32
	        Modes "1280x768" "1024x768" "800x600" "640x480"
        EndSubSection
        Subsection "Display"
        	Depth 24
                Modes "1280x768" "1280x1024" "1024x768" "800x600" "640x480"
        EndSubSection

CDRW and floppy

To use the CD recorder for writing CD-R and CD-RW requires adding
append="hdc=ide-scsi"
to the boot configuration (same place as the ide0=ata66 discussed below) and Kudzu should automatically set up /dev/scd0 as /dev/cdrom1.
When the USB floppy is plugged in, it should appear as /dev/sda, which can be used in place of /dev/fd0 in /etc/fstab and /etc/mtools.conf.
Depending on whether the DVD/CDRW drive is in the bay and the floppy is plugged into a USB jack at boot time, the assignment of SCSI devices may vary. Before using cdrecord to burn a disk, cdrecord -scanbus may be required to get the right values for dev=. It will be 0,0,0 or 1,0,0 in most cases but will depend on the order the CDRW and the floppy or other USB mass storage devices are discovered.

Built in 802.11b models (P2046 etc)

The built-in wireless option is a PCI bus Intersil Prism II chipset. There are two ways to support this.

wlan-ng

The first is with wlan-ng at http://www.linux-wlan.org/. I never got this to work WITH WEP encryption but it's likely that I missed something.
Since I did not get it working I will leave it to others and to the wlan-ng documentation. Be sure to build and configure for the prism2_pci module.
This ought to be the better supported code since it is Prism specific, and has access to the full set of options implemented in the hardware.

Orinoco

The second way is to use the Prism support in the orinoco drivers that are a standard component of RedHat 8.0 and other distributions. While this only provides lowest common denominator support, I did get it working.
To allow automatic use of either the 100-Base-T interface or the wireless interface, I configured 100-Base-T as eth0 and the wireless as eth1, but this will cause a short delay and error message when booting with one of the networks absent.
/etc/sysconfig/hwconf should automatically contain an entry that includes

...
driver: orinoco_pci
desc: "Harris Semiconductor|Prism 2.5 Wavelan chip set"
...
In /etc/modules.conf, I put the lines
alias eth0 8139too
alias eth1 orinoco_pci
and finally I created the file /etc/sysconfig/network-scripts/ifcfg-eth1 containing
TYPE=Wireless
DEVICE=eth1
BOOTPROTO=dhcp
ONBOOT=yes
ESSID=xxx
CHANNEL=1
MODE=Managed
KEY=1357-9bdf-24
RATE=11Mb/s
The actual value of ESSID, MODE and KEY need to match your local network environment of course.

What didn't work:

Redhat 7.0

sndconfig is able to probe the sound "card", then says it's not supported.

Redhat 7.1/7.2/7.3

Redhat 7.1, 7.2 or 7.3 install hangs in IDE initialization. It boots up and starts probing hardware. It sees the Transmeta Crusoe, probes a few more devices then crashes hard while probing the PCI IDE devices. I've seen reports of the same problem with several other Linux distributions. It's working right again with Redhat 8.0.

The fix to allow installation is to add the following to any boot commands:

ide0=ata66 ide1=ata66
e.g. at the install boot, say
linux ide0=ata66 ide1=ata66
Of course, be sure to give this when install prompts for "extra boot-time arguments". If you forget, you can add the arguments at boot time, and once the system is up, edit /etc/lilo.conf or /boot/grub/grub.conf as appropriate.

Created 29 Jan 2002, updated 1 March 2003.