Debian GNU/Linux on a Toshiba Portégé 7200CT

This page details my experience of installing, configuring and running GNU/Linux system (Debian 2.2 `Potato’) on a Toshiba Portégé 7200CT laptop.

  1. Latest news
  2. Hardware
  3. Installation
    1. Game plan
    2. Base system
    3. Adding more meat
  4. Configuration
    1. Kernel modules
    2. Sound
    3. Modem
    4. X-Windows
  5. Impression

Latest news

Wednesday, January 3, 2001 5:28 PM

Even better news than before! Thanks to Chris, I’ve gotten X 4.0.2 up and running withoutframebuffer.

Needless to say it is WAY faster. Besides, it now works in a docking station as well.

From: christopher [christopher@staerkel.de]
Sent: Thursday, December 28, 2000 12:50 AM
Subject: x on portege

hi andrei!

Try the videodriver for the trident cyberblade that is included in
the 4.02 release of xfree86. it's much nicer than the framebuffer
thing.

greetinx

chris

For those interested, here‘s the current XF86Config-4.Friday, 13, October, 2000 at 16:59:35

Another nice resource on Portege setup with Red Hat/Slackware/SuSE experiences (origianlly by Piete Brooks, a number of contributions from other people as well. Portege 7140, 7200, 7220 CT/CTe). Modem and XFree86-4 info. Links et al.Sunday, 17, September, 2000 at 17:57:56

An addition to what’s been mentioned below: in fact all 1024×768 modes work: 0x305, 0x316, 0x318. Strangely, X will only work with 0x318 if you specify default color depth as 32, not 24.

Unfortunately, after I recompiled the kernel (2.4.0-test5 at the moment), 0x317 no longer worked (or rather there seems to be something wrong with brightness). Had to switch to 0x318, which I, frankly, do not mind to much anywaySaturday, 16, September, 2000 at 17:48:01

Thanks to the site mentioned below, I was finally able to get X up and running on the Portege. Of course it is slow, but as long as you don’t enable opaque moving/resizings it is OK. I also had satisfied (a bit) my curiosity about KDE2 — this thing kicks ASS! A lot nicer than the previous release and is fairly light for my current set up.>/p>

A word of caution: if you like me set /etc/lilo.conf to vga=ask, do bear in mind that what folks are mentioning in framebuffer setup here is a decimal notation. When LILO prompts you for video mode you need to input hexadecimal, Hence, 791 (dec) becomes 317 (hex).

Just FYI, other VESA modes are (taken from Framebuffer-HOWTO):

Colors 640x400 640x480 800x600 1024x768 1280x1024 1600x1200
--------+-----------------------------------------------------
4 bits | ? ? 0x302 ? ? ?
8 bits | 0x300 0x301 0x303 0x305 0x307 0x31C
15 bits | ? 0x310 0x313 0x316 0x319 0x31D
16 bits | ? 0x311 0x314 0x317 0x31A 0x31E
24 bits | ? 0x312 0x315 0x318 0x31B 0x31F
32 bits | ? ? ? ? ? ?

September, 13 ThursdayThis is a must see resource for everybody with alternative OS on a Toshiba! I am really glad I found it. Google rules.August, 25 FridayA second attempt at X: this time 3.3.6. Same result.August, 20 SundayEven though the card is not listed as supported by X, tried to configure X (4.0.1, had to compile it). Not much luck, but maybe if I could get hold of proper timings…

Hardware

This machine is practically the most you can get in the 7200CT series: 600MHz Pentium III CPU, 320Mb RAM 1, 12Gb hard drive, Trident CyberBlade e4 with 4Mb VRAM, 2 PCMCIA slots, internal 56K WinModem, ESS sound crad with a single speaker, USB, AcuPoint, 13.1″ TFT Display, SVGA port, external floppy and port replicator. It is very light: under 5lbs.

The machine looks very nice, but as somebody rightly put — it is not a magneseum alloy body (actually, just the top pannel), that makes this baby so thin and light. If you happened to take just a laptop with you — you’re gonna be left without a floppy, without a CD-ROM drive, without being able to connect a parallel port printer, as well as any other parallel or serial device. All of these come as either an external device, or in a docking station.

I am lucky: I have the dock. Dock rocks: in a doc and with an external monitor I can run text mode at 132×60! And that’s without having to recompile the kernel.

Installation

While this is not the latest and greatest in Portege series, this machine is recent enough to have, unfortunately, a few quirks, when it comes to setting up Linux.

Game plan

For installation I have chosen Debian GNU/Linux. At the time of original installation this (2.2, a.k.a. `potato’) has been a `frozen’ distribution (i.e. pre-release). Due to Portege’s novelty, I decided that it would be better to install a more recent distribution than slink (2.1).

Initial installation was performed off an 11-floppy disk set created with ntrw.exe from 1.44M images found on Debian ftp site (here).

After installing the base system, configuring networking and removing a few unnecessary services and daemons, the system was further set up with apt-get.

Base system

Setting up the base system was, largely, a no-brainer. I opted to using the default kernel, to ensure that most of my hardware would be recognized. Truly, in CLI mode practically all important parts of the system came to life with out much interference (providing IPs/netmasks/gatways should not be considered as interference at all). For some reason, however, after the first reboot the system decided that I did not need pcmcia support and offered to remove it. Well, I guessed that I am likely to need it and said `no’.

