Installing SuSE 9.0 Linux on a Toshiba Portégé 3015CT Laptop
This article describes how to install SuSE Linux version 9.0 onto a Toshiba Portégé from a CD using a CardBus CD-ROM. More details about installing from an NFS server, and additional information about the Toshiba 3015CT laptop, can be found at http://randombio.com/linuxsetup23.html.
These older Porteges are preferable to the later ones, because they have a trackpoint ("eraser head") pointer instead of a touchpad, and two PCMCIA slots instead of a single slot like later models. They are also thinner. 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. I began to suspect that Windex may actually be produced by Microsoft. After some false starts, I finally got SuSE 9.0 installed from an ATAPI CD-ROM.
The Toshiba 3015CT showing the Yast text-mode installation screen.
The evil glass cleaner is visible lurking in the background.
Notice, however, that there are no flies anywhere in sight.
Installing SuSE 9.0 on this vintage ultraportable is only possible if you have a lot of patience. Because of the small amount of physical RAM, Yast automatically goes into text mode. Unfortunately, even the text-mode version of Yast has a large memory footprint, which causes a lot of page swapping if you only have the default 32MB of RAM. I strongly recommend getting the extra 32MB memory module, if you can find one, before attempting installation.
Hardware
This is the hardware configuration of my 3015CT:- Toshiba 3015CT with a 4 GB MK4313MAT hard drive
- Linksys PCM200 PCMCIA network card
- Targus external PCMCIA CD-ROM (Teac CD-224E)
- Toshiba PA2669U external floppy drive
- 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
Bios settings
It's necessary to change the BIOS configuration, otherwise installation will hang after trying to load the "yenta_socket" driver for the PCMCIA bus. This is a disaster, because PCMCIA is needed for both network and CD-ROM installation. Because I had problems with yenta_socket hanging, I borrowed a USB CD-ROM to attempt installation from a USB CD-ROM. Unfortunately, the installation software wouldn't recognize the USB CD-ROM regardless of how I tweaked the BIOS settings. If you can't get past the yenta_socket driver (which replaces the old reliable i82365 driver for the i82365 chipset), it would be very difficult if not impossible to install SuSE on this machine.
BIOS Settings
device config = All Devices Controller Mode = CardBus/16 Bit PCI Bus = IRQ 11 HDD = Primary IDE (10FH/IRQ 14) Hard Disk Mode = Enhanced IDE (Normal) |
Installation Procedure
- Before starting the installation, I updated the BIOS using the file 3301cv80.exe from Toshiba's Web site. This didn't seem to do much, and the computer was still unable to boot from a CD-ROM.
- Insert the CD-ROM's PCMCIA card in the slot on the left and the
network card in the slot on the right before powering up the
Toshiba. If they're switched, the CD-ROM drive won't be recognized
by Yast, and Yast will give the message:
Unable to mount cd-rom!
- Boot from the Bootdisk floppy (which is on CD #1) and select "Manual installation" with no options on the command line at the bottom of the menu screen. This is important, because if you select "Installation" or "Installation - Safe Mode", it will hang when it tries to load the "yenta_socket" driver for the PCMCIA bus.
- Insert modules disk 1 when prompted.
- Load PCMCIA modules from modules disk 4. It should say "Found yenta_socket". Press Enter with no parameters.
- It should say, "Starting card manager" and the CD drive should
spin up. The messages screen will say something like:
hdc attached ide-cdrom driver hdc:ATAPI 23X CD-ROM DRIVE, 128 kB Cache Uniform CD-ROM driver Revision:3.12
- Next, select "load network card modules" and load the Tulip DEC tulip (DC21x4x) PCI module (or the 3c598C module for the 3Com EtherLink III card).
Installation
Because of its bloated memory footprint, the text-based version of Yast that is included with SuSE 9.0 runs extremely slowly on the Toshiba compared to previous versions of Yast. If you can use the default package choices, I recommend accepting them. On the Toshiba 3015CT, every time a package was selected or deselected, the display paused for precisely 1 minute and 47 seconds, with the hard disk light flashing continuously. Since there are hundreds of packages, selecting them individually at this rate could take days. Just selecting all the Perl modules would take at least two hours.
In fact, Yast's page-swapping on the Toshiba makes it so slow that merely scrolling down a list took several seconds per line. At one point, I tried to scroll up. The computer froze for two minutes, and then over the course of the next few minutes, it finally scrolled up, then down, then up again. The speed is the same regardless of whether you install from a CD-ROM or NFS. In contrast, in a desktop, these operations are instantaneous. I finally gave up on selecting packages individually and selected the "Kernel developer" and "Network server" categories. Despite the fact that I skipped installation of many small packages, I still had to fight with Yast to get it to deselect unwanted packages in order to cram the installation into the 1.75 GB /usr partition. This took over six hours. (Of course, I was doing other things at the same time, like surfing the Web, eating lunch and dinner, dealing with a hacker attack on the lab's email server, and putting up some drywall). Installation from the CDs took another three hours. This is an order of magnitude slower than installation of SuSE 7.0.
This has always been a problem with SuSE--you have either too much or too little granularity in package selection. For example, it would be nice to be able to install all the Perl-related files or all the programming packages with one selection. What SuSE really needs is some way to select packages to install on some other computer, then transfer that list to the new computer during installation. This would be very useful in reducing the down-time required when upgrading a critical server.
Problems with installation
As always, there are problems. Nonetheless, it's remarkable that Yast didn't crash despite the small amount of available memory.
- Several times Yast, unable to conceive of anyone wanting to install Sendmail and ftp, automatically re-selected Lukemftp, fetchmail, mailx, postfix, and a bunch other programs, and then reported a "conflict". On such a slow computer, where it takes two minutes to delete each one, this is a big annoyance.
- Yast also insisted on selecting the kernel source, again causing the Toshiba to run out of disk space. In order to deselect this, it was necessary to deselect the "developer" category, then re-check the list of packages to re-select those that were lost when "developer" was turned off.
- At the end of installation, Yast automatically selected a number of extra useless packages, ostensibly to eliminate conflicts. It was not possible to get rid of these extra packages individually.
- After Yast finished installing software, I removed the external
PCMCIA CD-ROM. The machine booted successfully, but suddenly there
was no network. /sbin/ifconfig only showed 'lo' (loopback). Checking
the configuration with Yast did not reveal any problems.
Solution: moved the network card to the left slot and power-cycled the laptop. This caused the card to be recognized. Apparently, if the left PCMCIA slot is empty, any device in the right slot may not be accessible. - Yast didn't detect the built-in sound card (a Yamaha YM OPL3-SA3). So much for playing those MP3s through the Toshiba's 3/4-inch speaker.
- It is recommended to use a lighter window manager such as fvwm instead of KDE or Gnome on this computer to avoid continuous page-swapping.
Problems after installation
There were many more problems with SuSE 9.0 than SuSE 7.0, many of which would probably be difficult for an inexperienced user to fix.
- Can't reboot After the machine was running for a few days, I tried to reboot it. Shutdown hung on "Shutting down PCMCIA". The machine was completely frozen and the reset button had to be pressed to continue. This caused a disk fsck at boot-up. Fsck failed and it was necessary to hit the reset button again to reboot. The Reiserfs disk replayed 1182 transactions. Second time it rebooted satisfactorily.
- No network after rebooting. Starting the network manually by
typing
gave the message/etc/rc.d/network start eth0
network: line 234: ifcfg-eth0: No such file or directory
Solution:
This stopped the error message but network still wouldn't start. The /var/log/messages file had the linecd /etc/sysconfig/network ln -s ifcfg-eth-pcmcia ifcfg-eth0
Edited /etc/sysconfig/hotplug, added the line/etc/hotplug/net.agent: No HW description found ... exiting
and rebooted (restarting network had no effect). This solved the problem.HOTPLUG_NET_DEFAULT_HARDWARE="pcmcia"
- No telnet or ftp server running.
Solution:
edit /etc/inetd.conf to uncomment the desired services then typecd /etc/init.d/rc3.d ln -s ../inetd S98inetd cd ..
./inetd start
- Bash shell scripts with function operator "( )" no longer work, giving
the message
Solution: changesyntax error near unexpected token `('
tomyfunctionname ()
in the script. For example, the following script allows mc (Midnight Commander) to stay in the directory being displayed when you quit mc.function myfunctionname()
function mc() { echo Starting... MC=/tmp/mc$$-"$RANDOM" /usr/bin/mc -P "$@" > "$MC" cd `cat "$MC"` rm "$MC" unset MC; echo Ending... }
- Linux doesn't go into suspend mode when lid is closed.
The "On" LED turned yellow, and computer continued
to run, albeit slowly, with the lid closed, and the display
stayed lit (although it was obviously hard to tell with the
lid closed).
First, verify that acpi=off is not set in /etc/lilo.conf.
If this doesn't help, it's necessary to edit the SuSE sysconfig files. SuSE has a SuSE-specific hack to handle acpi. The /etc/acpi/events/ directory just contains a single file, "default", which has a single line pointing to /etc/sysconfig/powermanagement and a script called acpid_proxy. This script seems to be incomplete, because it lacks a function for "resume". The few docs that exist about ACPI talk about the normal ACPI config file, which is completely different from SuSE's "pile of obscure config files strewn in random places" method, and the SuSE manual is only marginally useful.
Edited /etc/sysconfig/powermanagement set the following
Then ranACPI_MODULES="toshiba_acpi ac battery button fan processor thermal" ACPI_BUTTON_LID_CLOSE=standby #(Note: the line below is the problem line. Nothing that was #added here worked.) ACPI_BUTTON_LID_OPEN=resume APMD_SUSPEND_ON_AC="yes" APMD_SET_CLOCK_ON_RESUME="yes" ACPI_BUTTON_POWER=shutdown ACPI_BUTTON_SLEEP=standby APMD_WARN_STEP="20" APMD_STOP_SOUND_BEFORE_SUSPEND="yes"
After pressing the metal On/Off switch on the left of the computer to make the "On" LED turn green, closing the lid now caused the laptop to shut down. However, opening the lid again had no effect. Pressing the On/Off switch turned on the LED but nothing else./etc/rc.d/acpid restart
Solution: It might be possible to edit the /usr/sbin/acpid_proxy script and add a function for "resume" like the following:
but I did not try this. I just disabled ACPI by adding the lineresume() { echo 0 > /proc/acpi/sleep }
in /etc/lilo.conf, ran /sbin/lilo, and rebooted. This automatically disables ACPI and enables APM in the kernel if APM is compiled in. The "On" LED on the front must be green, not yellow, otherwise APM will not work. Momentarily pressing the On/Off switch resets the LED if the machine is already on (and turns the machine on if it's off). While in suspend mode, the 'On' LED should be slowly blinking yellow. APM worked perfectly, even restoring the pre-existing telnet connections when the lid was opened.ACPI=off
If all else fails, you can run
manually before closing the lid. Pressing the metal "On/Off" switch reactivates it.apm -s
- Spurious 8259A interrupt: IRQ7
The reason for this is unknown. - Screen blanker turns screen white.
Solution: xset -dpms
Long-Term Problems
The Toshiba 3015CT ran at a reasonable speed considering its small memory capacity, as long as large apps like Mozilla were avoided. With the modular kernel intalled by SuSE, it was impossible to reboot the system or close the lid without causing the OS to hang. The only way to fix this was by hitting the reset buttion, which caused "failed fsck" errors on any ext2 filesystems. Compiling a kernel without module support was the only solution. However, so far I haven't found the right combination of configuration options to get both the Linksys PCM200 network card and SB Audigy card to work.
Error messages
- Error message: ERROR(InstSrc:E_cache_dir_create) when connecting to server by
NFS.
Meaning: You must be root to use Yast. - Error message: "The DMA on your hard drive is turned off" message at boot-up.
Meaning: Use
to activate DMA. (So far this has not worked on the Toshiba).hdparm -d1 /dev/hda
Hardware information
lsmod
Module Size Used by Not tainted isa-pnp 30664 0 (unused) ipv6 209824 -1 (autoclean) key 63256 0 (autoclean) [ipv6] tulip 41120 1 ds 6668 2 yenta_socket 9760 2 pcmcia_core 43232 0 [ds yenta_socket] keybdev 1996 0 (unused) mousedev 4084 0 (unused) joydev 5120 0 (unused) evdev 3584 0 (unused) input 3360 0 [keybdev mousedev joydev evdev] usb-ohci 18664 0 (unused) usbcore 58668 1 [usb-ohci] raw1394 16592 0 (unused) ieee1394 183332 0 [raw1394] reiserfs 200084 2 (autoclean) |
Back