:: Portégé ::

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 without framebuffer.

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 1024x768 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 anyway

Saturday, 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 Thursday
This is a must see resource for everybody with alternative OS on a Toshiba! I am really glad I found it. Google rules.
August, 25 Friday
A second attempt at X: this time 3.3.6. Same result.
August, 20 Sunday
Even 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 132x60! 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!..

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


1
Even though Toshiba claims that 192Mb is the maximum expandability for this model.
Quickie Bar
Just a few shortcuts to several nested sections of this site.
  • If you want to know a few facts about me, please go to the about page. You may also want to check out my resume in HTML, or download it in MS Word, PostScript, PDF. A few photos to look at are also available. The funniest of them are in the Kirksville section.
  • A bunch of Linux related things are here.
  • 10 hurrays to the the little OS that could!
  • The more the merrier -- an inventory of boxen.
  • Who is Trillian?
  • Holly distribution wars? Neah! It's about choice!


  • Version: 0.0.1