After shutting down a few things (finger, r{sh, login, who}, etc.) and editing /etc/apt/sources.list I was ready to update my system to the latest and greatest.

Adding meat

I am used to living on the edge. My ThinkPad was always up-to-date with unstable Debian system. True, a few times this had broken a few things (most fun I ever had was with lprng), but never so badly that I’d settle down, downgrade to stable, and leave it like that.

So, /etc/apt/sources.list was all pointing at unstable (not even frozen). I first updated all the stuff I had installed, then moved onto adding a few more things. I did not want too much stuff: I only needed enought to:

  • recompile kernel (kernel-package, libc6-dev, bin86, yacc, bison, flex, kernel-source*, a few other things)
  • do some website development work (perl, CGI, python, apache, mod_perl, postgresql and python bindings to it)
  • be able to operate on the network (w3m, wget, ssh)
  • do it all efficiently (X, a decent editor, mutt & postfix)

So that was pretty much all that got fetched and installed. Once that was done, I was ready for the real configuration.

Configuration

Searching the web had somewhat disappointed me: there was not too much information about Portege. Tecra, Sattelite — those were in abundance, but Portege was only a few.

In current configuration trillian is running 2.4.0-prerelease kernel. I am still trying to get IR working, but everything else seems to work.

Linux Kernel

It has taken quite a while to tune the current configuration. I was trying to modularize the kernel as much aspossible. Right now kernel itself is only 571371 bytes. The following has direct kernel support: 

CONFIG_X86=y
CONFIG_ISA=y
CONFIG_UID16=y
CONFIG_EXPERIMENTAL=y
CONFIG_MODULES=y
CONFIG_MODVERSIONS=y
CONFIG_KMOD=y
CONFIG_M686FXSR=y
CONFIG_X86_WP_WORKS_OK=y
CONFIG_X86_INVLPG=y
CONFIG_X86_CMPXCHG=y
CONFIG_X86_BSWAP=y
CONFIG_X86_POPAD_OK=y
CONFIG_X86_TSC=y
CONFIG_X86_GOOD_APIC=y
CONFIG_X86_PGE=y
CONFIG_X86_USE_PPRO_CHECKSUM=y
CONFIG_X86_FXSR=y
CONFIG_X86_XMM=y
CONFIG_NOHIGHMEM=y
CONFIG_MTRR=y
CONFIG_X86_UP_IOAPIC=y
CONFIG_X86_IO_APIC=y
CONFIG_X86_LOCAL_APIC=y
CONFIG_NET=y
CONFIG_PCI=y
CONFIG_PCI_GOANY=y
CONFIG_PCI_BIOS=y
CONFIG_PCI_DIRECT=y
CONFIG_PCI_NAMES=y
CONFIG_HOTPLUG=y
CONFIG_SYSVIPC=y
CONFIG_BSD_PROCESS_ACCT=y
CONFIG_SYSCTL=y
CONFIG_KCORE_ELF=y
CONFIG_BINFMT_ELF=y
CONFIG_PM=y
CONFIG_MD=y
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_SYN_COOKIES=y
CONFIG_IDE=y
CONFIG_BLK_DEV_IDE=y
CONFIG_BLK_DEV_IDEDISK=y
CONFIG_BLK_DEV_IDEPCI=y
CONFIG_IDEPCI_SHARE_IRQ=y
CONFIG_BLK_DEV_IDEDMA_PCI=y
CONFIG_IDEDMA_PCI_AUTO=y
CONFIG_BLK_DEV_IDEDMA=y
CONFIG_IDEDMA_AUTO=y
CONFIG_NETDEVICES=y
CONFIG_NET_ETHERNET=y
CONFIG_NET_PCMCIA=y
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_SERIAL=y
CONFIG_UNIX98_PTYS=y
CONFIG_DRM=y
CONFIG_PROC_FS=y
CONFIG_DEVPTS_FS=y
CONFIG_EXT2_FS=y
CONFIG_MSDOS_PARTITION=y
CONFIG_NLS=y
CONFIG_VGA_CONSOLE=y
CONFIG_VIDEO_SELECT=y
CONFIG_FB=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_FB_VESA=y
CONFIG_VIDEO_SELECT=y
CONFIG_FBCON_ADVANCED=y
CONFIG_FBCON_CFB8=y
CONFIG_FBCON_CFB16=y
CONFIG_FBCON_CFB24=y
CONFIG_FBCON_CFB32=y
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y
CONFIG_MAGIC_SYSRQ=y

