Disclaimer

This article and all information and products in it are provided on an "as is" basis, without warranty of any kind, either express or implied. Your use of this article is at your own risk.

Introduction

This article describes an attempt to install modern stable Gentoo on quite an ancient laptop (actually a netbook according to the modern naming convention) - Toshiba Libretto 70CT. The device is almost 18 year old now. It was released on 29 Oct 1997 (in Japan). The specs of the notebook can be found here. Let me mention some facts to describe how really ancient it is:

  • It does not have a PCI bus. Sound chip is connected via ISA. Video chip is connected via VLB. The PCMCIA slot supports only 16-bit cards (not CardBus).
  • BIOS does not support ACPI, only APM.

The results of this attempt are described below. You will also find there the customized rootfs archive available for downloading.

Hardware support

  • linux kernel version 4.0.5 supports almost all the Libretto hardware: keyboard, pointing stick, display, IDE storage device, PCMCIA controller and so on. The rootfs contains both the kernel sources and the config file in /usr/src/linux.
  • There was a small issue with APM support, related to switching CPU from real mode to virtual mode. First of all, in case of using GRUB2 bootloader, the kernel must be loaded via linux16 command instead of linux. Besides that, I had to patch the kernel in order to make it detect APM support in BIOS. After that apm started working. Use apm to see the battery status. Use command apm --suspend to hibernate the device via built-in hibernate feature.
  • hostap_cs driver provides support for WiFi cards. Even WPA2-networks are supported. Tested with Zonet ZCF1100.
  • libapm program allows to configure BIOS settings like brightness of the LCD, standby time, power-on time, volume of beep sound, etc. In order to compile it with gcc-4, the following patch must be applied: patch.
  • dispswitch program allows to enable external display connected via docking station. In order to compile it with gcc-4, the following patch must be applied: patch.
  • ALSA supports the audio chip Yamaha OPL3-SA3 without any problems. The only thing that I had to configure was the kernel module parameters.
  • X-server is installed and configured. It was quite tricky to make it work on the Libretto. First of all, VLB support was removed in xorg-server-1.8.2. My attempt to 'frontport' it to modern xorg failed, because I figured out, that VLB support was based on other subsystems, which were also removed long ago. That's why I decided to compile X11R6.9 statically. It still works fine with modern client application, because the protocol is very stable.

The only thing I could not make work is the fullscreen 320x240 graphics mode. The driver for CT F65550 from X11R6.9 does not support it. Besides that, all the hardware I tried to configure works fine with modern GNU/Linux.

Not tested hardware

I haven't tried to configure the hardware listed below. Therefore I can't say whether this hardware is supported on modern Linux.

  • IrDa port.

What packages are installed

Here is the full list of installed packages (equery l). It includes the following ones:

vim gcc gdb urxvt mplayer mpc mpd geeqie gftp pidgin openbox claws-mail
netsurf stardict prboom 

How to install

The rootfs tarball requires at least 4Gb of storage. The default HDD from Libretto 70CT is not enough. Besides that, it's not trivial to connect an IDE HDD to modern computer. That's why I recommend to use an IDE-to-CF adapter with 8Gb CF card. The instruction below assumes that a CF card with adapter is used.

  1. Remove CF card with IDE adapter from Libretto and connect the CF card to some other Linux computer, which will be used as a host environment for Gentoo installation.
  2. Create MBR partition table on your CF card. After that create two partitions on it. The second partition will be used for swap (I use 100Mb for swap). So let the first partition fill all the available space except swap. Format the first partition of your SD card as ext2 and the second one as swap. This manual from gentoo wiki explains how to create partition table and partitions.
  3. Download the rootfs tarball: gentoo-rootfs-20170316.tar.bz2 (1.4 Gb).
  4. Extract the rootfs to the first partition:
    tar xvpf gentoo-rootfs-20170316.tar.bz2 -C /mnt/<your-mnt-dir>
  5. Use this manual from gentoo wiki to chroot to the rootfs: /mnt/<your-mnt-dir>.
  6. Install GRUB2 bootloader on the CF card using this manual from gentoo wiki.
  7. Leave chroot environment and unmount rootfs partition from the host system.
  8. Insert the CF card with the adapter into your Libretto and reboot the machine.

The root password is 1.