HAL91 -- minimalistic Linux distribution

NOTE: HAL91 is discontinued.

Latest Version: 0.4.5 (Sat Feb 9 16:05:24 CET 2002). MD5 checksum of disk image: de085cce49fffa01927546a4b71f0dd2. See also the CHANGES file.
[german page]
[italian page]

This is a very small Linux distribution that fits on one floppy disk.


You need at least a 386 machine (fpu not necessary) with 8 mb ram to run HAL91. The entire system runs in ram, so you can remove the floppy after booting. The kernel supports IDE hard disks and ATAPI cdrom drives. Supported filesystems are ext2, iso9660 and vfat, optional encryption using AES is possible. Limited support for ethernet cards (NE2000 only) is also included. Support for scsi adapters, parallel zip drive and other ethernet cards is possible by loading kernel modules from an optional package (see below).

What's included?

HAL91 contains the following commands:

bash bourne again shell
bunzip2 uncompress bzip2 files
bzip2 compress files to .bz2
cat concatenate files
chmod change file permissions
chown change file ownerships
chroot change root filesystem
copydisk copy whole disk (16 MB required)
cp copy files
date show current date and time
dd read/write devices and files
df show free disk space
dmesg show kernel messages
du show disk usage
e2fsck check/repair an ext2 filesystem
elvis clone of the vi editor
fdisk partition hard disks
fmt format text
free show memory statistics
ftp ftp client
grep search for patterns in files (symlinked to rgrep)
gunzip uncompress gzip files
gzip compress files to .gz
halt halt the system
hdparm show/set hard disk parameters
hostname show/set hostname
ifconfig configure network devices
init.net simple script for configuring ethernet
insmod load kernel modules
less display files
ln create links
loadkeys load keymaps
losetup set up loop device (possibly encrypted)
ls list contents of directory
lsmod show loaded kernel modules
md5sum generate/check file checksums
mkdir create directories
mke2fs create an ext2 filesystem
mknod create special device files
mkswap set up swap partition
more display files (symlinked to less)
mount mount filesystem
mv rename/move files
nc server/client to copy files over network
open open virtual consoles
ping send ICMP requests
ppp-nullmodem simple script for PPP using nullmodem cable
pppd PPP daemon
ps show process status
reset clear the screen
rgrep search for patterns in files
rm remove files/directories
rmmod remove kernel modules
route configure network routes
sh bourne shell (symlinked to bash)
sleep pause for a specified time
strings extract strings from files
swapoff turn off swap (symlinked to swapon)
swapon turn on swap
sync synchronize cache with disks
tar tape archiver
telnet remote login client
tr translate characters in files
tree show a directory tree
umount unmount filesystem
update automatic syncing of filesystems
uptime show uptime and load average
vi vi editor (symlinked to elvis)
wc count lines, words and characters in a file
zcat concatenate gzip compressed file (symlinked to gzip)
zless display gzip compressed files

Installation procedure

First you need the disk image: hal91.img. If you are using DOS/Windows, you also need rawrite2.exe. Then put a blank floppy disk in your drive.

At the command line, type in the following:

If your browser corrupts the disk image, try this link. Note that this is not a zip archive. Just rename the file hal91.zip to hal91.img after downloading.

Optional start script

After booting, HAL91 looks for a file hal91.rc on the floppy. If the file exists, it is executed as a shell script. You can use this feature for automating tasks at boot time.

Optional packages

The following packages do not fit on the disk. However, after booting HAL91, they can be unpacked in the /bin directory with the command tar xzf package.tgz.


Another excellent mini distribution is maintained by Tom Oehser. He also links other mini distributions from his page. A german introduction to the vi editor is here.

chris AT linuxinfotag.de