old-www/LDP/LG/issue59/arndt.html

456 lines
15 KiB
HTML

<!--startcut ==============================================-->
<!-- *** BEGIN HTML header *** -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML><HEAD>
<title>HAL 91 - a minimalistic Linux distribution LG #59</title>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#0000AF"
ALINK="#FF0000">
<!-- *** END HTML header *** -->
<CENTER>
<A HREF="http://www.linuxgazette.com/">
<H1><IMG ALT="LINUX GAZETTE" SRC="../gx/lglogo.jpg"
WIDTH="600" HEIGHT="124" border="0"></H1></A>
<!-- *** BEGIN navbar *** -->
<IMG ALT="" SRC="../gx/navbar/left.jpg" WIDTH="14" HEIGHT="45" BORDER="0" ALIGN="bottom"><A HREF="lg_tips59.html"><IMG ALT="[ Prev ]" SRC="../gx/navbar/prev.jpg" WIDTH="16" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="index.html"><IMG ALT="[ Table of Contents ]" SRC="../gx/navbar/toc.jpg" WIDTH="220" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><A HREF="../index.html"><IMG ALT="[ Front Page ]" SRC="../gx/navbar/frontpage.jpg" WIDTH="137" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="http://www.linuxgazette.com/cgi-bin/talkback/all.py?site=LG&article=http://www.linuxgazette.com/issue59/arndt.html"><IMG ALT="[ Talkback ]" SRC="../gx/navbar/talkback.jpg" WIDTH="121" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><A HREF="../faq/index.html"><IMG ALT="[ FAQ ]" SRC="./../gx/navbar/faq.jpg"WIDTH="62" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="bennet.html"><IMG ALT="[ Next ]" SRC="../gx/navbar/next.jpg" WIDTH="15" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><IMG ALT="" SRC="../gx/navbar/right.jpg" WIDTH="15" HEIGHT="45" ALIGN="bottom">
<!-- *** END navbar *** -->
<P>
</CENTER>
<!--endcut ============================================================-->
<H4 ALIGN="center">
"Linux Gazette...<I>making Linux just a little more fun!</I>"
</H4>
<P> <HR> <P>
<!--===================================================================-->
<center>
<H1><font color="maroon">HAL 91 - a minimalistic Linux distribution</font></H1>
<H4>By <a href="mailto:matthiasarndt@gmx.net">Matthias Arndt</a></H4>
</center>
<P> <HR> <P>
<!-- END header -->
<H3>Table of Contents</H3>
<UL>
<LI><A HREF="#intro">Introduction</A></LI>
<LI><A HREF="#what">What is HAL91?</A></LI>
<LI><A HREF="#features">Features of HAL91</A></LI>
<LI><A HREF="#kernel">Kernel features of HAL91</A></LI>
<LI><A HREF="#whattodo">HAL91 - what to do with it?</A></LI>
<LI><A HREF="#links">related links</A></LI>
</UL>
<A NAME="intro">
<H3>Introduction</H3>
<P>
Recently, I started studiying computer sciences in conjuction with economics at the <A HREF="http://www.tu-clausthal.de/">Technical University of Clausthal</A>.
</P>
<P>
I met another Linux enthusiast, <A HREF="http://home.tu-clausthal.de/~incp/">Christian Perle</A>. He told me about one of his ongoing projects. And that one was maintaining the <B>HAL91 Linux distribution.</B>.
</P>
<P>
This article should be a short description of what is <B>HAL91</B> and where could it be used for.<BR>
Please contact <A HREF="mailto:christian.perle@tu-clausthal.de">the maintainer of HAL91, Christian Perle</A>, for further information.
</P>
<P>
I just want to tell you about its existence...
</P>
<A NAME="what">
<H3>What is HAL91?</H3>
<P>
In short, a quote of the <B>HAL91</B> boot message:
<PRE>
_/ _/ _____/ _/ _____/ __/ http://home.sol.no/~okolaas/linux/hal91/
_/ _/ _/ _/ _/ _/ _/ __/ -=[ Floppy Linux ]=-
_____/ _____/ _/ ___/ _____/ _/ ver 0.2.0
_/ _/ _/ _/ _/ _/ _/ okolaas@online.no
_/ _/ _/ _/ _____/ _/ _/ (c) 1998 0yvind Kolaas
</PRE>
</P>
<P>
<B>HAL91</B> is a minimalistic Linux distribution that fits on one floppy disk (1.44MB).
</P>
<P>
Special about <B>HAL91</B> is that it comes along with a whole set of useful utilities for maintaining
and troubleshooting a linux system, including some limited networking support.
</P>
<P>
The <B>HAL91</B> Project was started by Oyvind Kolaas but Christian Perle is now the
maintainer of the HAL91 distribution.
</P>
<A NAME="features">
<H3>Features of HAL91</H3>
<P>
In order to keep <B>HAL91</B> as small as possible the whole HAL91 system currently
uses the libc5.
</P>
<P>
Kernel 2.0.36 is the current kernel version.
</P>
<P>
<B>HARDWARE REQUIREMENTS:</B><BR>
You just a need a minimal system with a 386 processor and 8MB of RAM.
<B>HAL91</B> comes along with harddisk and CD-ROM support but it runs directly from floppy out of a RAM disk.<BR>
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).
</P>
<P>The following programs and tools are included with the <B>HAL91</B> distribution.</P>
<table border=1 WIDTH=100%>
<TR BGCOLOR=#ffff00><TD>tool/program<TD>Description
<tr><td>bash <td> bourne again shell
<tr><td>bunzip2 <td> uncompress bzip2 files
<tr><td>bzip2 <td> compress files to .bz2
<tr><td>cat <td> concatenate files
<tr><td>chmod <td> change file permissions
<tr><td>chown <td> change file ownerships
<tr><td>chroot <td> change root filesystem
<tr><td>cp <td> copy files
<tr><td>dd <td> read/write devices and files
<tr><td>df <td> show free disk space
<tr><td>dir <td> show contents of directory (symlinked to ls)
<tr><td>dmesg <td> show kernel messages
<tr><td>du <td> show disk usage
<tr><td>e2fsck <td> check/repair an ext2 filesystem
<tr><td>elvis <td> clone of the vi editor
<tr><td>fdisk <td> partition hard disks
<tr><td>free <td> show memory statistics
<tr><td>ftp <td> ftp client
<tr><td>grep <td> search for patterns in files (symlinked to rgrep)
<tr><td>gunzip <td> uncompress gzip files
<tr><td>gzip <td> compress files to .gz
<tr><td>halt <td> halt the system
<tr><td>hostname <td> show/set hostname
<tr><td>ifconfig <td> configure network devices
<tr><td>init.net <td> simple script for configuring ethernet
<tr><td>insmod <td> load kernel modules
<tr><td>less <td> display files
<tr><td>ln <td> create links
<tr><td>loadkeys <td> load keymaps
<tr><td>ls <td> list contents of directory
<tr><td>lsmod <td> show loaded kernel modules
<tr><td>mkdir <td> create directories
<tr><td>mke2fs <td> create an ext2 filesystem
<tr><td>mknod <td> create special device files
<tr><td>mkswap <td> set up swap partition
<tr><td>more <td> display files (symlinked to less)
<tr><td>mount <td> mount filesystem
<tr><td>mv <td> rename/move files
<tr><td>ncp <td> server/client to copy files/directories over network
<tr><td>npoll <td> receive stdin over network (symlinked to ncp)
<tr><td>npush <td> send stdin over network (symlinked to ncp)
<tr><td>open <td> open virtual consoles
<tr><td>ping <td> send ICMP requests
<tr><td>ppp-nullmodem <td> simple script for PPP using nullmodem cable
<tr><td>pppd <td> PPP daemon
<tr><td>ps <td> show process status
<tr><td>reset <td> clear the screen
<tr><td>rgrep <td> search for patterns in files
<tr><td>rm <td> remove files/directories
<tr><td>rmmod <td> remove kernel modules
<tr><td>route <td> configure network routes
<tr><td>sh <td> bourne shell (symlinked to bash)
<tr><td>sleep <td> pause for a specified time
<tr><td>swapoff <td> turn off swap (symlinked to swapon)
<tr><td>swapon <td> turn on swap
<tr><td>sync <td> synchronize cache with disks
<tr><td>tar <td> tape archiver
<tr><td>telnet <td> remote login client
<tr><td>tr <td> translate characters in files
<tr><td>umount <td> unmount filesystem
<tr><td>update <td> automatic syncing of filesystems
<tr><td>vi <td> vi editor (symlinked to elvis)
<tr><td>zcat <td> concatenate gzip compressed file (symlinked to gzip)
<tr><td>zless <td> display gzip compressed files
</table>
<P>
(And this fits on a single floppy disk!)
</P>
<P>
The <B>HAL91</B> floppy is bootable. Just insert it into your floppy drive and start your computer.
</P>
<P>
The bootloader <I>LOADLIN</I> is also included with the <B>HAL91</B> floppy. You can launch <B>HAL91</B>
directly from a running DOS.
</P>
<P>
All visible files on the <B>HAL91</B> 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.
</P>
<A NAME="kernel">
<H3>Kernel features of HAL91</H3>
<P>
HAL91's kernel configuration is shown in the file <I>kconf</I> on the disk:
<PRE>
#
# 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
</PRE>
</P>
<A NAME="whattodo">
<H3>HAL91 - what to do with it?</H3>
<P>
In short, you could use <B>HAL91</B> 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.
</P>
<P>
The included tools can be used for network trouble shooting.
</P>
<P>
<B>HAL91</B> can be used as a boot image for bootable CD-ROMs and it could be used as a base Linux
to install another Linux.
</P>
<P>
Last but not least, it is a very good starting point for learning about the creation of a running
distribution.
</P>
<A NAME="links">
<H3>Related links</H3>
<P>
Here, you may find links to the homepage of the HAL91 project.
</P>
<P>
<B>NOTICE:</B> The webpage mentioned in the current HAL91 boot message does not exist anymore.
</P>
<UL>
<LI><A HREF="http://home.tu-clausthal.de/~incp/hal91.html" TARGET="_blank">HAL91 Homepage</A></LI>
<LI><A HREF="http://home.online.no/~okolaas/hal91.html" TARGET="_blank">discontinued HAL91 page</A></LI>
<LI><A HREF="mailto:christian.perle@tu-clausthal.de">Christian Perle's email</A>
</UL>
<CENTER>written with permission of <A HREF="mailto:christian.perle@tu-clausthal.de">Christian Perle</A></CENTER>
<!-- *** BEGIN copyright *** -->
<P> <hr> <!-- P -->
<H5 ALIGN=center>
Copyright &copy; 2000, Matthias Arndt.
Copying license <A HREF="../copying.html">http://www.linuxgazette.com/copying.html</A><BR>
Published in Issue 59 of <i>Linux Gazette</i>, November 2000</H5>
<!-- *** END copyright *** -->
<!--startcut ==========================================================-->
<HR><P>
<CENTER>
<!-- *** BEGIN navbar *** -->
<IMG ALT="" SRC="../gx/navbar/left.jpg" WIDTH="14" HEIGHT="45" BORDER="0" ALIGN="bottom"><A HREF="lg_tips59.html"><IMG ALT="[ Prev ]" SRC="../gx/navbar/prev.jpg" WIDTH="16" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="index.html"><IMG ALT="[ Table of Contents ]" SRC="../gx/navbar/toc.jpg" WIDTH="220" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><A HREF="../index.html"><IMG ALT="[ Front Page ]" SRC="../gx/navbar/frontpage.jpg" WIDTH="137" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="http://www.linuxgazette.com/cgi-bin/talkback/all.py?site=LG&article=http://www.linuxgazette.com/issue59/arndt.html"><IMG ALT="[ Talkback ]" SRC="../gx/navbar/talkback.jpg" WIDTH="121" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><A HREF="../faq/index.html"><IMG ALT="[ FAQ ]" SRC="./../gx/navbar/faq.jpg"WIDTH="62" HEIGHT="45" BORDER="0" ALIGN="bottom"></A><A HREF="bennet.html"><IMG ALT="[ Next ]" SRC="../gx/navbar/next.jpg" WIDTH="15" HEIGHT="45" BORDER="0" ALIGN="bottom" ></A><IMG ALT="" SRC="../gx/navbar/right.jpg" WIDTH="15" HEIGHT="45" ALIGN="bottom">
<!-- *** END navbar *** -->
</CENTER>
</BODY></HTML>
<!--endcut ============================================================-->