This site’s design is only visible in a graphical browser that supports web standards but its content is accessible to any browser or Internet device.

RedGrittyBrick

Background

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.

Issues

Some areas that caused me difficulties were ...

Prerequisites

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

Essential

Optional

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
    DeviceStartEndBlocksTypeType
    hda1 12531020064bWin95 FAT32
    hda225425810967045Extended
    hda5254258 2012883Linux native
    hda6259490 93539283Linux native
    hda7491507 6851282Linux swap
    hda8508525 72544fd(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 PointDeviceMB
    /mnt/winhda1996
    /boothda519
    /hda6913
     hda766
     hda870
    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"
               EndSection
             
    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
    7 78 99 90 *
    U 4I 5O 6P -
    J 1K 2L 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

2003-09-03

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   "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
    FontPath   "/usr/X11R6/lib/X11/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"
EndSection

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

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"
EndSection

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

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

EndSection

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"
EndSection

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

    

References