The following files are at or subdirectories 2.2.16, 2.2.26, 2.2.27, 2.4.31 for kernels and modules and related packages.
If a link is broken hunt in the directory and report it to me.

See also David Moberg's site at http://us/share/
for other basiclinux packages.

Most packages are for GLIBC225 - glibc 2.2.5 from Slackware 8.1
As of spring 2009 I am compiling for glibc 2.3.6 from Slackware 11.


CPU/BOARD tester (static) to run from floppy linux

Unpack to a floppy disk, copy to BL disk #2 burnP5 burnP6 burnK6 burnK7 (one or all) and run to try to crash the system. Do not mount hd's.

UNRAR for glibc 2.2.5

unrar-glibc225 unpacks .rar format


Install cpio.tgz (or cpio from this site, to /bin)
and if you don't have it also bin.tgz (includes rpmoffset) first.

(1) rpm2tgz (by David Moberg):
rpmoffset < filename.rpm
Fill in the number you get here after ibs= in rpm2tgz script
rpm2tgz filename.rpm

(2) or, much simpler:
rpm2targz filename.rpm

Use installpkg to install the resulting .tar.gz file

Dual-boot Windows 2000 and BL3.50

If you installed BL from 2-floppy version, read the instructions and copy the relevant parts to /etc as /lilo.conf

Otherwise, download and unpack at / dualboot.tgz (which also contains /boot/boot.b and /sbin/lilo)

See archives for how to do this with ntloader instead (boot.ini).