I am still trying to figure out whether a few more things could be moved to modules on top of what’s listed (or rather not listed) above. As it stands, the following things in kernel config are marked as ‘module’:

CONFIG_TOSHIBA=m
CONFIG_PCMCIA=m
CONFIG_BINFMT_AOUT=m
CONFIG_BINFMT_MISC=m
CONFIG_APM=m
CONFIG_PARPORT=m
CONFIG_PARPORT_PC=m
CONFIG_PNP=m
CONFIG_ISAPNP=m
CONFIG_BLK_DEV_FD=m
CONFIG_PARIDE=m
CONFIG_PARIDE_PARPORT=m
CONFIG_PARIDE_PD=m
CONFIG_PARIDE_PCD=m
CONFIG_PARIDE_PF=m
CONFIG_PARIDE_PT=m
CONFIG_PARIDE_PG=m
CONFIG_PARIDE_ATEN=m
CONFIG_PARIDE_BPCK=m
CONFIG_PARIDE_COMM=m
CONFIG_PARIDE_DSTR=m
CONFIG_PARIDE_FIT2=m
CONFIG_PARIDE_FIT3=m
CONFIG_PARIDE_EPAT=m
CONFIG_PARIDE_EPIA=m
CONFIG_PARIDE_FRIQ=m
CONFIG_PARIDE_FRPW=m
CONFIG_PARIDE_KBIC=m
CONFIG_PARIDE_KTTI=m
CONFIG_PARIDE_ON20=m
CONFIG_PARIDE_ON26=m
CONFIG_BLK_DEV_LOOP=m
CONFIG_BLK_DEV_RAM=m
CONFIG_BLK_DEV_MD=m
CONFIG_MD_LINEAR=m
CONFIG_MD_RAID0=m
CONFIG_MD_RAID1=m
CONFIG_MD_RAID5=m
CONFIG_BLK_DEV_LVM=m
CONFIG_IPV6=m
CONFIG_KHTTPD=m
CONFIG_IPX=m
CONFIG_BLK_DEV_IDECD=m
CONFIG_BLK_DEV_IDETAPE=m
CONFIG_BLK_DEV_IDEFLOPPY=m
CONFIG_DUMMY=m
CONFIG_EQUALIZER=m
CONFIG_EL1=m
CONFIG_EL2=m
CONFIG_ELPLUS=m
CONFIG_EL16=m
CONFIG_EL3=m
CONFIG_3C515=m
CONFIG_VORTEX=m
CONFIG_ACENIC=m
CONFIG_HAMACHI=m
CONFIG_YELLOWFIN=m
CONFIG_SK98LIN=m
CONFIG_PLIP=m
CONFIG_PPP=m
CONFIG_PPP_ASYNC=m
CONFIG_PPP_SYNC_TTY=m
CONFIG_PPP_DEFLATE=m
CONFIG_PPP_BSDCOMP=m
CONFIG_PPPOE=m
CONFIG_SLIP=m
CONFIG_PCMCIA_3C589=m
CONFIG_PCMCIA_3C574=m
CONFIG_PCMCIA_FMVJ18X=m
CONFIG_PCMCIA_PCNET=m
CONFIG_PCMCIA_NMCLAN=m
CONFIG_PCMCIA_SMC91C92=m
CONFIG_PCMCIA_XIRC2PS=m
CONFIG_PCMCIA_XIRTULIP=m
CONFIG_IRDA=m
CONFIG_IRLAN=m
CONFIG_IRNET=m
CONFIG_IRCOMM=m
CONFIG_IRTTY_SIR=m
CONFIG_IRPORT_SIR=m
CONFIG_NSC_FIR=m
CONFIG_WINBOND_FIR=m
CONFIG_TOSHIBA_FIR=m
CONFIG_SMC_IRCC_FIR=m
CONFIG_PRINTER=m
CONFIG_MOUSE=m
CONFIG_RTC=m
CONFIG_PCMCIA_SERIAL=m
CONFIG_PCMCIA_SERIAL_CS=m
CONFIG_PCMCIA_SERIAL_CB=m
CONFIG_AUTOFS_FS=m
CONFIG_AUTOFS4_FS=m
CONFIG_FAT_FS=m
CONFIG_MSDOS_FS=m
CONFIG_UMSDOS_FS=m
CONFIG_VFAT_FS=m
CONFIG_EFS_FS=m
CONFIG_ISO9660_FS=m
CONFIG_MINIX_FS=m
CONFIG_NTFS_FS=m
CONFIG_NFS_FS=m
CONFIG_NFSD=m
CONFIG_SUNRPC=m
CONFIG_LOCKD=m
CONFIG_SMB_FS=m
CONFIG_NCP_FS=m
CONFIG_NLS_CODEPAGE_437=m
CONFIG_NLS_CODEPAGE_850=m
CONFIG_NLS_CODEPAGE_852=m
CONFIG_NLS_CODEPAGE_866=m
CONFIG_NLS_ISO8859_1=m
CONFIG_NLS_ISO8859_2=m
CONFIG_NLS_ISO8859_5=m
CONFIG_NLS_ISO8859_15=m
CONFIG_NLS_KOI8_R=m
CONFIG_SOUND=m
CONFIG_SOUND_MAESTRO=m
CONFIG_USB=m
CONFIG_USB_UHCI=m
CONFIG_USB_UHCI_ALT=m
CONFIG_USB_OHCI=m
CONFIG_USB_AUDIO=m
CONFIG_USB_BLUETOOTH=m
CONFIG_USB_ACM=m
CONFIG_USB_PRINTER=m
CONFIG_USB_DC2XX=m
CONFIG_USB_MDC800=m
CONFIG_USB_SCANNER=m
CONFIG_USB_DABUSB=m
CONFIG_USB_PLUSB=m
CONFIG_USB_PEGASUS=m
CONFIG_USB_NET1080=m
CONFIG_USB_USS720=m
CONFIG_USB_RIO500=m

