Installing RedHat Linux on a Toshiba Libretto 100CT



In May 1999 I wanted a small PC to use as a simple network analyzer so I bought a Libretto 100CT. My aim was to install RedHat Linux 6.0 on this machine using the guidelines I had seen at various web pages on this subject. See the References section below.

Obviously I would never have started on this without the information generously provided by various people. Much of the information on this page duplicates info from other people’s pages in order to provide a complete story in one place. However this page doesn’t supercede those others. I recommend you read them too. They have used alternative approaches to at least some aspects this task. See References

This page documents how I went about the task of installing RedHat 6 on a Libretto 100CT.


Some areas that caused me difficulties were …


Before I got started, I gathered together the following items.



Not Needed?

Installation of RedHat 6.0

  1. I assembled my prerequisites. See above. I placed the Neomagic drivers etc on a suitable networked PC. Put the RedHat CD in the same PC

  2. Made a RedHat 6 boot disk. This is documented on the RedHat CD. I could have done it from Linux or from DOS. From DOS, my CD-ROM drive is D: so I ran D:\dosutils\rawrite, told it the disk image file is D:\images\boot.img. From Linux, I used dd if=/mnt/cdrom/images/boot/img of=/dev/fd0 bs=1k. I guess I could have used pcmcia.img instead if had a PCMCIA CD-ROM drive attached to the Libretto.

  3. Made a DOS boot disk for a partitioning tool From DOS, I used format /s a:, then I copied my partitioning tool to it, I used PQMAGICT.EXE.

  4. Installed Windows 9x. When I powered up the Libretto for the first time I was offered the choice of installing Windows 95 or 98. I chose Windows 98 and let it install. For my method of installing Linux I needed an operating system that can retrieve the RedHat files into a filesystem on the Libretto.

  5. Installed Network Adapter. I inserted a 3Com 589 and rebooted Windows 98. I set up TCP/IP networking and mapped a drive L: to the machine that contains the RedHat CD and extra files.

  6. Copied RedHat CD. I created a folder c:\RedHat. Into this I copied L:\RedHat\Base, L:\RedHat\rpms and XFCom_Neomagic.rpm.

  7. Shrank the W9x partition. I used Windows 98’s disk defragmenter to defrag drive C: and to try to move all the files up to one end of the partition. Then I booted my partitioning diskette and resized the W9x partition to below 1GB.

  8. Used the RedHat 6 boot disk. I put the RedHat 6 boot floppy in the Libretto’s floppy drive and rebooted it. The RedHat install procedure started as usual. When asked Server, Workstation or Custom? I chose custom. If I chose Workstation it would lose my hibernation partition. I didn’t use Disk Druid, it doesn’t let you control the order of the partitions. I used FDISK. My partitioning scheme was

    Dev Start End Blocks Type
    hda1 1 253 1020064 Win95 FAT32
    hda2 254 258 1096704 Extended
    hda5 254 258 20128 Linux native
    hda6 259 490 935392 Linux native
    hda7 491 507 68512 Linux swap
    hda8 508 525 72544 Hibernation

    Remember, I’d accidentally destroyed my hibernation partition in an earlier attempt at this so I just invented the details for hda8, I read that it needs to be the last 70 MB of the disk. I did some sums on the reported geometry of the disk and the size reported by the HD manufacturer. The 100CT has a 2,167 billion byte MK2105MAT drive with CHS=525/128/63 so that means just under 4 MB per cylinder. Note the CHS isnt real (the MK2105MAT has 2 disks and 4 heads). Its just reported this way by the IDE drive to fool the PC BIOS which can’t cope with cylinders over 1023.

    I allocated mount points as follows

    Mount Point Device MB
    /mnt/win hda1 996
    /boot hda5 19
    / hda6 913
    hda7 66
    hda8 70

    I used Partition hda7 for swap.

  9. Installed from HD. I told the RedHat installer to install from Hard Disk. The disk is hda1. The directory is . It installed all the RPMs for the packages I had chosen. This took about 20 minutes.

  10. Removed floppy and rebooted. I had a working Linux system. I logged in as root.

  11. Installed X-Windows driver. I made a directory /mnt/win and then did mount /dev/hda1 /mnt/win I installed the NeoMagic driver using command rpm -i /mnt/win/XFCom_neomagic*rpm. cd to /etc/X11 and ln -s ../../usr/X11R6/bin/XFCom_Neomagic* X (Note: this driver is no longer needed with RedHat 6.2) cp XF86Config.libretto100ct XF86Config This wiped my non-US settings, In order to get my national keyboard layout correctly understood by xterms I had to edit XF86Config to reinstate the following …

       Section "keyboard"
         Protocol     "Standard"
         AutoRepeat   500 5
         XkbKeycodes  "xfree86"
         XkbTypes     "default"
         XkbCompat    "default"
         XkbSymbols   "us(pc101)"
         XkbGeometry  "pc"
         XkbRules     "xfree86"
         XkbModel     "pc101"
         XkbLayout    "gb"

    See Quentin Stafford-Fraser’s page for more ideas on configuring X to get the best out of internal and external displays.

  12. Configured Networking. I told Linuxconf about eth0 and 3c589_cs. Painless.

  13. Made KeyPad keys work. Xin Feng’s page on the Libretto 100 keyboard shows that the Fn key has some undocumented features. Use Fn to emulate the missing keypad

    Fn +   7 8 9 0    is    7 8 9 *
           U I O P          4 5 6 -
           J K L ;          1 2 3 +
           M , . /          0   . /

    Fn+F10 toggles the cursor-movement keypad overlay
    Fn+F11 toggles the numeric keypad overlay.
    XFree86 will switch video modes using Ctrl+Alt+Fn+P (if your XF86Config contains a Screen/Display/Modes line that lists several resolutions).

