[LWN Logo]

From: paul@rasty.ph.unimelb.edu.au (Paul Gortmaker)
Subject: linux-lite - ultra small linux kernel
Date: Wed, 29 Apr 1998 12:47:35 GMT

-----BEGIN PGP SIGNED MESSAGE-----


A surprise to many, I'm sure, is that four years have passed since the
release of the first `stable' linux kernel. In March 1994, linux-1.0 was
released, and in April 1994, the final release of the 1.0 series,
linux-1.0.9, was put forth. (The biggest patch to the 1.0 series was
patch3.gz - and it was only about 8kB!!!)

To commemorate the 4th anniversary of this event,  and the `good ol days'
of small patches and small kernels, I am proud to announce:

                ***    linux-lite    ***

an updated version of the linux-1.0.9 kernel that you can compile with
gcc-2.7.2 and run with recent libc-5 ELF libraries.

What is it?
===========
This is a linux-1.0.9 kernel that I have modified so that it can be
compiled and used on most `current' linux systems. It is based upon a
linux-1.0.9 kernel that I modified several years ago to allow booting and
installation of linux on a system with less than 1 MB of available memory.

A lot has changed since linux-1.0.9 was released. If you try to build a
untouched v1.0.9 kernel on a current linux system, it will fail immediately.
Back then, the now-standard ELF binary format was rare. ELF shared
libraries were unheard of. Compiling the kernel as an ELF (vs. a.out)
object was not supported until kernel version 2.0 was released.

This update makes the v1.0.9 kernel ELF aware, allows building of the
kernel with current compiler and binary utilities, and allows for the
creation of a smaller kernel than was possible with the original v1.0.9.

What good is it?
================
It is great for low memory systems where adding memory is difficult or
impossible (proprietary notebook systems, old 386's with DIP or SIPP DRAM,
etc. etc.)  Many configuration options have been added to allow the user
to further reduce the final kernel size. Booting/running linux in less
than 1MB of memory should still be possible with this kernel when you use
an uncompressed kernel image. On an 8MB 486-100, linux-lite compiles the
2.0.33 kernel 2 minutes faster than when running the 2.0.33 kernel itself!
(Your results may vary, depending on hardware and kernel configuration.)

It now can run libc-5 ELF binaries, such as those used in the `stable'
release of Debian and so on. It has been `taught' how to deal with the
`gpm' way of mouse activity as compared to the old `selection' support.
It is compatible with linux (ext2) filesystems (partitions) that have
been created with recent linux installs.

The complete source for the kernel will fit on a single 1.44MB floppy.
Compared to the current 11MB or so taken up by linux-2.1, this is a
manageable size for someone who wants to get a feel for linux internals
without getting overwhelmed by the size of the current source tree. (It
may also be useful for introductory OS courses that want to use linux
as a teaching aid?)

Where is it?
============
It is currently in /pub/Linux/Incoming on sunsite.unc.edu, destined to
be moved to: /pub/Linux/kernel/  (someday)  --  look for the files:

	linux-lite-v1.00.tar.gz		- full source tree (1.2MB)
	linux-lite-v1.00-diff.gz	- diff against linux-1.0.9 (32kB)
	linux-lite-v1.00.lsm		- Linux software map entry.
	linux-lite-v1.00.relnotes	- Release Notes (READ THIS FILE!!)

Known Issues:
==============
- - the recent /proc `ps'  utilities do not like the /proc file output
  from this kernel. (Older v1.2 /proc utils will work with both v1.0 and
  v2.0 kernels). This includes ps, w, uptime, top, and so on.

- - mprotect() is not really supported. This should only affect things
  like Electric-Fence and so on, which are primarily used by
  developers for debugging.

- - use with glibc (aka libc-6) is currently untested. Let me know if you
  try it out with glibc. Similarly compiling with gcc-2.8.x is expected
  to break things (as it even breaks linux-2.0/2.1) so use gcc-2.7.2

- - An a.out compile/build based upon an *old* gcc-2.5.8/libc4/binutils
  is not tested. If you need this (and linux-lite is broken in this
  respect), then use an untouched linux-1.0.9 kernel (and e-mail me
  the breakage)

- - not all the drivers that exist in linux-2.0/2.1 are available in this
  older kernel. Things like HDD, FDD, EXT2, NFS and so on should be fine
  though. But I am not able to test *all* the drivers that are in v1.0,
  and nor will I be backporting current drivers into linux-lite either.

Have fun with it. It is officially unsupported, but I'll try to look
into any problems as time permits.

Paul.

- --
conspiracy notes:  look at the date of release for linux-1.0.9 in the
patch9.gz file. Then look at the date encoded in the latest reboot magic
added to linux-2.1.97. Is this just another coincidence?  ;)



- -- 
This article has been digitally signed by the moderator, using PGP.
http://www.iki.fi/mjr/cola-public-key.asc has PGP key for validating signature.
Send submissions for comp.os.linux.announce to: linux-announce@news.ornl.gov
PLEASE remember a short description of the software and the LOCATION.
This group is archived at http://www.iki.fi/mjr/linux/cola.html

-----BEGIN PGP SIGNATURE-----
Version: 2.6.3ia
Charset: latin1

iQCVAgUBNUchZ1rUI/eHXJZ5AQGZYAP/f5pk4STzFGCZb7qW2pqH6Iti7gqKuMFg
tFvqbwawMvn/e/GwP9UElCynVz71CyGBxh+IGOBdTiO2qjtT/PnEqURnvX2k6obl
zH+8S8xYL2cn+jSSJyZWpWAUxf8usQJp41MVs48HWn/4Xj/Y0FPGyFIQ2oNNOa0t
8eKqOggI6T8=
=3jru
-----END PGP SIGNATURE-----