Installing SuSE 7.0 Linux on a Toshiba Portégé 3015CT Laptop
and Setting up NFS server

This article describes how to set up a NFS server and install SuSE Linux onto a Toshiba Portégé from a CD over a NFS connection. Installation of SuSE 9.0 is described at http://randombio.com/linuxsetup63.html.

The Toshiba Portege 3015CT is an ultracompact 0.8 inch thick laptop that comes with Windows 98 preinstalled. I installed VNC on a Portege and used it for a couple of years as a remote X terminal. However, the original Windows 98 installation became corrupted the first time I tried to install a Microsoft program (MS-Word) on it, becoming unbootable. Even worse, the recovery CDROM supplied with the machine also turned out to be defective, printing out the message "Wrong Machine!" instead of restoring the OS. If I put my ear close to the machine, I could almost hear it laughing diabolically when I tried to restore it. I decided to get my revenge by installing Linux on it.

These older Porteges are preferable to the later ones, because they have trackpoint ("eraser head") pointers and two PCMCIA slots instead of a touchpad and a single slot, and are thinner than later, more expensive models. The computer is extremely light and convenient and fairly rugged for an ultralight, though it was highly susceptible to even a few drops of water. At one point, in an attempt to kill a fly by spraying Windex at it, I accidentally sprayed a couple drops of Windex onto the keyboard. This shorted something out inside the keyboard, and caused the keys to generate keystrokes continuously. I had to hit the reset button to shut off the Toshiba and wait until the keyboard dried out. Unfortunately, the disk became corrupted at this point, forcing a reinstall of Linux.

Toshiba 3015CT
The Toshiba 3015CT running X, showing fvwm95 and a bunch of rxvt's.

Windows 2000


The Portege doesn't have an internal CDROM, and the BIOS has no ability to boot from a CD. To use a CD, it is necessary to purchase an external CD-ROM drive with its own battery or AC adapter. First I tried installing Windows 2000 and Linux from a Hi-Val external CDROM. This CDROM comes with a 5V AC adapter and uses a Cardbus SCSI-PCMCIA card that behaves somewhat like a SCSI card. However, none of the Linux SCSI drivers nor the Windows 2000 installation program recognized it. So I threw this drive out and tried a Targus PA950U Universal CDROM drive, which is an ATAPI drive with a PCMCIA interface. Linux also didn't recognize this, but Windows 2000 did, so I installed Windows 2000.

The Targus drive comes without an AC adapter and is supposed to obtain power from the mouse port of the computer since the Portege PCMCIA slot doesn't provide enough power to run the CD by itself. However, any 5V power supply with a center-positive connector will also work. Luckily, I just happened to have an extra one lying around, left over from the Hi-Val CDROM that was lying in the trash bin.

After installing Windows 2000 , it is necessary to install 3 files from Toshiba's Web site:
tosacp2k.exe - ACPI drivers (install first)
w2kpwrx1.exe - utilities for W2K
z426utl2.exe - Power management utilities

The Windows 2000 installation proceeded without incident, and had the nice feature of allowing the selection of Windows 98 or 2000 at bootup. Unfortunately, at this point I remembered that I don't particularly like Windows. Also, the hibernate mode didn't work, so I decided to wipe Windows and install Linux instead.

Step 1 - Setup a NFS server