Things remaining

  1. Make the Floppy Drive work and build a rescue floppy.
  2. Nuke Windows 98. I could use Linux FDISK to change hda1 to “Linux native” and then format it and use it for Linux. If I do this I’ll need to find another way to reinstate Linux in the unlikely event it ever dies unrecoverably.
  3. Fix the APM daemon. The APM daemon handles power management fine however it always starts bleating that power is running out when the battery gets to 50% and it keeps bleating every few seconds. Currently I just kill it and restart it with no parameters. It doesnt seem to properly take notice of the parameters set in the startup file (must be a buglet). I’ll hunt down the startup file and play with the params to make it behave more quietly. (Note: this is no longer a problem with RedHat 6.2 and later)

Appendix 1: RedHat 6.1

I tried but never succeeded with RedHat 6.1. Using my previous method resulted in a bootable system but I could never get my network cards to work so I gave up on this. My advice is to use RedHat 6.2 instead.

Appendix 2: RedHat 6.2

Installing RedHat 6.2 was the easiest so far. I made a boot floppy from the pcmcia.img and was able to perform an NFS install over the network after putting the RedHat CD in another Linux PC and configuring NFS to export it to all users. I did have some teething problems with NFS but I forget the details - so be persistent, it works.

For X11, there is now no need to download and install the XFCOM Neomagic driver. I still used the XF86Config from that driver since the RedHat installer doesn’t grok the 800 x 480 display ratio. My XF86Config is below.

This time I swapped the original 2 GB disk for a 6.4 GB Toshiba MK6412MAT. These are the same physical dimensions. Its important to get a 2.5" HDD that is the same thickness (about 8mm). Some of the older Toshiba disk drives have the mounting holes in a different place so this is something to look out for. The mounting holes aren’t that important but they are used for attaching a handle used when extracting the drive. Again I reserved about 70 MB at the end for the Hibernation partition and gave the rest to Linux. The Libretto automatically recognises the HDD geometry - there is no need to go into the BIOS setup.

Appendix 3: RedHat 7.0

On 10/11/200 I installed RedHat Linux 7.0. My notes are as follows:

Everything works fine, however, I don’t use the Libretto a lot these days. 32 Mb RAM is a little too small these days.

Appendix 4: RedHat 8.0

I had problems making a boot floppy and didn’t try very hard to overcome them. I Have Redhat 8.0 running on a desktops and servers but not on any laptops/notebook PCs yet. The battery has failed in the Libretto (3 years use, not bad).

I now have a Sharp Zaurus SL–5500 with a CF Ethernet card. This satisfies some of my needs for a portable Linux device. I haven’t yet got Ethereal running on it though.

Appendix 5: RedHat 9

I have tried numerous different ways to install RedHat 9. So far all of them have failed. My current plan is to order an adapter cable so I can install the 2.5“ IDE drive from the Libretto inside a desktop PC, do the install there using conventional CD and then replace the 2.5” disk in the Libretto and boot.

