The core system, located in the file /initrd.gz on the disk contains only
the most vital files to get an linux system up running. Most probably you don't
want to change anything in here. The contents are as follows:
/linuxrc
this shellscript is started by the kernel when the system
boots.
/dev/ system device filesconsole, systty, tty1..8 - for the virtual consoles
cua0, cua1 - for mouse/modem
fd0, hda(1..4), hdb(1..4), hdc..,hdd,sda(1..4) - storage media
ram(1..4) ramdisk
zero, null bytebuckets
/lib/
libraries needed by binaries
ld-linux.so.1 - needed to load programs
libc.so.5, libm.so.5 - standard dynamic c libraries,.. to reduce binary
sizes
libtermcap.so.2(.0.8) - needed by bash for terminal handling
/proc/
neccity
/etc/
configuration directory + ld.so.cache - to make dynamic libraries
work + mtab@ - a link to /proc/mounts to keep track of mounted filesystems
/mnt/tmp/
mountpoint for temporary use
/bin/
binaries
bash, @sh - my favourite shell, can't live without it
@bunzip2, bzip2, @gunzip, gzip, tar - to handle compressed files
cat + chmod - smaller than cp.. for initialization
mount, umount - to be able to mount/unmount other filesystems
The /linuxrc file performs the following tasks at boot-time:
mounts /proc/
mounts the device defined as root by syslinux, loadlin or lilo under /mnt/tmp/
If it finds a file /mnt/tmp/hal91.ini it duplicates it to /hal91.ini and
transfers control to it. If it is unable to mount the device, or /mnt/tmp/hal91.ini
can't be found you are dumped to an minimal bash shell.