The Linux-small-is-beautiful-archive

-Centered around the small configurable Linux distro Basiclinux Linux.

By Mikkel Meinike Nielsen

This page is centered around the small configurable Linux distribution BL3 (BasicLinux 3). It covers use, installation and configuration of some applications. It dos not cover the installation and configuration of BL 3 it self. For that I will refer to the basiclinux homepage

basiclinux homepage.

(At first it look like the basiclinux homepage has very little information but as you look around most things is dealt with and there is a very nice mailing list for help).

This page, (The one that you are on right now) go through the following applications in terms:
AE a text editor, Netpbm a tool suite for converting and manipulate images. SVGAlib a graphic Liberia, Zgv an image viewer for SVGAlib, Po a paint program for SVGAlib. Gostscript a program for handling PostScript, and finally a note on playing sound/music through the PC speaker.


Ae is my favorite text editor for Linux console. It is a very simple editor I have a separate page about AE.


The difficult thing when you are customising a Linux system is that the programs is dependent on one an other. BL 3 is lib5 dependent. Lib5 is an old and small library. I have AE in a lib5 version that I have taken from mulinux. You can download the lib5 version of AE here:


Put this file in the '/bin' dir.
The program will only start if you have the configuration file ae.rc you can download that here:


just put this file in the '/etc' dir. You should also put a copy of this file in your own home dir. which in native BL 3 is the /root dir.

You can check which other program/packages a program depends on by the 'ldd' command ex.

ldd ae

returns the following dependencies:

libncurses.so.3.0 => /lib/libncurses.so.3.0 (0x40009000)
libc.so.5 => /lib/libc.so.5 (0x4004a000)

Maybe all of this files is already in your BL system. At least 'libc.so.5' should be there. If you don't have 'libncurses.so.3.0' you can download it here:


and put that in the /lib dir.

For configuration an use of AE I refer to the separate page about AE



Netpbm. Is a collection of more than 220 separate small tools/programs for digital images. It is commando line tools. That means you use them by typing there names plus parameters and arguments. The main emphasis in the Netpbm tools is put on conversion between the netpbm formats and other image file formats. For instance to convert from a "jpg" image to a pnm image do:

jpegtopnm my.jpg >my.pnm

A "pnm" image to a "pcx" image

ppmtopcx my.pnm >my.pcx

Once the image is converted to one of the Netpbm format (pbm, pgm, pnm, ppm, pam) one can also edit the images with Netpbm tools. For instance if you want to "flip" an image -mirror it so that left become right do:

pamflip my.pnm >myflip.pnm

The Netpbm packages is compiled for BL3 (lib5). and can be installed with the pkg command in BL3 you can find Netpbm for BL3 here:


look for


You can also find it here:


look for


It is 1.6 Mb which is to big for a floppy so if floppy is only entrance you will have to split it. (You can use arj or pkzip or dd, split, cat for DOS to split big files in DOS and Windows).

I have put together many of the netpbm manual pages in one big text file here:


It is very good to use with a search option in 'less' or in an editor so you can easily find to the information you need.

I have made a small illustrated tour on how you can cut out a figure (an irregular shape) from a color photo and insert that figure into another background such as another color photo by using netpbm and the SVGAlib paint program Po in combination. You will need Po and netpbm in combination to do this operation. It gives a good insight into how the netpbm tools can be combined in creative ways to solve a specific problem within the field of image manipulation:



Note: Before you read about setting up SVGAlib on BL3 you might want to read Stevens (the creator of BasicLinux) comment on the subject here.

back in 1999 I got this little laptop computer Compaq contura 4/25c cpu 486/25 Mz, RAM 8 MB, HD 200 MB. From the beginning it was the dream to get it running with Linux and to be able to prepare and set document with both text and images. It wasn't until 2006 that I got the system up to running that I am going to say something about here. Normally in Linux, if you want to do something witch involves images on the screen you will do that in X (also referred to as X11 or XFree86), but there exist an alternative, that I found out about much later after having used a 16 colors vga version of X (the vga16 server) for a long time. The alternative is called 'SVGAlib' it is less demanding on computer power and on this machine more capable than X. SVGAlib is a C-library that makes it possible for developers to write graphic application for the (Linux) console (CLI). With SVGAlib working I can set up an advanced document with groff (I write just a bit about groff on this page) or Direct PostScript (I write quite a bit PostScript -here-), and I can edit and manipulate image with the Netpbm program suite and with 'Po' which is a fine painting program that i found, made for SVGAlib.
I tried to set up SVGAlib a couple of times where I couldn't make it work, but this version worked for me.


Download it unpack it to the dir. '/lib'.
Now you need a 'libvga.config' file. Try to see if you have one in '/etc/vga/' else take this one:


Make a dir. called '/etc/vga/' and drop the file in that dir.

Open 'libvga.config' in an editor:

First you should on-comment the right mouse. On the different computers I have had during time the mouses has always been PS2 mouses. You can recognize a PS2 mouse on that it is one of this small round socket withe 6 small pins inside. So I remove the the '#' from the PS2 line and add a '#' to the 'mouse Microsoft' line that was originally un-commented.

