Recently, I started studiying computer sciences in conjuction with economics at the Technical University of Clausthal.
I met another Linux enthusiast, Christian Perle. He told me about one of his ongoing projects. And that one was maintaining the HAL91 Linux distribution..
This article should be a short description of what is HAL91 and where could it be used for.
Please contact the maintainer of HAL91, Christian Perle, for further information.
I just want to tell you about its existence...
In short, a quote of the HAL91 boot message:
_/ _/ _____/ _/ _____/ __/ http://home.sol.no/~okolaas/linux/hal91/ _/ _/ _/ _/ _/ _/ _/ __/ -=[ Floppy Linux ]=- _____/ _____/ _/ ___/ _____/ _/ ver 0.2.0 _/ _/ _/ _/ _/ _/ _/ email@example.com _/ _/ _/ _/ _____/ _/ _/ (c) 1998 0yvind Kolaas
HAL91 is a minimalistic Linux distribution that fits on one floppy disk (1.44MB).
Special about HAL91 is that it comes along with a whole set of useful utilities for maintaining and troubleshooting a linux system, including some limited networking support.
The HAL91 Project was started by Oyvind Kolaas but Christian Perle is now the maintainer of the HAL91 distribution.
In order to keep HAL91 as small as possible the whole HAL91 system currently uses the libc5.
Kernel 2.0.36 is the current kernel version.
You just a need a minimal system with a 386 processor and 8MB of RAM. HAL91 comes along with harddisk and CD-ROM support but it runs directly from floppy out of a RAM disk.
A special feature of HAL91 is the included minimal support for NE2000 compliant network hardware and the ability to establish a PPP connection over a null modem cable (via the ppp-nullmodem script).
The following programs and tools are included with the HAL91 distribution.
|bourne again shell
|uncompress bzip2 files
|compress files to .bz2
|change file permissions
|change file ownerships
|change root filesystem
|read/write devices and files
|show free disk space
|show contents of directory (symlinked to ls)
|show kernel messages
|show disk usage
|check/repair an ext2 filesystem
|clone of the vi editor
|partition hard disks
|show memory statistics
|search for patterns in files (symlinked to rgrep)
|uncompress gzip files
|compress files to .gz
|halt the system
|configure network devices
|simple script for configuring ethernet
|load kernel modules
|list contents of directory
|show loaded kernel modules
|create an ext2 filesystem
|create special device files
|set up swap partition
|display files (symlinked to less)
|server/client to copy files/directories over network
|receive stdin over network (symlinked to ncp)
|send stdin over network (symlinked to ncp)
|open virtual consoles
|send ICMP requests
|simple script for PPP using nullmodem cable
|show process status
|clear the screen
|search for patterns in files
|remove kernel modules
|configure network routes
|bourne shell (symlinked to bash)
|pause for a specified time
|turn off swap (symlinked to swapon)
|turn on swap
|synchronize cache with disks
|remote login client
|translate characters in files
|automatic syncing of filesystems
|vi editor (symlinked to elvis)
|concatenate gzip compressed file (symlinked to gzip)
|display gzip compressed files
(And this fits on a single floppy disk!)
The HAL91 floppy is bootable. Just insert it into your floppy drive and start your computer.
The bootloader LOADLIN is also included with the HAL91 floppy. You can launch HAL91 directly from a running DOS.
All visible files on the HAL91 floppy are on a VFAT file system. You can inspect the disk and even copy its contents (with losing the ability to boot directly from it) to anywhere using a DOS or Windows compatible system.
HAL91's kernel configuration is shown in the file kconf on the disk:
# # Automatically generated by make menuconfig: don't edit # # # Code maturity level options # # CONFIG_EXPERIMENTAL is not set # # Loadable module support # CONFIG_MODULES=y CONFIG_MODVERSIONS=y # CONFIG_KERNELD is not set # # General setup # CONFIG_MATH_EMULATION=y CONFIG_NET=y # CONFIG_MAX_16M is not set CONFIG_PCI=y CONFIG_SYSVIPC=y # CONFIG_BINFMT_AOUT is not set CONFIG_BINFMT_ELF=y CONFIG_KERNEL_ELF=y CONFIG_M386=y # CONFIG_M486 is not set # CONFIG_M586 is not set # CONFIG_M686 is not set # # Floppy, IDE, and other block devices # CONFIG_BLK_DEV_FD=y CONFIG_BLK_DEV_IDE=y # CONFIG_BLK_DEV_HD_IDE is not set CONFIG_BLK_DEV_IDECD=y # CONFIG_BLK_DEV_IDETAPE is not set # CONFIG_BLK_DEV_IDEFLOPPY is not set # CONFIG_BLK_DEV_IDESCSI is not set # CONFIG_BLK_DEV_IDE_PCMCIA is not set CONFIG_BLK_DEV_CMD640=y # CONFIG_BLK_DEV_CMD640_ENHANCED is not set # CONFIG_BLK_DEV_RZ1000 is not set # CONFIG_BLK_DEV_TRITON is not set # CONFIG_IDE_CHIPSETS is not set CONFIG_BLK_DEV_LOOP=y CONFIG_LOOP_ROOT=y # CONFIG_BLK_DEV_MD is not set CONFIG_BLK_DEV_RAM=y CONFIG_BLK_DEV_INITRD=y # CONFIG_BLK_DEV_XD is not set # CONFIG_PARIDE is not set # CONFIG_BLK_DEV_HD is not set # # Networking options # # CONFIG_FIREWALL is not set # CONFIG_NET_ALIAS is not set CONFIG_INET=y # CONFIG_IP_FORWARD is not set # CONFIG_IP_MULTICAST is not set # CONFIG_SYN_COOKIES is not set CONFIG_IP_ACCT=y # CONFIG_IP_ROUTER is not set # CONFIG_NET_IPIP is not set # CONFIG_INET_PCTCP is not set # CONFIG_INET_RARP is not set # CONFIG_NO_PATH_MTU_DISCOVERY is not set CONFIG_IP_NOSR=y CONFIG_SKB_LARGE=y # CONFIG_IPX is not set # CONFIG_ATALK is not set # CONFIG_AX25 is not set # CONFIG_NETLINK is not set # # SCSI support # # CONFIG_SCSI is not set # # Network device support # CONFIG_NETDEVICES=y # CONFIG_DUMMY is not set # CONFIG_EQUALIZER is not set # CONFIG_PLIP is not set CONFIG_PPP=y # CONFIG_SLIP is not set # CONFIG_NET_RADIO is not set CONFIG_NET_ETHERNET=y # CONFIG_NET_VENDOR_3COM is not set # CONFIG_NET_VENDOR_SMC is not set # CONFIG_NET_PCI is not set CONFIG_NET_ISA=y # CONFIG_LANCE is not set # CONFIG_AT1700 is not set # CONFIG_E2100 is not set # CONFIG_DEPCA is not set # CONFIG_EWRK3 is not set # CONFIG_EEXPRESS is not set # CONFIG_HPLAN_PLUS is not set # CONFIG_HPLAN is not set # CONFIG_HP100 is not set CONFIG_NE2000=y # CONFIG_SK_G16 is not set # CONFIG_NET_EISA is not set # CONFIG_NET_POCKET is not set # CONFIG_TR is not set # CONFIG_FDDI is not set # CONFIG_ARCNET is not set # # ISDN subsystem # # CONFIG_ISDN is not set # # CD-ROM drivers (not for SCSI or IDE/ATAPI drives) # # CONFIG_CD_NO_IDESCSI is not set # # Filesystems # # CONFIG_QUOTA is not set # CONFIG_MINIX_FS is not set # CONFIG_EXT_FS is not set CONFIG_EXT2_FS=y # CONFIG_XIA_FS is not set CONFIG_NLS=y CONFIG_ISO9660_FS=y CONFIG_FAT_FS=y CONFIG_MSDOS_FS=y # CONFIG_UMSDOS_FS is not set CONFIG_VFAT_FS=y CONFIG_NLS_CODEPAGE_437=y # CONFIG_NLS_CODEPAGE_737 is not set # CONFIG_NLS_CODEPAGE_775 is not set CONFIG_NLS_CODEPAGE_850=y # CONFIG_NLS_CODEPAGE_852 is not set # CONFIG_NLS_CODEPAGE_855 is not set # CONFIG_NLS_CODEPAGE_857 is not set # CONFIG_NLS_CODEPAGE_860 is not set # CONFIG_NLS_CODEPAGE_861 is not set # CONFIG_NLS_CODEPAGE_862 is not set # CONFIG_NLS_CODEPAGE_863 is not set # CONFIG_NLS_CODEPAGE_864 is not set # CONFIG_NLS_CODEPAGE_865 is not set # CONFIG_NLS_CODEPAGE_866 is not set # CONFIG_NLS_CODEPAGE_869 is not set # CONFIG_NLS_CODEPAGE_874 is not set CONFIG_NLS_ISO8859_1=y # CONFIG_NLS_ISO8859_2 is not set # CONFIG_NLS_ISO8859_3 is not set # CONFIG_NLS_ISO8859_4 is not set # CONFIG_NLS_ISO8859_5 is not set # CONFIG_NLS_ISO8859_6 is not set # CONFIG_NLS_ISO8859_7 is not set # CONFIG_NLS_ISO8859_8 is not set # CONFIG_NLS_ISO8859_9 is not set # CONFIG_NLS_KOI8_R is not set CONFIG_PROC_FS=y # CONFIG_NFS_FS is not set # CONFIG_SMB_FS is not set # CONFIG_HPFS_FS is not set # CONFIG_SYSV_FS is not set # CONFIG_UFS_FS is not set # # Character devices # CONFIG_SERIAL=y # CONFIG_DIGI is not set # CONFIG_CYCLADES is not set # CONFIG_STALDRV is not set # CONFIG_RISCOM8 is not set CONFIG_PRINTER=y # CONFIG_SPECIALIX is not set # CONFIG_MOUSE is not set # CONFIG_UMISC is not set # CONFIG_QIC02_TAPE is not set # CONFIG_FTAPE is not set # CONFIG_APM is not set # CONFIG_WATCHDOG is not set # CONFIG_RTC is not set # # Sound # # CONFIG_SOUND is not set # # Kernel hacking # # CONFIG_PROFILE is not set
In short, you could use HAL91 as a rescue and trouble shooting disk. It comes along with all needed tools and it runs out of the box without requiring the hard disk to run.
The included tools can be used for network trouble shooting.
HAL91 can be used as a boot image for bootable CD-ROMs and it could be used as a base Linux to install another Linux.
Last but not least, it is a very good starting point for learning about the creation of a running distribution.
Here, you may find links to the homepage of the HAL91 project.
NOTICE: The webpage mentioned in the current HAL91 boot message does not exist anymore.