Granted, quite a few of those things I may not need at all. However, I have decided that it is better to have modules ready — what if one day I would want to connect a USB devise or mount a minix floppy? For those intersted can download Debian package with a kernel and all modules. Alternatively, you can fetch my kernel config file.

Kernel modules

Here’s my /etc/modules with a list of kernel modules to be loaded at boot time:

# /etc/modules: kernel modules to load at boot time.
#
# This file should contain the names of kernel modules that are
# to be loaded at boot time, one per line. Comments begin with
# a #, and everything on the line after them are ignored.
ide-floppy
autofs
binfmt_misc
nfs
nls_cp437
nls_cp866
nls_iso8859-1
nls_iso8859-5
nls_koi8-r
ntfs
vfat
smbfs
ipv6
irport
irtty
nvram
ppp
3c59x
apm
maestro

Sound

The simplest way to get sound working is to compile support for ESS Maestro into your kernel (CONFIG_SOUND_MAESTRO=Y). This does not make your kernel much bigger, but some may prefer to have it a module, which is also fine. This is how I use it now. Make sure that you’ve added maestro to your /etc/modules and have created and alias in /etc/modules.conf:

# enabling sound
alias sound-major maestro

Modem

X-Windows

In short, it is working. At first it was my greatest disapointment: I could not get X to run. Then I found out that I could try framebuffer X Server. It was very slow, but better than nothing… Then I moved onto 2.4.0-test series kernel that has better framebuffer device support, as well as tried X4 (which made it to woody by then. Still running frambuffer, but better and faster than before. I even tried running it at 24bps, but the benefit was insignificant compared to speed penalty.

Then there was the greatest news so far: X 4.0.2 includes Trident driver to handle Cyberblade cards. I tried. And the piece has come!..

Links and such

A few strictly Portégé links

Try also Google for something like this.

…and a number of Toshiba laptops in general

…and, of course Linux & Linux on laptops


1Even though Toshiba claims that 192Mb is the maximum expandability for this model.

Leave a comment

Your email address will not be published. Required fields are marked *