The adapter is needed as 2.5“ IDE drives have a different connector to the usual 3.5” (or older 5.25") IDE drives found in desktop PCs.

There’s some useful looking stuff on Mandrake 9 at P Nienhuis’s web page


Appendix 6: Soundcard

The Libretto 100Ct uses a Yamaha OPL3 SA3 sound chip that is compatible with the Soundblaster Pro.

Log in as root, run /usr/sbin/sndconfig. let it probe for a PnP card. It won’t find one and will ask you to choose. Select “Soundblaster Pro”. The settings are I/O=0x220, IRQ=5, DMA=0. You should get to hear a sample of Linus Torvalds and a brief bit of MIDI.

Appendix 7: Madge Token Ring Cards

At Madge’s website you can download the drivers for their Token Ring LAN Adapters. They currently (July 2000) have binaries for RedHat 6.1. For RedHat 6.2 you’ll need to recompile the sources. Change either

Compile the source using “make” - ignore the numerous warnings. Then install using “make install”. Follow the instructions in the README file completely. Amend /etc/conf.modules, run depmod -a, amend /etc/pcmcia/config.

I had to eject and re-insert the PCMCIA card, because Linux had confused it with a memory card. Use “cardctl ident” to check that the PCMCIA device is reporting its name properly.

Appendix 8: XF86Config

Under RedHat 6.2 I use the normal XF86_SVGA driver. Here is a working /etc/X11/XF86Config for internal 800x480 LCD display. It needs more work to support all the internal and external display resolutions.

Section "Files"
  RgbPath   "/usr/X11R6/lib/X11/rgb"
  FontPath "/usr/X11R6/lib/X11/fonts/misc/"
  FontPath  ditto /fonts/75dpi/:unscaled"
  FontPath  ditto /fonts/100dpi/:unscaled"
  FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
  FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
  FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
  FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
#  ModulePath "/usr/X11R6/lib/modules"

Section "ServerFlags"
#    NoTrapSignals
#    DontZap
#    DontZoom
#    DisableVidModeExtension
#    AllowNonLocalXvidtune
#    DisableModInDev
#    AllowNonLocalModInDev

Section "Keyboard"
    Protocol    "Standard"
    AutoRepeat  500 5
#    XkbDisable
#    XkbKeymap   "xfree86(us)"
   XkbKeycodes     "xfree86"
   XkbTypes        "default"
   XkbCompat       "default"
   XkbSymbols      "us(pc101)"
   XkbGeometry     "pc"
   XkbRules        "xfree86"
   XkbModel        "pc101"
   XkbLayout       "gb"

Section "Pointer"
    Protocol    "PS/2"
    Device      "/dev/psaux"
    Emulate3Timeout    50

Section "Monitor"
    Identifier  "Generic Multisync"
    VendorName  "Unknown"
    ModelName   "Unknown"
    HorizSync   30-64
    VertRefresh 50-100

# 800x480
Modeline "800x480" 40 800 864 928 
    1088 480 481 484 509 +hsync


Section "Device"
    Identifier  "NeoMagic"
#    Chipset    "NM2160"
#    IOBase 0xfea00000
#    MemBase    0xfd000000
#    VideoRam   2048
#    DacSpeed   90
#    Option "linear"
#    Option "nolinear"
#    Option "sw_cursor"
#    Option "hw_cursor"
#    Option "no_accel"
#    Option "intern_disp"
#    Option "extern_disp"
#    Option "mmio"
#    Option "no_mmio"
#    Option "lcd_center"
#    Option "no_stretch"
    Option  "override_validate_mode"

Section "Screen"
    Driver      "svga"
    Device      "NeoMagic"
    Monitor     "Generic Multisync"
    DefaultColorDepth   16
    Subsection "Display"
    Depth       24
    Modes       "800x480"
    ViewPort    0 0
    Virtual     800 600
    Subsection "Display"
    Depth       16
    Modes       "800x480"
    ViewPort    0 0
    Virtual     800 480
    Subsection "Display"
    Depth       8
    Modes       "800x480"
    ViewPort    0 0
    Virtual     800 600


Linux on Laptops
lists resources for many types of Notebook/Laptop PC
Linux on the Libretto 100CT
Quentin Stafford-Fraser’s page describing installation of RedHat Linux 5.2 using a network.
Installation of Red Hat Linux 5.2
using a PCMCIA CD-ROM drive. Philip Nienhuis.
Mandrake Linux 9.0 and 9.1
Philip Nienhuis.
XFCOM_Neomagic video drivers
are no longer at Red Hat’s FTP site. nor SuSe nor Precision Insight. However RedHat 6.2 onward include support for the chipset.
Driver/patches for PCMCIA Floppy
by D Bateman. ftp-site no longer in operation
Adorable Toshiba Libretto page
David Chien
Libretto 100CT Specifications
by Toshiba. Web-pages no longer present PDF still available.
Libretto Keyboard secrets
by Xin Feng.
by Victor Gvirtsman. (site now dead)