Chapter 2. A Simple Prototype
2.1. Analysis
Since this is the first phase of the project it will be kept very simple. The goal here is not to create the ultimate
GNU/Linux system on the first try. Instead, we will be building a very minimal, working system to be used as
a building block in subsequent phases of the project. Keeping this in mind, we can list a few goals for phase
one.
Keep it simple to avoid stressing out.
•
Build something that works for instant gratification.
•
Make something that it is useful in later phases of the project.
•
2.2. Design
2.2.1. Simplification
Take a moment to skim through the Bootdisk−HOWTO or the
From−PowerUp−to−BASH−Prompt−HOWTO. These HOWTO documents can be found online at
http://www.tldp.org/docs.html#howto. Both documents offer an excellent view of what it takes to get a
GNU/Linux system up and running. There is also a lot of information to digest. Remember that one of our
goals is, "keep it simple to avoid stressing out," so we want to ignore everything but the absolutely critical
pieces of a boot / root diskset.
Basically it boils down to the following required items:
A boot loader
•
The Linux kernel
•
A shell
•
Some
/dev
files
•
We don't even need an init daemon. The kernel can be told to run the shell directly by passing it an option
through the boot loader.
For easy construction we will build a two−disk boot / root set rather than trying to get everything onto a single
diskette. The boot loader and kernel will go on the boot disk and the shell will reside on the root disk.
2.2.2. Boot Disk
For the boot disk we simply need to install the GRUB bootloader and a Linux kernel. We will need to use a
kernel that does not require modules for the hardware we need to access. Mainly, it should have compiled−in
support for the floppy drive, ram disk, second extended filesystem, proc filesystem, ELF binaries, and a
text−based console. If such a kernel is not available, it will need to be built from source code. Kwan Lowe's
Kernel Rebuild Guide is a good reference for this task, however we can ignore the sections that deal with
modules and the initial ramdisk.
Chapter 2. A Simple Prototype
6