# mouse Microsoft	# Microsoft
# mouse MouseSystems	# Mouse Systems
# mouse MMSeries	# Logitech MM Series
# mouse Logitech	# Logitech protocol (old, newer mice use Microsoft protocol)
# mouse Busmouse	# Bus mouse
mouse PS2		# PS/2 mouse
# mouse MouseMan	# Logitech MouseMan
# mouse Spaceball	# Spacetec Spaceball
# mouse IntelliMouse	# Microsoft IntelliMouse or Logitech MouseMan+ on serial port
# mouse IMPS2		# Microsoft IntelliMouse or Logitech MouseMan+ on PS/2 port
# mouse none		# None

Feather down there is some lines about acceleration. By testing I found that

'accel_type off'

Is the one that work for me, so add '#' to

# mouse_accel_type power

witch was uncommended in the original and remove '#' from the line:

'accel_type off'

# mouse_accel_type	normal       # No acceleration while delta is less then
				     # threshold but delta is multiplied by
				     # mouse_accel_mult if more. Originally done by
				     # Mike Chapman mike@paranoia.com
				     #-----leving out planty of lines-------

# mouse_accel_type	power	     # The acceleration factor is a power function
				     # of delta until it reaches m_accel_mult. mouse_accel_type	

off	# No comment...

So now the most important thing. The monitor. There is a long way down to this lines. Start with removing '#' on the VGA line. Than if this is fine after testing you can revisit the 'libvga.config' and try 'chipset VESA' ore something else.

chipset VGA		# Standard VGA
# chipset EGA	        # EGA
# chipset ET3000	# Tseng ET3000
#-----leving out planty of lines-------
# chipset VESA          # nicely behaved Vesa Bioses
# chipset MX	        # MX86251 (some Voodoo Rush boards)
# chipset PARADISE      # WD90C31

Now you should test. If you like there is a small test tool here: vgatest

Where you can test different VGA screen sizes. Download and drop ether in a dir on your path or in the dir. that you have as working dir. when testing. If the test program starts and work 'SVGAlib' is working.

If it works you should get and install. 'Zgv' a very good image viewer here:

SVGAlib image viewer zgv.tgz

This is a real tgz packages that can be installed in BL3 from any directory with the 'pkg' command that comes with BL3:

pkg zgv.tgz

To view for instance a 'jpg image' with zgv just do

zgv name.jpg

To quit viewing hit enter.


Po is a paint program working under SVGAlib. I have found it here:


and here:


I think it is good. It has a README file that covers both use and installation. It does not have to be compiled it is pre-compiled and simple works if SVGAlib works. The README file suggest that you unpack it in the root dir. Here they do not think of the '/root' but the "/" dir. Mind the difference. The program then will unpack to '/usr/games'. I moved the executable 'po' file to '/usr/local/ben' where I have my Netpbm files, so that the program is in my path and it can be started from any dir. I work in just by typing 'po'.

Po is really a paint program to do painting with the mouse. It dos not have a lot of filters and so. But it is very good in combination with Netpbm cause with netpbm you can't do many of the things you can't do in Po. As sad before I have made a small illustrated tour on using 'po' together with the Netpbm tools for cutting out a figure from a color photo an dumping it into another color photo. It is a playful game withe Po, shell script and the possibilities within the Netpbm tools.



Ghostscript is a program that can print and show Phostscript and PDF files. It is crucial if you work with Postscript or Groff. If you use BL 3 you can find ghostscript in a slackware 4 archive. like fore instance: http://text.mirror.ac.u k/mirror/ftp.slackware.com/slackware-4.0/slakware/ To orientate your self in the big slackware archive I can recommend to download the file 'MANIFEST.gz' on this page. That is a big gzip compressed text file. It contains all the packages in the whole archive as heaters and underneath each heater/packages name it list all the file in that packages. You can search in it with a normal text search option in 'less' (the '/' option) or in an editor. So if I search for ghostscript I find out that it is in a packages called.


So I can go into the 'ap1' dir. of the slackware ftp archive and find it and download it.
Ghostscript is in two versions one for X11 and one for 'SVGAlib'. The one for X11 is called gs_x11. I search for that in MANIFEST.gz and see that it is in.


In order to install the gs_x11 to work you should first install the 'ghostscr.tgz' and then after that the gs_x11.tgz of course you need a working X11 to use the gs_x11

For ghostscript to work you need to also install the 'gsfont' packages. Search in 'MANIFEST.gz' shows.


So you can go into the 'ap1' dir. of the slackware ftp archive and find it and download it.
About the use of 'gs' there is something about it on the text and image page and on the font page.


Note on BL 3 and sound: It is possible to make a computer like for instance the old laptop I have talked about earlier play wav (sound/music) files though the PC speaker (the one that says ?eep some time). It is bad quality, but sometimes very usefully. If it is an old laptop like the one I talked about, there is no sound cart and it is not possible to add a sound cart so here it is a nice possibility (or at least it is quit funny). Basic Linux doesn't come with this feature but it can be added. If you like to do this contact me and I will send you the files you'll need for this plus an instruction.


site map