SuSE Linux can be installed from a hard disk, by ftp, from a CD-ROM, or by NFS. Unfortunately, the SuSE bootdisks could not recognize any of the CDROMs, installation by ftp requires 96MB of RAM (the Portege only has 32MB), and installing from the hard disk would require either a second hard disk, or leaving one partition unformatted. So it was necessary to install by NFS from a desktop computer running Linux.

  1. Recompile the kernel on the desktop with NFS filesystem support if necessary.
  2. cat /proc/filesystems - should show nfs as a valid filesystem type.
  3. Enable all NFS server-related entries in /etc/rc.config.
  4. Edit /sbin/init.d/nfsserver to substitute the "|| return=$rc_failed" with "|| echo Failed". This prevents it from exiting if rpc.klockd doesn't start. On my system, running rpc.klockd never started and always gave the cryptic error message
     lockdsvc: Invalid argument
    'Strings rpc.klockd' shows that "lockdsvc" is a word that is present in the rpc.klockd binary. Beyond this, I could find no clue about what it means.
  5. Create the file /etc/exports with permissions 644, containing the volumes you wish to export and to whom. For example:
    /cdrom                  192.168.100.5(ro)
    /tmp                    dalek(rw)
    /mnt                    *.my_domain_name.com(rw)
    /home/tjnelson          dalek.nih.gov(rw) p*.my_domain_name.com(rw) 
  6. Monitor the syslog messages. If you get the error: "/dev/nfsd_netlink: No such device" you must recompile the kernel and set CONFIG_NETLINK_DEV in the options "kernel/user netlink socket" and "network device emulation".
  7. If it says
     portmap[20498]: connect from 
             192.168.100.5 to dump(): request from unauthorized host
    check the following:
    1. The client's IP address or hostname should be in /etc/exports. The nfsserver on the server must be restarted if you change the exports file.
    2. Make sure the client is not blocked in /etc/hosts.allow. Add a line like:
       ALL : 192.168.100.5
  8. Check using 'ps -aux' to ensure that the following are running:
     rpc.kmountd   rpc.kstatd   rpc.kmountd  
    lockd  rpciod 
  9. 'kshowmount' should show what computers have NFS volumes mounted, e.g.:
    192.168.100.5
    localhost 
    If kshowmount hangs without printing anything, it means nothing is mounted. Note: the 'k' in kshowmount has no relation to KDE. These commands seem to have been renamed since this page was written, perhaps to avoid being associated with KDE.
  10. 'kexportfs' should show what volumes are mounted and by whom, e.g.:
    /cdrom     192.168.100.5      
    /tmp       localhost 
    Kexportfs does nothing if nothing is mounted.
  11. Test NFS by typing
    mount -t nfs  localhost:/tmp  /mnt
    If this command hangs, NFS is not working. Once it is working, test the same command using your host's IP number instead of 'localhost'.

Step 2 - Create boot disks and boot the Toshiba

  1. Insert SuSE CD #1 or the DVD into the server and mount /dev/cdrom at /cdrom. Note that if you export /cdrom in NFS, it will be impossible to unmount the CD until you turn NFS off in /etc/rc.d. Once the laptop is running, take /cdrom out of /etc/exports so you can use the CD again. (An even better solution is to copy the contents of the DVD into a directory and export the directory by NFS.)

  2. Use the command
    dd if=/cdrom/disks/laptop of=/dev/fd0
    from the existing Linux machine to create a bootdisk with Cardbus/PCMCIA for the laptop. In SuSE 9.0, the floppy images are in /boot and the installation insisted on loading a "yenta_socket" module to handle the PCMCIA chipset. See http://randombio.com/linuxsetup63.html for instructions on installing SuSE 9.0. SuSE 8.0 began the installation, identified the PCMCIA chipset correctly as i82365, but was unable to identify the NeoMagic NM2160 video chipset or the 3C589 network card and hung during booting after completing the installation. It was not possible to install SuSE 8.0 on this computer. Only SuSE 9.0 recognized the Linksys PCM200 PCMCIA network card (which uses the "tulip" driver).

  3. Boot up the laptop with the laptop disk. Do not load any modules unless it specifically tells you to. A red screen will pop up, and it will go into "Manual Setup Mode". Select NFS installation, and enter the appropriate IP numbers. You should immediately see a message like
    authenticated mountv1 request
    in the server's logs. Sometimes the laptop will appear to hang for a long time and then timeout before the authentication occurs. If this happens there is a routing problem between the server and the laptop. The easiest way to fix this is to remove the 'defaultroute' line from the server's /etc/route.conf and reboot the server.