dosemu.tgz - Statically compiled by David Moberg (but works for BL2 only) DOSEMU 1.3.2, which fixes several serious problems in older versions such as lack of characters (A, S, i, etc.)
1) installpkg dosemu.tgz
2) download the required freedos file ,
3) move and rename to /usr/share/dosemu/dosemu-freedos-bin.tgz
Type dosemu and follow instructions to finish installing. Do NOT follow instructions in README.bindist when using this package.
Tested working with WP5.1 for DOS under xdosemu (but if used with CLI dosemu, the Alt-F1 to F4 will switch terminals instead of acting as WP commands and also you have to type very very slowly or many letters won't even appear), with dosemu using a small text editor, and with xdosemu using a small CAD program. WP4.2 for DOS works correctly even under plain dosemu.

BUSYBOX updates


BUSYBOX 1.1.0 uclibc Adds comm fbset ftpget hdparm klogd modprobe pipe_progress su sulogin telnetd vi to Steven's BL3.40 busybox 1.0.1 configuration.

I put it in /busybox110, and put that on the path in /etc/profile before the BL2 busybox (which can't be removed or eznet won't work). Please suggest additions, deletions, or changes in options. To make the symlinks use David's (which makes links to all possible programs including ones which don't exist) after you first make links to expr and tail that are on the path (because the BL2 and BL3.32 versions of them don't work with this script). For some reason, appears to make links to applets that were not included - just remove the links.

BUSYBOX 1.3.2 static against uclibc, to be used with 2.4 kernel

Compiled by Karolis Lyvens and available at his site

Latest stable busybox default config, selected files (about 2/3 the size_ and the same without rpm, sed and gzip. I also compiled the latest gzip for 2.2.25. Busybox gzip does NOT work with lynx 2.8.6.



Google Docs won't load with Opera and though it claims to, it won't work with Firefox 2 (Bon Echo from DSL) but will work with Seamonkey 1.1.17.

ZOHO writer works with Opera except for some keyboard shortcuts (Opera uses them) and does much more than Google Docs. Import/export lots of formats, save to your computer, send directly from their site as email, post online, etc. Needs a fast cpu (250MHz is borderline) and broadband to be useful. Also works with Seamonkey (including keyboard shortcuts). Abiword for BL is broken if you upgrade to glibc 2.3.6 and does not import WORD well anyway.

NANO TEXT EDITOR compiled with GLIBC 2.2.5

nano dynamic glibc 2.2.5 nano static
ditto for BL3
Does not compile properly with uclibc and I don't compile for libc5.

MS FORMAT convertors

ANTIWORD DOC to TXT convertor for GLIBC

antiword35.tgz glibc-2.1.3

antiword037.tgz glibc-2.2.5
antiword037 just the binary text man page

Converts MSWORD to text or ps and preserves formatting better than catdoc or Abiword (uvware-based). Comes with mapping files for various character sets. 8859-5.txt does not work correctly (missing 'e') so I included in my package cp1251.f16 which I designed for DOS, to be used with cp1251.txt. Macedonian and Serbian are not supported by cp866 or koi8-r.

DOC2PNG MSWORD image extractor

Extract images from MSWORD doc file that has one png per file.
doc2png - my BL2 (libc6) binary of source code from the net ( for extracting png files from doc files (such as those created by a scanner, one png per file).

For BL3 - download doc2png.c , and if you are set up to compile
gcc -o doc2png doc2png.c
will produce doc2png.

doc2png file.doc produces file-00.png.

UNRTF RTF to HTML/text/Latex convertor for GLIBC-2.2.5

A small program for converting RTF to default HTML or text or Latex. Said to be buggy regarding paragraph alignment and picture storing. Includes executable and man page.


Convert Excel 95/97/2000 or Powerpoint 95/97 to HTML or csv text (for import into another spreadsheet program). Includes scripts nsxlview and nspptview to view from within a browser and xlv to produce 80-col text in mutt


SQLITE 3.5.9 for GLIBC2.2.5

Download 191K (29K binary, 346K library, both stripped) sqlite-3.5.9-glibc225

sqlite 3 can import data from text file into an existing table.
sqlite 2 and sqlite3 databases are mutually incompatible.

The sourceforge page has a glibc 2.3.1 precompiled binary, and a 1.3MB zip file of documentation. There are online tutorials for sql and sqlite (which adds dot commands to sql).

DBF to SQL or CSV convertor for GLIBC 2.2.5

DO NOT use the convertor included in CDBF - it produces something unusable that will not import into sqlite (DBF).

Download 16K dbf

dbf --help

dbf filename.dbf - displays the file one record at a time one line below the other.

dbf --sql --trim b filename.sql filename.dbf
(The trim removes stray spaces and produces a much smaller file: Without trim a 437K dbf > 548K sql > 1MB (!) db, and with trim -b it produced 347K sql and 152K db) or

dbf --separator ',' --csv filename.csv filename.dbf
Choose as separator a character not used in the data (such as @).


The simplest way, which should work on a non-buggy dbf file:

sqlite filename.db
>.read filename.sql

Importing my large database from dbf to sql to db retained a lot of errors from the original dbf file (made with cdbf). Instead, I edited the sql file made with the dbf convertor program to delete the data, and read in the header info from that file. I then used the convertor program to make a csv file of the same dbf, deleted the headers, and imported the data-only edited csv file. Passage through a csv file (text only) eliminates all the stray characters.

The dbf convertor adds " " around all character strings of cvs output, which some conversion programs (such as palm-db-tools) use to ignore commas inside the string. sqlite3 will NOT ignore these commas so do not use comma (the default) as a separator. If you export from sqlite to text format that you want to import into pdb format, change the separator back to comma first. If you won't be importing the csv or text file into anything but sqlite, you can delete the " " from the csv file before you import it or from the text file before printing to paper to save space.

dbf --trim b --sql file.sql file.dbf
Use nano or pico to remove data.

dbf --separator '@' --csv file.csv file.dbf
Use nano to remove headers, (and replace " with null if the database won't be imported into anything but sql db format)

sqlite3 file.db
>.read file.sql (this sets up a table called file inside file.db)
>.separator @ (change default | to @)
>.import file.csv (read in the data)

>select * from file; (displays all the data to the screen in list form)
>.mode column (this will truncate columns to 10 char by default)
>.width 10 20 30 40 (set the columns to the actual sizes, .schema file)
>.header on (to see column headers)
> select * from file; (displays this time in column form)
>.output file.txt
> select * from file: (writes data to file.txt instead of screen)

You can edit then reimport the text file, or manipulate the db directly with sqlite.

Version 0.90 (2006) of 'dbf' is 1.5MB of source code in two parts (core and another part) and requires for compiling perl with XML parser perl module. To compile this module requires first compiling and expat.h and pointing perl at their locations, and also requires which Slackware 7.1 perl does not have.

LWP is lib world wide web perl or libwww-perl, a programming interface to the web. Why do you need to interface the web to convert a database??? Or support XML in the first place? Maybe Makefile can be edited to avoid the need for all this?

XBASE/XDB for GLIBC2.2.5 - DBF database library, programs, docs, sample programs


Manipulate non-SQL databases in DBF or NFX format from dBase, Clipper, DOS Browser, CDBF, etc. They had to rename the later version to xBase. The html documentation does not include dbfutil1, which seems to be the main database manager, but does describe how to delete, etc.


Download 280K file.ifo contains lines (or type into command line):
title "file"
type "db"
separator "|" [omit if comma, the default] field "name" string 15
field "name2" string 10
field "name3" string 15

My 440K dbf file (with a lot of stray garbage) converted with
dbf - 350K sql file (trimmed), 295K csv file (with ",")
sqlite3 (read sql headers and import csv data)- 350K db file
csv2pdb - 310K pdb file (this one not viewable with less and pico)
Use sqlite to export text in columns.


PILOT-LINK for GLIBC-2.2.5 (see also convertor palm-db-tools above)

1. A small set of programs for older PDA (no sound or pictures)

2. A larger set of more programs (but not the .la and .a libraries) pilot-link-full-glibc-2.2.5.tgz must be in /usr/lib; make_install puts it into /usr/local/lib


Tested working with BL2 2.4.31 kernel and serial PDA (3COM Palm III).
pilot-xfer -p /dev/ttyS0 -l lists the files on the PDA after you push the Hotsync button.

2.4.31 does not work with modular usb_serial.o due to a bug..
Pilot-link did not work for me with the 2.2.26 bzimage.big and modules. Some PDAs are said to need kernel 2.4.21 or later.
It does work with bzimapda.431 which I compiled and put into ./2.4.31, along with configpda.431 (compiled for ohci only, insmod usb-uhci or ehci-hcd if you have uhci or USB 2) and run mknodpda (to make /dev/ttyUSB0 and USB1).
pilot-xfer -p /dev/ttyUSB0 -l

ttyUSB0 is the Hotsync port, but mknodpda also makes ttyUSB1. For some reason both get listed when you use these drivers. This setup works with our m105 and used to but no longer works with the visor, nor did it work with the clie. Try a usb to serial convertor with the proper driver such as
the one for palm convertor


GHOSTSCRIPT 8.54 for glibc 2.2.5


GS works without the gsfonts.tgz, except for pdf/ps files which specify the font, for which you need ONLY the .pfb fonts from gsfonts.tgz (not afm gsf pfa pfm) in /usr/local/share/ghostscript/fonts.
You can instead use the Abiword fonts:
ln /usr/local/Abisuite/fonts /usr/local/share/ghostscript/fonts
xpdf uses these same ghostscript fonts.


No support for X (use svp to view) or Resources (Chinese).
Feature devices are only psl3 and pdf not eps etc.
gunzip in /usr/local/bin and symlink or rename to gs
Uninstall any previous versions.

3MB version
Contains all the default printer and image devices (sDEVICE=)

2.6MB version
With HP support for deskjets, laserjet, ljet2p, ljet4 (5L and 6L), and a few other devices bmp256 (for svp), p?m(raw), pdfwrite, pswrite

4-4.4MB versions with support for jbig2dec (needed to read pdf files compressed smaller using jbig2):

To convert a pdf file to an image file
gs -sDEVICE=pngmono -sOutputFile=file.png file.pdf

Basic instructions: Use.htm
Copy to /usr/local/share/ghostscript/8.54/doc and rename to Use.htm

GS8.54 EXTRAS (80K)

GS8.60 for HP printers (80K)

4.2MB compressed. (8.54 is only 1.2M). Email me if you want the full version, which is even larger.

CLI printing with gs-8.54 noX

Defaults are deskjet, 300 dpi and papersize letter. Specify -r600 or -sPAPERSIZE=A4 or -sDEVICE=ljet4, if needed.

insmod parport, parport_pc and lp first before printing.

Print all pages with defaults (ps or pdf):
gs -sOutputFile=/dev/lp0 filename.pdf

PDF files only, and file name must be last, to print selected pages:
gs -sOutputFile=/dev/lp0 -dFirstPage=1 -dLastPage=2 filename.pdf

I posted scripts to print all or selected (n) pages at 150 (draft), 300 and 600 (high-res) dpi with the deskjet device. Add options for other paper size or device.

300 dpi deskjet all pages printdjn
300 dpi deskjet some pages printdjn
150 dpi deskjet all pages printdjd
150 dpi deskjet some pages printdjdn
600 dpi deskjet all pages printdjh
600 dpi deskjet some pages printdjhn

GHOSTSCRIPT 8.60 for glibc 2.2.5 (HP printers, no X)

This is a much larger program.


GHOSTSCRIPT 8.50 for glibc 2.2.5 (with X display)

Ask me if you need this, I removed it. gs850.tgz - ghostscript 8.50
Displays only in X, not svgalib. Includes init files and documentation. Add gs fonts package or just .pfb files (see above).

XPDF convertors/viewer (BL3 or BL2)


Latest xpdf 3.02 (Feb 2007) CLI binaries usable in BL3: pdftotext, pdfimages, pdftoppm, documentation, and an xpdfrc. (The graphical xpdf itself requires a later X than BL3 has and is not included.)

Sept 2007. Delete the xpdfrc. Put the gs .pfb fonts in /usr/local/share/ghostscript/fonts, or symlink to there from /usr/local/AbiSuite/fonts, to read pdf files with /BaseFont specified, using xpdf or pdfimages. Most pdf files don't need this.

Pdfimages extracts images from pdf files made by scanners, pdftotext extracts text, and pdftoppm converts mixtures of the two to ppm.

Precompiled xpdf itself is not included because it must be used with glibc2.2 libX11. You can download it from foolabs. It may be possible to compile a version to work with libc5 X.

To use precompiled xpdf with later libx11 and static Xvesa without a window manager (since after upgrading libx11 the BL3 wm will not work):

(Xvesa -screen 800x600x15 &); DISPLAY=:0 xpdf file.pdf

See under SVGALIB for bmv and svp PS/PDF viewers, and see netpbm for direct printing of images (ppmtolj).

pnm2ppa for GLIBC-2.2.5

See the INSTALL file in /etc for suggestions how to use with gs, or use standalone with HP Deskjet ppa Windows printers 720 820 and 1000 series. pnm2ppa file.pnm > /dev/lp0 . Netpbm maintainer has added a set of BDF fonts at his site for use with pbmtext for converting ascii to ppm and thence to ppa for printing.


SVGALIB-1.9.25 (alternative to X11) for GLIBC-2.2.5


The 'new' package includes both standard defaults and a 'new-default' library, which is my selection (only cards for which I have drivers). Choose one of these (or download one of the libraries below for a single card) and symlink to or use the original default package.

Both default libraries are testing working with Rendition and i740. The packages include header files and .so symlinks needed to compile zgv dynamically, and /dev/svga and svgalib_helper.o for kernel 2.4.31. Change NoHelper to Helper in zgv.conf

SavageMX and Cirrus Logic don't work.

zgv (and maybe Slackware) requires that these libraries be in /usr/lib. Delete any older* from /usr/local/lib or they will be used instead. The compile setup installs to /usr/local/lib by default, but my package puts them in /usr/lib. svgalib does not compile easily with BL2 and the author helped.

libvga.config with NoHelper should work with any kernel if you run zgv, links, and svp root or suid root.

Utilities for testing video modes, etc.:
svgalib-1.9.25-utils (default, supports most chips below but not Rendition) is about 350K, or use a chip-specific libvga about half that size.

For laptops:

chips and technology
(This chip works with Xvesa in the default package).
(Does not work with Gateway 2000 Solo NM chip).

For desktops (tested working except i810):

Tseng ET6000 PCI
i810 onboard chip
(Only worked for me as plain VGA on several computers).
Matrox G100 and G400 series
Matrox Millenium PCI
S3 Savage AGP

Copy to /usr/lib and ln -s . (My zgv looks for these two files in /usr/lib not /usr/local/lib). When compiling you can make shared instead of make install and the libraries are found in sharelibs and you can rename and then copy. Delete the 1.4.3 and earlier libraries to make space.

SVGALIB based PDF and image viewer and browsers

SVP PS/PDF viewer for glibc-2.2.5

Much faster than xpdf. Requires gs with support for pbmraw (mono) and bmp256 (if you want color). Will zoom, rotate, let you choose dpi and resolution, etc. Compiled both statically (no need for and dynamically for glibc.
svp-static 350K
svp 28K

Requires a recent svgalib or you will get 'undefined symbol _xstat' in (BL1 zgv).

BMV PS viewer for glibc2

bmv requires ghostscript set to use as default svgalib support, not found in SW8.1. First use gs pdf2ps (or xpdf's pdf2ps) to convert the pdf to ps
then view with: bmv.tgz - for glibc-2.1.3

bmv_12.tgz - later version, rotates, needs glibc-2.2.5
If you have svgalib 1.9.25 glibc 2.2.5 better to use svp.

ZGV image viewer for glibc-2.2.5


Executable, man page, docs, and the latest (the older one won't work with this zgv) or the larger package with libpng12, libjpeg libtiff (in case you don't already have them for links2 from Delilinux). SECURITY explains why this suid-only (or root) program is really not a security risk starting with THIS version. Works with svgalib-1.4.3 or later. libvga* must be in /usr/lib. An upgrade from the delilinux zgv 5.6 or the BL3 zgv 4.2.

ZGV uclibc-static package

zgv-5.9-uclibc.tgz contains the recent zgv compiled by David Moberg for use with kernel 2.4.31, which needs (included, uclibc version). See below under David's USB kernels for more info.


(see also special 2-floppy framebuffer BL3)

The MagicGraph 128 V/ZV in a DELL Latitude works only with VGA X server or xfbdev, crashes with SVGA server. Like Xvesa, xfbdev uses 4MB less RAM than SVGA, and the vesafb kernel (zimage.fsm, zimage.big, bzimlsbf.431) only uses about 60K extra RAM. A Toshiba with SavageMX also uses Xfbdev.

You need to
mknod /dev/fb c 29 0
add /lib/ from Slackware 4,
and download xfbdev to /usr/X11R6/bin/)
and replace Xvesa in startx for BL3 or run from CLI in BL2 (use an alias in .profile).
Boot with vga=785 or vga=788 or vga=791 for 640 800 and 1024 resolution
in text and X. Text looks nicer than the normal scrawny neomagic text and is full-screen unlike some 'Chips and Tech' text.

For BL3 you also need to modify startx to use xfbdev (instead of Xvesa --screen $1 $2) and added cursor.pcf.gz to misc fonts and edit fonts.dir (add pcf.cursor.gz at the end and add 1 to the number at the beginning) , or download and install my bl3fbpkg.tgz.

Update. The libc5 xfbdev in this package segfaults in a Gateway 2000 Solo (200MHz) laptop with Neomagic video. Use instead Xfbdev-glibc21. You can symlink it to xfbdev (first delete the one from the package). But xfbdev now complains that it "could not open default font 'fixed'", which is the 9x15 font. ??



For 101-key keyboards add to .xinitrc the line xmodmap -e "keycode 22 = BackSpace"

For 84-key keyboard download xmodmap.84
and add a line to .xinitrc
xmodmap /path/to/xmodmap.84


XF86Config.wd90c24.640 - for 8-bit 640x480 wd90c24 chip (4486 Compaq, Toshiba, IBM

XF86Config.102460Hz - Steven's file but for 1024 or higher res. For chips and neomagic XD.

XF86Config.laptops -- works in Toshiba Satellites (420CDT and 335CDS and 220CDS with ct65550 (HiPV32) and ct65555 (HiPVPro) Chips & Technology video), a Hitachi Visionbook 4140 133MHz (c65554) all of which also work with Xvesa, and a Gateway 2000 Solo 200MHz with NeoMagic MagicGraph 128XD (NM2160) - 2MB video ram, 800x600x24, also used by IBM Thinkpads and Compaq Presarios, which crashes with Xvesa. Xvesa uses 4MB less RAM than SVGA X server.

Install the SVGA X server before no-xvesa.tgz then replace his XF86Config with mine if you want 1024 or 1280, and remove # from Modelines as needed. Move the # to get Microsoft serial mouse instead of PS/2.


rgb.txt - put it into /usr/X11R6/lib/X11 in order to use rxvt in BL2 (which did not have this file to start with). rxvt needs 'Black', which I added to a standard rgb.txt along with 'White'. BL3 already has this.

NETPBM for BL2 (glibc 2.2.5) and BL3

netpbm* - netpbm.readme explains how to install and use netpbm (using my packages for BL2 or BL3) to convert between images and print directly without ghostscript. Replace libc5 tifftopnm with the newer file posted separately from the package, tifftopnm.gz, which is statically compiled and does multipage tiffs. The older version extracts only the first page. ppmtolj - prints to color HP desket/laser with PCL5, omitted from the BL3 package. (use pbmtolj to print mono). netpbmdocs - html docs.

netpbm-10.26.7.libc5.tgz - complete BL3 package from David Moberg
netpbm-10.31-SW81.tgz - for BL2 with glibc 2.2.5 from SW81
netpbmlibs-SW81.tgz - library dependencies libtiff, libpng, libz

LIBTIFF 3.8.2 for glibc 2.2.5
Replace in the netpbmlibs package.

Small scripts used to deal with multiple (fax) tiffs. Convert and then view with svp or zgv or print the pdf with gs. (Or use netpbm's tifftopnm then pamsplit to extract the individual images and print with pbmtolj).

This 700K package contains both man and html documentation,, the .a and .la and .h files needed to compile ghostscript, and many more scripts to convert gif or bmp or fax or ppm to tiff, make thumbnails, etc. Much of the package is libtiff.a.

FBSHOT framebuffer screen grabber for glibc 2.2.5

fbshot.tgz only 8.5K package

Load framebuffer modules or boot with vga=some-fb-mode using a framebuffer kernel, display the screen you want to grab, for instance in vt4, then fbshot -c 4 file.png and view the png. Print with pngtopnm, pnminvert, pbmtolj or pnmtolj (netpbm). The result is similar to printscreen and shows, for instance, the help stuff for pico. I used this to print Macedonian text from the console created from a WORD file with antiword.

PHOTOPC for BL2 glibc 2.1.3

photopc300.tgz - for serial camera download (Epson, Olympus)

GQVIEW 1.0.2 (older) for GLIBC225 with and so libraries from gtkglib.tgz and gdkpixbf.tgz

gqview-1.0.2-withlibs-glibc225.tgz Photo manager (older version). Uses xv xpaint and electric eyes to edit.

MTPAINT 2.3.1 (latest) for GLIBC 225

mtpaint-3.21-glibc225" about 220K including html version of man page and README (which explains how to compile for gkt+2). I compiled using gtk+1.2 (comes with Slackware 7.1) gtkglibc.tgz - just the .so and .h files are needed, also the includes from xprog.tgz, and libpng libtiff libjpeg. Used by DSL 4.2+ instead of xpaint - smaller and faster. Probably does not support gifs. You can use this as an external editor with gqview version 2.0 (but 1.0 seems to have no way to add external editors).


Precompiled by the authors cycas39.tgz Works in BL2 with glibc 2.3.6. Minimal dependencies.



mksnddev run this script in /dev to make sound devices or use Christof's sound package instead, which also includes SB16 modules and a script for insmodding them.


diagnose.exe - Creative Labs SB16 diagnosis program for DOS which can be used to determine settings for sb16 ISA cards in linux. These cards do not seem to need initialization by isapnp or even DOS diagnose. hwinfo also provides irq and dma information (as do some bioses). Typical settings for SB16 plugnplay cards are

io=0x220 (or 240 260 280) irq=5 (or 7, 10) dma=1 (or 0, 3, 5) and if you are getting IRQ/DRQ errors trying to play mp3 files dma16=5 (or 6, 7 or the same as low DMA).

s64basic.exe (run and install) comes with ctcmbbs.exe which produces ctcu.exe and ctcm.exe, ISA configuration utility and manager, that you can use to initialize pnp SB cards in DOS. You don't need to do this except to play midis with AWE and possibly with FM synthesis.

Piano Tuner program GLIBC 2.2.5 ncurses


Console based ncurses program (my ncurses requires libgpm) for tuning a piano or other instrument, including refreq to calibrate sound cards, and instructions on how to tune the whole piano equally low using bias setting. 25K download with help file. Two other linux tuning programs require QT. Works in 8MB memory but may need 300MHz cpu. Uses 18% of 1.7GHz cpu. Don't know how to get my mike input working in linux - so cannot test the program.

SOX 13.0.0 Feb 11, 2007 for GLIBC 2.2.5

Latest sox, with record function, and ability to convert frequencies so it works with i810 and other 48KHz-only sound chips. Many new formats.

sox -t ossdsp -w -r 44100 -c 2 /dev/dsp outputfile.wav

records 16-bit CD-quality (44KHz) stereo from line in of sound card.

Or use the rec script (see man page).

AUMIX GLIBC 2.2.5 sound mixer

aumix-2.8-glibc225-ncurses-gpm 28K (in color)

Console CD player mcdp for GLIBC 2.2.5 or static


Unpack in /tmp, copy the executable to /usr/local/bin and mcdp.html to /man in BL3 or /usr/local/share/mcdp/ in BL2 (or wherever you like). Works in console, or in rxvt (unlike workbone which is unreadable). You need the man page because -h and --help don't work.

Simple-multitrack-0.6.6 GLIBC 2.2.5 or uclibc

Unpackage in /tmp and copy DESIGN and README wherever you like such as /usr/share/doc/srp, and the other files to /usr/local/bin. Use at your own risk. Needs and or the uclibc versions which I will post later.


AWE MIDI PLAYERS for use with AWE32 SB32 AWE64 SBLive (emu8* chip)

- for libc5 (would not compile with glibc2), no X, with AWE as default and no FM synthesis support. A precompiled version that I tried for glibc 2.1.3 had no AWE support. Install libc5 to use this with BL2


(See also Ron's Timidity package)

playmidi for BL2, converted from the rpm using rpm2tgz-bl2 (see below), with FM synthesis included. To play to awe 'playmidi -a filename.mid', to play to external midi 'playmidi -e -D0 filename.mid' (load the sb module last for D0, otherwise try other DN's; if you have no opl3 or awe_ave or v_midi just '-e').

A much smaller awe midi player for glibc 2.2.5 compiled with no graphical display.

A set of utilities including sfxload and one sound bank. sfxload synthgm.sbk to load a sample sound bank, then play midis. This is version 0.4.4 without ALSA support.

The module awe_wave.o and a script to make /dev/sequencer which is needed to play midis.
You may also need to run isapnp to get pnp cards to initialize AWE32. It is easier to use SB16 ctu/ctm in DOS first.

ROSEGARDEN - notation editor and sequencer (play/record midi)

Converted from RPMs

Rosegarden libc5 for BL3 (not tested)
Unpack with tar -zxvf, copy the .tar.gz to /usr/local/bin and unpack, copy Rosegarden to /root or read INSTALL.

rosegarden libc6"
for BL2 (tested). Unpack in /usr/local/bin, and if desired move Rosegarden to /root .

Dependencies include libX11, X6 Xaw Xext Xmu SM and ICE, and for the notation editor you will need to add fonts. This is the 'X11' Rosegarden. The most recent version is Rosegarden4 and requires ALSA and KDE, 400MHz and 64MB RAM (or more). Rosegarden 2 recorded fine on a Pentium I 233MHz.




Unpack into some directory on your path (/usr/local/bin?). Type rad for a numbered menu of scripts which use mplayer (see below) to access over 20 classical webcasts, mp3, wma, realaudio or ogg, 20K-32K (for 28.8K to 56K modem), 16-22KHz. Mostly United States, also Turkey, Argentina, New Zealand, Australia. Europe to come. The separate files are in subdirectory classrad. Scripts not ending in 'm' use mpg123 to listen to mp3s, without much buffer.


mpg321 for GLIBC 2.2.5

120K package, 177K binary plus 55K plus docs. 2002. Like mpg123 uses very little memory and works for streaming MP3s with a good connection.

mp3blaster for BLIC 2.2.5

120K package, 267K binary plus 20K nmixer plus docs. Needs ncurses and libpthread and libgpm for a nice looking interface that lets you play a playlist of files or URLs. 2005.

MPLAYER - Compiled statically against uclibc by David Moberg

Download from

MPLAYER 0.93 for GLIBC 2.2.5 no ogg no video

1MB gz of 2MB binary that uses twice the memory of David's older version but will fit better into 20MB loop linux.

To play streaming audio with mplayer instead of mpg123, edit the station scripts and replace all but the URL with mplayer.

To play realaudio add rp9codecs from my site - unpackage in /usr/local/lib/codecs . see for more codecs.

Add to /root/.mplayer/config the line ao=oss to use OSS sound or if that does not work use '-ao oss' on the CLI (and -vo svga, etc. to specify video, x11 being the default.).

Add the BL sb packages to make sound devices (or make them with mksnddev from here) and insmod the pertinent modules. If you don't have sb, get the modules for your sound chip from SW7.1.

To see subtitles in DVDs, download iso-8859-1-arial-18.tar.bz2 from here or mplayer site and unpackage in /usr/local/share/mplayer/font If you are hearing French by American actors, force English language with '-alang en', for French subtitles add '-slang fr', both after dvd://1.

Script for playing dvds in X without a window manager:
using Xvesa at 800x600x16. Type Xvesa -listmodes to see if you have a 720 resolution and use that instead to fill the screen. DVDS are 16-bit. You will need a sound-on script for your sound card too.

similar script for xpdf without a window manager
for opera, but then you will need a mouse because the keyboard navigation no longer works to change focus.

If you get a long error message about cdrom_decode_status DriveReady SeekComplete Error and ATAPI reset and DMA being turned off, skip that track (start at dvd://2).


for BL1/BL3 libc5

kermit-libc5-8.0.211.gz Version 11 (2003) for libc5 (BL1 and BL3). Dial, telnet, ftp, and kermit file transfer. Without ncurses.

DROPBEAR (SSH) for GLIBC-2.2.5, 2.3.6 and uclibc-static


0.52 binaries are smaller. dbclient 117K > 103K.
I have only tested dbclient in the 0.52 package, not scp or dropbear. Read the instructions for generating keys before using dropbear, but dbclient and scp should work out of the box.
dbclient user@host - give password when asked

Use the more secure scp instead of ftpput.
scp source-filename user@host:./path/to/target-filename - asks for password - works despite four 'WARNING: Ignoring unknown argument'.
Read the BL archives for help using dropbear server for LAN.


Copy or ftp files securely. psftp user@address and give password.
These are over 300K each. Dropbear is similar but smaller.


Secure file transfer but appears to be broken. Keeps uploading or downloading only half a file. It omitted the middle half of this blfiles.htm, for instance. Use at your own risk!



Copy /usr/local/etc/msmtp-sample to msmtp and change to your own ISP's smtp host name, from address, user and password.

Authenticating mail transfer agent with instructions how to use it with Mutt. Compiled without TLS support. See also sylpheed-bl3.tgz and sylpheed-bl2.tgz for authenticating smtp (GUIs requiring X).

Can be used CLI:

Subject: subject line
[Header lines all optional but often helpful]
Message body.....
Ctr-D [from a blank line]



lynx-285-ssl-static.tgz - lynx 2.8.5rel1 with ssl support, needs libresolv and libnss_dss from glibc (or libc5) added to BL3 to work online. Outdated version. Use 2.8.8 if you have glibc 2.2.5 and 2.8.6-uclibc otherwise.

Karolis compiled gzip-1.3.5-uclibc (needs 2.4.31 kernel or

I just compiled (Oct 2009) lynx 2.8.8dev1 glibc225 which includes documentation but not cert.pem. Cannot figure out persistent cookies.


Download, gunzip, rename to cert.pem, and copy to /usr/local/ssl cacert.pem.gz
to eliminate annoying questions about certificates.
Current version is October 25, 2009.

You can update cert.pem if it stops working right from

Older versions of lynx may need cert.pem in /usr/lib/ and lynx.cfg and lynx.lss in /etc rather than /usr/local/ssl and /usr/local/etc. Copy or symlink there.

LINKS2 (optionally graphical) GLIBC 2.2.5

links2.1 pre 33 for glibc 2.2.5 graphical browser compiled only for svgalib not X, with graphics, zlib, bz2, tiff, jpeg (many dependencies)

2.8MB (1.8M gz) nossl
3.5MB (2.1M gz) ssl
1.8MB (733K gz) nographics ssl
Ask me for 2.1pre28 svgalib, or 2.1pre20 x11-glibc versions. Steven compiled an x11 version for libc5 BL3 only.

These should work with BL3 using upgraded glibc from Slackware 8.1. The nongraphical version requires only glibc 2.2.5 files from operalib.tgz, including two not listed by ldd, needed only to access files online. This package and the dependencies of icewm are needed to run Opera 9 in BL3.


svgalib provides its own mouse support. The SSL versions do not work at all https sites (such as my library) but do work at gmail. lynx does work at my library. Since they both use openssl I don't know why.

Javascript links2.1 pre 28 ssl (last version)

3.8MB (2.4 gz)
If you have automake and perl it should be possible to copy over the javascript parts (/parser, missing *.h), configure in the older version, copy over the Makefiles, and compile 33 with javascript.

openssl 0.9.8 minimal package

To compile links2 with ssl support I first compiled openssl 0.9.8. Compilation of links2 required only two static library files libcrypto.a and libssl.a, and header files (as shown by reading the Makefile), which I packaged (without bin man private misc but with cert.pem) as
To use this package, copy it to /usr/local/ssl and tar -zxvf *.tgz (do not pkg or installpkg - I got lazy). Shared libraries for openssl 0.9.7c are in Slackware 8.1.

perl 5.6.0 minimal package

To compile openssl I used perl 5.6.0 and perl5 library files (in *.pm) taken from Slackware (7.1 or 8.1?), rather than installing the enormous perl package. I packaged these for future use in compiling other programs as perl560-minimal.tgz.



Elinks is the only text browser I got to do persistent cookies and automatic redirection and is thus useful at, but it is a pain because it does not access links in the order seen (even by number - type '.').

See for w3m SSL (0.5) (said to do inline images) and links-hacked (supposedly uses mozilla javascript but botches gmail). These need SW9 or 10 glibc. links-hacked does SSL and w3m supposedly can be compiled to. w3m is aimed at Asian users and is worth looking at but strange.

I compiled and posted 2.1MB (860K pkg) SSL
and also posted w3m-0.21.tgz (300K binary).
sdf has version 5.2. Some day javascript. w3m -M avoids blue on black.

Requires libcg 6.1 or later. Choose one (2 is a bit bigger).
Both are glibc 2.2.5. Download to /usr/local/lib and gunzip.

The following do not do SSL and are curiosities. netrik is still being developed as of 2009, the others are abandoned. debris (2000) is available but not worth it - works only online and does not do forms including search engines

retawq no mouse binary

None of the text browsers work with gpm mouse but most work with a mouse in X (not the nomouse retawq or netrik). Use a font with extended ascii for box characters in the linkses. Colors may be odd, change to mono.

NOJAVASCRIPT GRAPHICAL BROWSERS (see links2 - some javascript thru 28)

DILLO GLIBC 225 dillo-0.86 340K unzipped.

More recent versions do frames and SSL. See DamnSmallLinux. Dillo 2 needs fltk which would not compile for me - try a later gcc than 2.95.3 and/or a later libX11? Unusable without a mouse.


is available from Puppy Linux (needs recent glibc) and is very fast (it also downloads all the text before images) but has few options. In theory it can be compiled to use framebuffer instead of X. Puppy uses version 1.0 not 2.0. Some day javascript.


is bigger and slower and has no advantages I could find.


Javascript browser, which you can try to compile (500K plus lots of other libraries). Said to work with AdblockPlus list. Japanese. GTK2 and WebKitGTK+ libraries needed. Works VERY badly precompiled for XP (won't access gmail, display a nearly blank page at fastmail, and looks for help files in linux locations). Uses only about half the memory of Seamonkey 1. Available for a few recent linuxes (Ubuntu?).


All of these can be unpackaged in / and run from a wrapper script (lets you compare several versions) or installed (

To run 'browser' from the wrapper script start X
cd /browser*
You can make a script to do all this.

OPERA 8 and 9 FOR BL3 or BL2

Download the .tar.bz2 for the chosen version from (or the site - download for Windows, other versions, linux, 9.64) and unpack on / (or in /opera-9.64 for my package). You can run opera from /opera*/opera (*wrapper) or install with

Versions 8-9 need glibc 2.2.5 (or later), the essentials of which are in operalib.tgz
Glibc 2.3.1-2.3.6 work but need kernel 2.4, which is needed also if you want USB storage (flash drives, cameras) and elinks. Later glibc from Slackware 12+ needs kernel 2.6.

For BL3 also add
libz to /usr/lib (or Steven's misc libs)
libXext to /usr/X11R6/lib.
libSM to /usr/X11R6/lib (or Steven's X libs for both).
Run ldconfig to make symlinks.

8.54 will work in 24MB with swap, but 9.2 > 9.5 > 9.6 use up to double the memory.

Do not use 9.50b - very buggy. Neither 9.5 nor 8.54 work with Office programs and work badly with Viewer.

OPERA 9.64 has links for various linuxes, but not older Slackware. The 102MB deb static version, if downloaded as bz2 not default format, is 8.8MB and will work with glibc 2.2.5 (or maybe even 2.1.3).

I stripped out all but english locale files and recompressed to 7.5MB. You can upx the executable down from 15 to 6.8MB but it will load a little slower.

Opera 9.64 for Slackware 8.1

mkdir /opera-9.64 and cd there and bunzip2 and tar -xvf the file,
then to run it
cd /opera-9.64

Opera 10 can be made to work with the SW11 GLIBC and some other fiddling (see archives) but the menus have little squares instead of text. Turbo mode downloads images at 1/2 or 1/3 quality (hard to read).


for Mozilla-based browsers and other X programs. For BL2 only - will destroy BL3!!!!

GLIBC 2.3.6 libraries only

This is the last Slackware glibc that works with kernel 2.4.

Glibc 2.3.6 works for precompiled binaries such as MaPiVi (needs 2.3.2) and sqlite3 (needs 2.3.1). The browsers need 2.3.4+


firelibs.tgz libraries needed by firefox 1.5 and 2 and seamonkey 1.1 gtk1, including libstdc++ 5 (Seamonkey) and 6 (Firefox), libgcc, libglib, libgmodule, libgtk, libgdk, libXi, and also libX11 6.2 used by SJPhone and other recent X programs.


Need both SW11libs and firelibs packages or equivalent.


unofficial (contributed) seamonkey 1.1.17 for gtk1 Around 13MB.

Does not accept as many plugins as Firefox but loads faster. Uses Firefox 2 code, and works with Google Docs where Firefox 2 does not.

I get two GDK warnings about locale which can be ignored and are related to how glibc was compiled. (They go away if you use Slackware 9.1 glibc 2.3.2 but then the browsers do not work).



This version corresponds to Seamonkey 1.0 so is missing some features found in Seamonkey 1.1. Firefox has more modules available but Seamonkey 1.1.17 can use newer modules such as Adblock Plus 1 (where Firefox 1.5 uses .7.5.5).


Extract the directory from a running version of the latest DSL linux. It expands to 28MB and would take me an hour to post via dialup. Firefox loads very slowly and uses lots of memory. Read online about tricks to reduce this such as deleting history.

Firefox 3.0.6 would not load for me even in Slackware 11. Use Browser or Puppy Linux.

Mplayer plugin, mplayer and X LIBRARY UPGRADE

Mplayer plugin GTK1 verison from amigolinux requires, libXext and maybe libICE from Slackware 11 (earlier versions may work but Firefox and Seamonkey need SW11 glibc 2.3.6 anyway), also mplayer 1.0rc2try7 (David Moberg's uclibc one), which does not resolve DNS numbers on its own but does used with the plugin.

I compiled a 1MB

They both play mp3 online but not ogg, and the latter plays DVDs but only in mode vesa (not svga or x11). The latter would not play online when compiled with gcc 2.95.3 (error message suggested a gcc problem) but works when compiled with gcc 3.4.6 from Slackware 11 (full package minus locale and docs). I did not have the source code needed for ogg or xll (or apparently svga).

To play oggs, or DVDs with x11 or svga, use mplayer4.tgz


SJPhones' softphone works if you update from Slackware 7.1 to
6.2 is found in Slackware 8.1 and later and reflects the switch from Xfree 3.3.6 to 4.x.
The program is not working via dialup. Cannot even access help.

Slackware 7.1 libX11 is in xbin.tgz (xfree 3.3.6).
Slackware 8.1 libX11 is in xfree86-4.2.0-i386-5.tgz - 13MB. SW90 has 4.3.
Slackware 11 base package for X11 is x11-6.9.0-i486-11.tgz 19MB. Don't know the version. Current is 4.8.
I know SW11 libX11 works but SW81 probably does too. I will post SW11 version on request (900K).

rp-pppoe-3.10-glibc225 . I compiled the binaries and packaged with the help files but have not tested since I don't have broadband yet. Follow the setup instructions in the HOWTO, which are rather complex. The KERNEL* file explains how to compile the software into a 2.4 or later kernel instead. Let the BL list know if any of this worked. You need to enter your ISP user name and password into some file. I proved the need for this by trying to use linux and a browser with my own DSL router, and firefox in linux accessed an error page instead of the desired webpage, which XP plugged into the same router did access. The ISP's DSL modem (router) and Windows come with this software but BL does not. Or Ubuntu.


2.2.16 KERNELS

486DX KERNEL for older laptops

a 486-dx kernel with no ethernet or cd-rom support, or sound support, but with vfat and parport zip drive support. Built for use on our older Compaq laptop that has no CD-ROM drive, so we transfer files via parport zip drive (scsi-mod sd_mod imm). Works for booting a 486 from hard drive, or a parport zip drive plugged into a pentium, but does not boot the same zip drive plugged into out Compaq Elite 486DX laptop. Use the 386 kernel.


Please look in the bl directory for all of these outdated kernels. I have not made separate links. and kernel 2.2.16 with sb sound, scsi aic7xxx, and ethernet - tulip, rtl8139, 3c509, 3c59x, eepro, SMC-ultra, wd80 support (as modules) - and built-in ppp/slhc and atapi CD-ROM support, for use with BL2 or ext2 BL3 (whose kernels don't support sound). Tested working with sound and imm and rtl8139.

zimage.snd and config.snd - same as above but with sound module support also for es1370, es1371.o (Creative/Ensoniq AudioPCI), esssolo1 (ES 1938s PCI), cs4232 (Crystal 4235, may need aumix to set vol up from 0), mad16 (opti 931 and possibly also 930 and 929a), ad1848 and (?) uart401 (used with previous two modules), trident (4D PCI card, may need aumix), mss (microsoft sound system), ym3812 (needed by other cards for fm synthesis and thus maybe by playmidi), s_galaxy (my old Aztech card), and opl3sa2.


My zimage.fsm config.fsm mdacon.o matroxfb.o
The vesafb is built-in (but not activated unless you specify vga=XXX at boot time, on the loadlin line).

Vesafb with vga=XXX will crash matrox cards, insmod matroxfb vesa=788 after booting. Vesafb messes up the display with riva cards, use rivafb. fbset -n 1024x768-76 after insmodding it and composing /etc/fb.modes (email me for details). xfbdev followed by terminal switching crashes rivafb and matroxfb, use Xvesa or full X server instead.

This mdacon.o works with both framebuffer and other kernels.
The one from Slackware 7.1 does not work with framebuffer kernels.

2.2.26 laptop kernels with and without built-in CD-ROM support

zimagefb.226 437K
zimafbcd.226 465K

2.2.26 (2.2.27? - I tried to patch it) kernel modeled on Steven's standard BL3.50 kernel for P1, without SYSTEM V IPC (used by DOSEMU) or SYSCTL (/proc/sys), with built-in MSDOS and VFAT (so you can copy long linux file names to DOS disks), and with VESAFB. Also mdacon.o MDA console video driver for use with framebuffer, and ntfs.o ntfs.o read-only to access Windows NT 2K or XP files. fb kernel does not support CD-ROM drives (the modules segfault if you try), fbcd has them support built in. No guarantees here. Should work with Compaq Armada laptops that have nomce error.


For DOS USB-storage put
usbaspi5.sys and in your root directory and add to config.sys the lines:
devicehigh=usbaspi5.sys /v /r /w
The /w tells it to wait for you to insert the device - you can omit it and plug it in before boot instead. You will be assigned a drive letter.

2.4.31 KERNELS - with USB storage, needed for glibc 2.3.1+

(no scsi, sound, framebuffer, firewall, ide zip)
Needs to be recompiled without hermes, joliet and ISA (!) support
When used with BL3.50 the system is read-only. Don't know why. This might be useful when setting up BL for people likely to mess things up who don't need to be able to save or delete or edit anything.

bzimapda.431 (configpda.431)
same as la but with usb_serial built-in, for USB PDA, since usb_serial.o won't insmod in the 2.4.31 kernel (use 2.2.26 instead with modules).

Use the la-nopcmcia modules package for these kernels, or the larger smf modules package.


bzimlafb - la with vesafb support added, useful for neomagic chips where Xvesa is useless, and for S3 laptop chips (don't work with BL3 Xvesa or X-SVGA. Xfbdev uses half the RAM of SVGA server (about 1.2MB vs 2.4MB). Compiled without built-in sound support, just modules. Works with ymfpci (uart401, ac97_codec, ymfpci). opl3sa2 would not compile for me for no known reason.

bzimlsfb - same with built-in sb sound, required for laptop ESS sb emulating chips, where modules will not work due to a bug in 2.4 kernels.

2.2 kernels use modular sb on ESS laptop chips, but with 2.4.31 all sound drivers (including SB!) must be built-in to avoid unresolved symbol error messages, and you must ALSO insmod sb io=0x220 irq=5 dma=1 (change the parameters in BIOS if they don't match, or use other parameters) because sb is ISA in these older laptops. The kernel is intended for PI (100-233MHz).

Both have USB support.

More laptop kernels. They both are smaller but have problems in a Gateway 2000 Solo (but work fine in a Hitachi 133MHz).


The lsfu kernel omits BSD Process Accounting, Sysctl Support (/proc/sys/), System V IPC (needed for DOSEMU), ramdisk support (needed for BL2 ramdisk), and has LOOP as module (you can't use loop BL3 with 2.4.31). It supports sb sound and should not be used with other sound cards because it keeps /dev/dsp from being found.

May cause problems with pcmcia - cardctl and cardmgr do not work, read-only file system, in my Gateway 2000 Solo. Okay in other machines.

The lfnv (laptop framebuffer no-vga-console) kernel is the same but has msdos/vfat only as modules, and omits vga console (use framebuffer, vga=785 or vga=788 at boot time or you won't see anything at all). Suggested for laptops with neomagic MagicGraph V/ZV which don't work with any X server except xfbdev (or plain VGA). USB storage is broken in the Gateway but pcmcia works.

Booted with vga= they use about 60K extra RAM.

Both based on my smf kernel without mtrr, usb kbd/mouse, and with cdrom as modules to save memory. If you don't need sound or fb but want USB storage use the la kernel (600K), or if you don't need USB use the fsm 2.2.16 kernel (500K - framebuffer, sound, scsi) or sb (sound only - 480K) and insmod all sound modules. Steven's big 2.2.26 kernel does vesafb, and also sound (as modules) (700K).

You need to add to laptop modules package:
sb.o loop.o


Form VIA82C, SIS5513, and Promise Ultra100 TX2 ATA100 and related controllers (Ultra and FastTrak 33 to 133), including the onboard second pair of controllers on a dual-BIOS Gigabyte B2000+.

Drives attached to add-in or onboard Promise controllers are hde hdf hdg hdh, so for the first drive, mknod /dev/hde b 33 0 (and hde1 b 33 1, etc.) and edit fstab to change hda to hde before booting with this kernel (plug the drive into hda and boot to it first). BL3 will boot without first editing fstab but BL2 will not. This kernel supports older and newer Promise controllers (unlike my earlier vps - only newer ones). Slackware 10.2 bare.i kernel also works (use Slackware modules) as does DSL.


None of these work as modules, they have unresolved symbols.

less /proc/ide/via gives info on the controller and clock. UDMA100, PCI clock 33.3MHz, cable type, transfer rates. The actual rates are about one third of theoretical (31 not 100MB/sec).

When compiling you must 'Say Y to "Use DMA by default when available" ' and also "Ignore BIOS port disabled setting on FastTrak", which is needed unless you use the Promise proprietary driver, since without this you will get six unresolved symbols about dma and pci and pio.

I also compiled with Y for the chips themselves. CONFIG_BLK_DEV_SIS5513 - for SIS onboard chipset and CONFIG_PDC202XX_NEW and OLD for the Promise controllers. I answered Y to "Boot offboard chipsets first support" since my Promise is an add-in card. You cannot boot from an add-in card using modules unless you use initfs.gz.



Unlike the via and promise (and maybe sis) PCI IDE controllers, which need to be compiled into the kernel to work, and run hard disks at the expected full speed (up to 45MB/sec), Nvidia nForce chipset driver works as a module (on some computers) and increases hard disk transfer speed from 3.5MB/sec to 6.8MB/sec (whereas the Knoppix driver runs a udma5 drive at 28MB/sec). This same nforce chip (found on a 1.9GHz AMD machine) also provides OHCI USB (and EHCI USB2.0), nforce AC'97 audio (NOT i810_audio.o), and

Nforce ethernet driver forcedeth.o

NFORCE 2.4.31 KERNEL (built in IDE support)

The module worked on an eMachine but not on an EPOX 1.9GHz AMD board, where it had unresolved symbols. Compiled into the kernel, the driver runs hard disks full speed (20 MB/sec for a UDMA-2 drive). Even if the module works for you, the kernel should work faster.

bzimavns.431 (710K)

This kernel supports generic, Via, Nvidia Nforce, and SiS IDE controllers (and newer Promise controllers).


(first four require 2.4 or later):


Supports i810 family of onboard video to allow using more than 1 MB onboard RAM, also adds DRI/GLX to NVIDIA, ATI, SIS, ALI, VIA. Place into /lib/modules/2.4.31/kernel/drivers/char/agp .

Try with the 4.8.0 precompiled Xi810 server included in
libc5 precompiled Xtinyx
glibc 2.1.* Xtinyx
I had no luck at all with this driver (or the i810 svgalib driver).
4.8.0 binaries

versions 2.1, 3.3.6, 4.0-4.8

3.3.36 has libc5, glibc 2.0 and glibc 2.1, and later versions have more precompiled binaries (through glibc 2.4).

Here are three individual binaries that are smaller than Steven's no-dependency (uclibc) BL3 xvesa. They require glibc 2.1.3 or later. Extract any others you want to try from the larger package or let me know to post them separately.

Gunzip, strip and chmod X*glibc21 after downloading. The savage did not work for me. Xfbdev-glibc21 worked on a Gateway Solo 2000 where the uclibc version segfaulted. Chmod also +s Xvesa for use as 'user'.

ASSORTED 2.4.31 modules

Ethernet driver for onboard VT6103 ethernet. BIOSTAR M7VIQ board etc. May work for other VT controllers (6102 6105).

rtl8180_2431.o Driver supplied by rtl for 8180 based wireless cards. See also rtl8180-2.4.31.tgz for the source. Not tested.

svgalib_helper.o for latest svgalib (needs >= 2.4 kernels). Works perfectly. Insert in rc.S.

Modules for a Gigabyte board, AMD, FSB 133, Via controller. (Use vps kernel for IDE PCI controller part, not via82cxxx.o).

network driver for onboard VIA network adaptor as found in my Gigabyte
insmod crc32 and mii first. Tested working but at 3 sec/MB.

sound driver, 48KHz only similar to i810_audio.o, which means it works with mplayer, timidity, sox 13.0, but not SW71 or older sox, or workbone, or mcdp. Use if you don't have a free PCI slot to replace the onboard sound with. insmod soundcore, sound, ac97_codec first.

The onboard video is a properly working S3 Savage (fairly fast, vesafb).

ad1816.o for sound card.

Yamaha opl3sa2 is available for 2.4 but not 2.2 kernels.
The Yamaha OPL3SAX io=0x240 in my Hitachi does not work with it.

insmod soundcore
insmod sound
insmod mpu401
insmod ad1848
insmod opl3sa2 io=0x370 mss_io=0x530 irq=5 dma=0 dma2=1 mpu_io=0x330
insmod opl3 io=0x388

The mpu_io and opl3 lines are optional, as may be mss_io.
Other laptops this age use ESS sound chips which work as sb and are 8-bit, and this is a nicer 16-bit, but not usable with 2.2 kernel.

Substitute for parport_pc.o in my main package if your printer supports ECP/EPP printing, for increased speed. IEEE 1284.

loop.o. Use with lsfu kernel for loop.

Matrox Millenium G100 and G400
For support for matrox G400 get the entire package of modules
because the modules of the same name included in my modules package work for G100 but you need these larger ones for G400. matrox-G450-on lists what you need to insert for that card. matrox-G100-on for the G100 with modules from the smf packages. These cards work with the g400 svgalib library but most of my millenium cards work only as plain vga with the -mill library.

DESKTOP (or laptop with sound, framebuffer, etc.)

bzimagsm.431 (configsm.431)
modular support for sound, scsi, framebuffer

bzimagsy.431 (configsy.431)
Added built-in scsi support (scsi_mod, sd_mod, aicx777 not needed and you should not insert them to use zip drives, cd burners) Needed to boot linux from scsi hard disk. BL3.50 bzimage.big is missing the support for scsi controller card (aic7xxx).

Like sm and sy, added support for ipchains and firewall
Share an internet connection, one computer is default gateway.

The following scsi kernel (no IDE) for PII with Adaptec AIC7xxx (7850, 7895) is about the size of the smf (IDE-only) kernel.

This kernel won't work with CD-ROM drives (the modules won't insert) so I compiled a 30K larger scsi kernel with built-in CD-ROM support:

Next I added support for SMP (dual cpu)

This kernel refuses to dial with ppp (inserts the modules but says it lacks support for them, as did an SMP 2.2.16 kernel) so I compiled it again with ppp built-in which I just used to dial (it works):
The kernels got rather large after a while (up from about 700K to 800K).

2.4.31 MODULES for MY KERNELS ONLY (or kernels built with gcc 2.95.3)



August 22 2007 update. Deleted pctel, Intel536. Added svgalib_helper.o

Compiled with gcc 2.95.3 and won't work with David's 2.4.31 kernel.


For Matrox Millenium framebuffer use the matrox modules included in the smf package and
insmod matroxfb_misc
insmod matroxfb_accel
insmod matroxfb_Ti3026
insmod matroxfb_base

For Matrox G100 or G400 get the package
and replace all the matrox modules with these. The g450 ones require larger versions of the four above. See the included file matrox-G450-on.

insmod matroxfb_misc
insmod matroxfb_accel
insmod g450_pll
insmod matroxfb_g450
insmod matroxfb_DAC1064
insmod matroxfb_base

LUCENT/AGERE PCI LINMODEMS (software modems) - v92

This is the only linmodem I could get to work. I gave up on the pctel and Jaton models after compiling the modules.

See the BL archives for instructions for using the 2.4.31 lt_modem.o and lt_serial.o modules with lucent/agere PCI 'linmodems', and for info on other modules for 2.2.16 and 2.2.26 kernels.

All lucent modules and devices for 2.2.16, 2.2.26 and 2.4.31 are in lucent.tgz

Untar on / or installpkg. For 2.4.31 kernel you need also ppp_async.o and ppp_generic.o. /usr/local/sbin has dialing scripts using the modules and a modified eznet.conf (see /eznet.conf.add) which replaces /dev/ttyS0 with /dev/ttyS14 (2.2.14/2.2.16) or /dev/ttyLT0 (other kernels). For 2.2.16 you need to 'force' insertion of this older module.

Ask me for the PCTEL modules for 2.2.16 only (2.4.31 would not compile). Not tested properly. My modem appears to be dead.

USB 2.0 module

ehci-hcd.o USB 2.0 module for USB 2.0 USB controllers (onboard or add-in card).
insmod scsi_mod sd_mod usbcore ehci-hcd usb-storage
The hardware is backwards compatible with USB 1.1 but the uhci and ohci modules do not work with the newer controller that I have.

Bugs: usbserial does not work as a module in 2.4.31 (it does in 2.2.26) so was not included (use the pda kernel instead), and many PCI sound cards require gameport.o (not listed in modules.dep). Insert it if you see gameport in the list of unresolved symbols.


modules-la-nonpcmcia-431.tgz -- unpack in /lib/modules/2.4.31/misc.
Includes scsi_mod and sd_mod, needed for USB-storage, but not sound, other scsi, framebuffer, gameport, video-select, mda, plip. cdrom as modules. No usb keyboard or mouse support. You can use the desktop package too.

The most common non-wireless non-cardbus modules:
modules-pcmcia-min-431.tgz - unpack in /lib/modules/2.4.31/pcmcia.

For 2.4.31 add "misc/crc32" before "misc/8390" for wired ethernet cards in the device sections.

Non-cardbus wireless:
) modules-pcmcia-wireless-431.tgz

Cardbus including wireless (madwifi=ath, acx100 not tested):
) modules-pcmcia-cardbus-431.tgz

Modules ending in _cb are Cardbus (32-bit, gold-colored strip with bumps). They don't fit in some older laptops (Toshiba, Dell). Cardbus wireless cards often have no linux drivers. I compiled and included but was unable to use Madwifi/atheros and acx100 (cannot find irq). Ralink RT2500 on request (Belkin card, cannot find irq). These do not end in cb (and probably also work with PCI cards). Insmode cb_enabler first for all cardbus cards. If no manfid, you can identify by pci 0x0000, 0x1111 instead. I got a cardbus ethernet card to work.

ALL the pcmcia modules that I use and a few more:

For BL2 you can use cardmgr from SW7.1 pcmcia.tgz or the one from BL3 if you add and ld-linux from BL3, or the latest version which I compiled for glibc 2.2.5 cardmgr-glibc225 and cardctl-glibc225 Copy to /sbin and rename without glibc225. Let me know if you want ide_info ifuser ifport pcic_prob scsi_info.

The Slackware 10.2 cardmgr-SW102 also works with Slackware 8.1 glibc-so (2.2.5) and ld-linux. Both are in my operalib package of selected glibc 2.2.5 libraries from the solibs packages, which includes additional libraries for X.

For devices not in BL3.40 /etc/pcmcia/configBL3.40 config you can add device and card lines as found in the large config in the SW pcmcia packages, look them up online, or if you add cardctl, 'cardctl ident' will provide manfid to use on the second line of the 'card' section (instead of function). See my for examples.

scsifs.gz for SCSI BL3.40 loop - experimental

Replace initfs.gz with scsifs.gz (which mounts /dev/sda1)
Boot with my scsi kernel (bzimagsy.431, see below) to loop BL3, using a boot.bat file pointing to scsifs.gz (or rename that to initfs.gz). Boot with the same kernel to ext2 (root=/dev/sda2) on second partition.

This did not work on an all-scsi Compaq Deskpro which is a very odd beast that seems to require himem.sys to boot at all and will not do Xvesa with himem.sys (X_SVGA worked). On top of which 2.4.31 loop gets mounted read-only.


To be used only with David's modules (userspec.tgz)

linux-usb.tar.gz - by David Moberg. Unpack (package contains disk image and modules and initfs.gz for use with loop linux) and write the disk image to a 100% good 1.44MB floppy disk with dd if=1440.img of=/dev/fd0.

Built-in USB support, just insmod usb-storage after booting and it will find your USB-storage camera or card reader or memory stick as /dev/sda1. Toggles USB mouse on and off and has a little list of things you can do, and works with many usb-storage devices and does framebuffer. Includes zgv (set to default chipset VGA), less, and e3pi.

I cannot get the 1440.img in this package to boot - it goes in circles on my newer computers and needs the boot sequence changed back to match the older version 1440-usb-zgv.img, which lacks 'less' and the nice mouse setup, but has pico, e3, and zgv (statically compiled with uclibc, do not use it with other BLs - see next paragraph). libvga.config is set to chipset VESA - remark this out if it won't display properly and also try chipset VGA. This disk works with our USB zip and external drives, memory stick, CF and SM and SD cameras, and CF and SM card readers.


DAVID MOBERG'S 1-floppy linux ZGV-uclibc

See zgv-5.9-uclibc.tgz for a recent zgv which works with kernel 2.4.31 in BL3 (with libc5). Kernel 2.4.31 needs rather than an earlier version, and 1.4.3 would not compile for libc5. Use this package only if you don't already have a (which you would have if using delilinux links2, my bmv, Slackware 7.1 gs, etc.) because it will overwrite it and disable existing programs. Suggested use is in BL3 for a small non-X viewer that views more formats than xli. Or use Steven's older zg from the BL (BL1?) site.


usb camera linux - unzip to /linux on your USB storage camera's memory card
issue - more info on what is in here.

Copy usbcam8 to your camera memory card, then boot with David Moberg's 2.4.31 USB-storage 1-floppy linux, insmod usb-storage and follow instructions below.

A mini BL3.32 without X, but with zgv and netbpm (jpeg but not tiff or png), and with 2.4.31 modules for dialing and printing and using parport (imm or ppa) zip drive to edit/store photos. I included as an alternate busybox 1.1.0 in /bin. Tested with zgv and dialing and telnet. Should print to hp or epson directly with netpbm. Add mutt-bl3 to send photo attachments.

1. mount /dev/sda1 /mnt
2. cd /mnt/linux
3. insmod loop
4. mount -o loop usbcam /hd
5. chroot /hd /bin/sh
6. When done, exit, then umount /hd

Umount may not work, or may work but complain.

FULL 2.4.31 KERNEL in /bl/2.4.31

David's 2.4.31 kernel bzImage.431.gz and config.431 for it and userspec.tgz.431 (delete the 431, unpack at / after renaming the old pppd to pppd-old). It contains a new pppd to be used with the new slhc, ppp_generic, ppp_async, making /dev/ppp as instructed. Kernel has USB support (as modules), sound support (as modules), scsi support (built-in scsi_mod and sd_mod allows scsi boot), and framebuffer (vesafb, plus modules for matroxfb and atyfb).


blimmz.gz is David Moberg's floppy boot disk image for running loop BL3 on a parallel port zip drive (Iomega) that uses the newer driver imm.o instead of ppa.o, plugged into a pentium computer.

blimmz3.gz is the same thing but with the standard BL3 kernel for 386, which works to boot parport zip plugged into our Compaq Elite 486DX where a 486 kernel did not work. This file is tested working with 486SX and DX.

blimmz350.gz has the BL3 pentium-optimized kernel, an extra 50K in initfs.gz for adding things to, and loop.o and insmod loop in case you want to use a kernel with loop as module (but mine would not boot).

gunzip blimmz.gz
dd if=blimmz of=/dev/fd0.

Copy fs.img from BL3 to /baslin on a zip disk, plug in the drive (power and parallel cable), insert disks, reboot to BL3. Programs load slowly, especially X, but I have used kermit and mutt online this way. Add an external modem and use linux online with a Windows computer.

Two-floppy framebuffer/wireless BL3.50

Unzip, insert disk1
dd if=disk1f.img of=/dev/fd0
remove disk1, insert disk2
mount /dev/fd0 /fd
cp disk2f.tgz /fd

Copy additional modules or programs to disk2 if wanted. There is about 200K free space (room for dropbear's dbclient-uclibc)

This version uses framebuffer kernel, xfbdev not Xvesa, and wireless modules instead of mgp. To add 800x600 fb text mode, insert disk1, mount /dev/fd0 /fd and run lilo from any BL using as /etc/lilo.conf:

append="nomce" #needed by Compaq Armada

Lilo will not run from extended partition hda9 but will from hda5.

MUTT for BL3

The older mutt-bl3.tgz and the executable mutt from it (labelled 'old'). Neither this nor the newer version are now at the official add-ons site. Mutt does not authenticate. Use msmtp.