For those that don't know, this is a very small laptop, about the size of a VHS tape.
As well as being small size-wise, it's small on specs. Well, it is nearly 10 years old.
It currently runs Debian Etch (Testing) and acts as a media player with Music Player Daemon.
It's also handy for War(Walk|Drive|Cycl)ing, with a GPS attached through the serial port on the mini port expander, and two wireless cards for Kismet.
Although not too difficult to set up, I've put a guide for getting things to work that might not.
Technical Specs
- 166MHz Pentium Processor with MMX
- 32MB RAM (Expandable to 64MB)
- 2.1GB Hard Disk (Mine has a 30GB drive from another laptop)
- Display: 7.1”, 800×480 pixels
- Display controller: NeoMagic MagicGraph 128XD
- Video RAM: 2MB
- Sound: Yamaha OPL3-SAx
- Connectors:
- 2x 32bit CardBus slots - Type II or Type III
- 2.5mm headphone/mic sockets
- IrDA infrared port
- Port replicator connector
- The mini port replicator also gives:
- PS/2 mouse/keyboard connector
- Monitor port
- RS232 Serial Port
- Parallel printer port
Installation
The main problem with installing linux on the libretto is its lack of a CDROM drive.I did the initial install by removing the hard drive and putting it into another laptop then installing as usual.
This may cause trouble with the GRUB setup if one computer uses different names for the hard drives.
Changing it manually at boot should work, then modify GRUB's menu.list to fix.
Kernel Magic
The stock kernel in Debian has loads of stuff that the Libretto will never need. Recompiling the kernel gives a noticeableadvantage in terms of speed.FrameBuffer
Enabling the FrameBuffer allows you to see more on the screen, and do some graphics work without starting X. For this to work, you need the following options enabled in your kernel:- CONFIG_FB=y
- CONFIG_FB_VESA=y
- CONFIG_VIDEO_SELECT=y
- CONFIG_VGA_CONSOLE=y
- CONFIG_FRAMEBUFFER_CONSOLE=y
- CONFIG_FONT_8x8=y
- CONFIG_FONT_8x16=y
- Optional: (Gives you a happy Tux logo on boot)
- CONFIG_LOGO=y
- CONFIG_LOGO_LINUX_VGA16=y
1) The boot line in GRUB's menu.list.
2) The automagic configuration defoptions, then (as root) run update-grub
Option 2 is better, as it'll mean the settings will be applied to any new kernel you install.
Sound
While from the specs, it would appear that the module snd_opl3sa2 would enable sound, it doesn't seem to work. The module that actually gives sounds is SoundBlaster: snd_sb8.It still doesn't give sound straight away, it needs to be modprobe'd:
modprobe snd-sb8 irq=5 dma8=0
Having confirmed this works, add it to /etc/modules:
echo snd_sb8 irq=5 dma8=0 >>/etc/modules
Note that compiling the kernel should be done on another computer - the Libretto's slow speed will mean it's likely to overheat before it finishes.
Faster Boot: InitNG
InitNG is a replacement for System V Init which, among other things, makes the system boot faster.Installation instructions (Debian Repository) can be found at http://www.initng.org/wiki/Install_Debian_Ubuntu
To add it to GRUB's menu.list, look for the automagic setting altoptions, and add a line like:
altoptions=(InitNG) vga=808 init=/sbin/initng
and run update-grub.If you prefer to boot InitNG by default, change the default option at the top of the menu.list file.
Note that I find that ACPI doesn't work when using InitNG.
X Server
While setting up the X Server is simple, getting it to run at the Libretto's correct resolution of 800x480 takes a bit of fiddling with the config file.The following sections need to be in the config:
Section "Device"
Identifier "NeoMagic Corporation NM2160 [MagicGraph 128XD]"
Driver "neomagic"
Option "NoStretch"
Option "override_validate_mode"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Toshiba"
ModelName "Libretto 100CT"
HorizSync 31.5 - 39.7
VertRefresh 50-90
ModeLine "800x480" 35.26 800 860 928 1088 480 488 493 521 +hsync +vsync
EndSection
Section "Screen"
Identifier "Default Screen"
Device "NeoMagic Corporation NM2160 [MagicGraph 128XD]"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "800x480" "640x480"
EndSubSection
EndSection
Window Managers
The Libretto's specs are way too low to run KDE or GNOME, even XFCE runs slowly.I run OpenBox due to its light weight and customisability.
A few useful customisations to ~/.config/openbox/rc.xml:
<keyboard>
...
<keybind key="Super_L">
<action name="Execute"><execute>x-terminal-emulator</execute></action>
</keybind>
<keybind key="Menu">
<action name="ShowMenu"><menu>root-menu</menu></action>
</keybind>
</keyboard>
This makes the menu key launch show the main menu, and the Windows key launch whatever you have set as x-teminal-emulator (I use aterm, as I'm a sucker for transparency).
<mouse>
...
<context name="Titlebar">
...
<mousebind button="Left" action="DoubleClick">
<action name="ToggleMaximiseFull"/>
</mousebind>
...
</context>
...
</mouse><
This makes double-clicking the titlebar maximise/unmaximise the window.
Setting a wallpaper
OpenBox does not support setting of wallpapers itself - you need an external program. feh works very nicely withfeh --bg-scale filename.png
To get wallpaper on starting X, simply add
eval `cat $HOME/.fehbg` &
to your ~/.xinitrc fileHere’s a couple of big friendly penguins on standard GIMP pattern backgrounds at the appropriate size:
Plain Blue Squares Rain
Kismet
Now the fun starts..."Kismet is an 802.11 layer2 wireless network detector, sniffer, and intrusion detection system. Kismet will work with any wireless card which supports raw monitoring (rfmon) mode, and can sniff 802.11b, 802.11a, and 802.11g traffic."
...the practical upshot of which is that when you run it on a Libretto you have a conveniently portable wardriving machine.
Note that there is no vertical space between the Libretto's two PCMCIA slots. This means that if you want to have two wireless cards (both scanning, or one scanning, one for connections), you need to have one that does not stick up as it comes out of the slot. I have a Belkin F5D7010 that has the rt2500 chipset and only sticks up 1mm, allowing a second card in above it.
Also, if you've got sound working, and have a 2.5mm to 3.5mm jack adapter (or 2.5mm-jack headphones), Kismet can read out (among other things) the encryption status and SSID of each network it detects.
Finally, connecting a GPS to the serial port on the port expander, and running GPSd allows Kismet to log where it collects the signals, and with the gpsmap utility, convert them to nice maps showing all the APs in the area.