Step 3 - Install Linux

  1. Insert the SuSE DVD or CD #1 into the server and mount /dev/cdrom at /cdrom.
  2. Boot the laptop with the laptop disk and select "NFS".
  3. Once the laptop NFS client connects, SuSE may try to mount the CDROM a second time, giving an error. Select "Ignore error and proceed".
  4. Every 10 min, a message from inetd appears on the server:
    dalek inetd[359]: swat/tcp (2): bind: Address already in use
    The meaning of this is still unclear, since swat is not activated.
  5. Don't touch the server during the installation. Two hours into the installation, I tried to run an unrelated program on the server, which caused the installation to immediately crash. The installation wouldn't restart and the laptop display went black. It was necessary to reboot both the server and laptop and start over.
  6. SuSE set the video mode to 0x0301. PCMCIA was set to i82365.
  7. When Yast was first started by the installation program, the laptop locked up, requiring a power cycling. After the laptop rebooted, the SuSE Setup program tried to start over from the beginning. After I selected 'Abort', Yast continued normally.
  8. SaX worked perfectly, and set up the X Window system without incident. The LCD display had no artifacts whatsoever. SaX is a spectacularly well-written configuration tool, as was the original Yast1. The Portege has enough video memory to run at 800x600 at 16 bits.

Step 4 - Configure the Laptop

While the laptop is rebooting, press Esc then F1 to change the BIOS settings. The blank time, hard disk spin-down time, screen brightness, and other parameters can be changed in the BIOS. The 'off' button can also be reconfigured to put the computer in standby mode, which allows you to instantaneously turn the computer on and off. This is done by setting Power Up Mode to "Resume" and Panel Power Off to "Enabled". However, there is no way to activate automatic hibernation mode when the lid is closed. (In Windows 98 hibernation mode, the memory contents are written to a file and the machine is powered off; then the file is read back when the lid is opened.). Closing the lid does, however, put the machine in standby mode. Upon recovery from standby mode, the network card is inoperative, requiring reinitialization of the network card, or a reboot. The network card can be reinitialized by the following script.
  echo Reinitializing network card
  /sbin/init.d/network stop eth0
  modprobe -r 3c589_cs
  modprobe 3c589_cs
  /sbin/init.d/network start eth0
  netdate dalek
  echo Done  
Substitute the appropriate module for 3c589_cs. It is necessary to run netdate to reset the date, because with Linux present, the clock also stops running when you close the lid.

The ATAPI PCMCIA CD-ROM drive also works, and is automatically assigned to /dev/hdc when the card is plugged in.

Booting and startup in Linux were also much faster than in Windows 2000. Setting the 'off' button to activate standby mode is dangerous, however, because if the computer should freeze, the only way to reboot it would be to remove the battery.

According to Toshiba, standby mode also does not deactivate the computer sufficiently to make it safe to carry onto an aircraft. Before taking the Portege aboard a plane, be sure to reset the BIOS so the power switch turns the machine completely off.

There is also a Website with some rudimentary Toshiba Linux utilities. Hopefully Toshiba will release additional ones of their own.

Fn keys

Fn-F1 = Toggle screen on/off
Fn-F2 = Toggle Bright/Medium/Dim display on LCD
Fn-F4 = Screws things up. Sometimes deletes a window, other times scrambles the keyboard, requiring reboot.
Fn-F5 = Toggle LCD display/external monitor/both (must press twice)

Parameters for Toshiba 3015CT

Mouse Protocol PS/2, device /dev/psaux, sample rate 60, Baud rate 1200
Keyboard Protocol Standard, 104 key, US keyboard layout
Monitor HorizSync 29-74 VertRefresh 47-90
Video chip NeoMagic NM2160, 2048k video ram
Memory 32MB


Back