4. Implementation

4.1. System startup

Follow these steps to boot the system:

  • Restart the PC with the boot disk in the floppy drive.

  • When the grub> prompt appears, type kernel (fd0)/boot/vmlinuz init=/bin/sh root=/dev/fd0 load_ramdisk=1 prompt_ramdisk=1 and press Enter.

  • After the kernel loads, type boot and press Enter.

  • Insert the root disk when prompted.

If all goes well the screen should look something like the example shown below.

GNU GRUB version 0.95

grub> kernel (fd0)/boot/vmlinuz init=/bin/sh root=/dev/fd0 load_ramdisk=1 prompt_ramdisk=1
   [Linux-bzImage, setup=0xc00, size=0xce29b]

grub> boot

Linux version 2.4.26
..
.. [various kernel messages]
..
VFS: Insert root floppy disk to be loaded into RAM disk and press ENTER
RAMDISK: ext2 filesystem found at block 0
RAMDISK: Loading 1440 blocks [1 disk] into ram disk... done.
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 178k freed
# _

4.2. Testing what works

Try out a few of BASH's built-in commands to see if things are working properly.

bash# echo "Hello World"
bash# cd /
bash# pwd
bash# echo *

4.3. Noting what does not work

Try out a few other familiar commands.

bash# ls /var
bash# mkdir /var/tmp

Notice that only commands internal to BASH actually work and that external commands like ls and mkdir do not work at all. This shortcoming is something that can be addressed in a future phase of the project. For now we should just enjoy the fact that our prototype boot / root diskset works and that it was not all that hard to build.

4.4. System shutdown

Remove the diskette from fd0 and restart the system using CTRL-ALT-DELETE.