8. Minimum Boot

Build your system one piece at a time. Start with the minumim, and check that it works, before adding lots of components. The first boot is just the monitor, keyboard, video card and system board.

8.1 System Board + SVGA Card
8.2 Damage Risk
8.3 Boot Bios
8.4 step by step - with Linux

8.1

System Board + SVGA Card

The minumum hardware boot is with an SVGA card installed and preferably a keyboard. You are also looking at the LEDS for correct activity during BIOS boot.

If you ever get a machine that won't boot, reduce it down, as far as it takes, down to the system-board and SVGA card if necessary, then build it back up.

Actually, some system boards will boot without a video card, or without a keyboard, provided you tell BIOS to expect to do so (for those who want to use serial), but you probably don't want to do that.

8.2

Damage Risk

DON'T power-cycle too often, but special components should be added one at a time. Boot after each installing each component, and check that the cable is not reversed, or up-side-down. Try to find some sign that the device is alive, detected and happy.

IF NOT - POWER OFF and check that the cable is OK.

If any lights come-on and don't go off, switch off and think. Remove that last device and check that this wasn't a problem before, but you didn't notice.

If you get a device conflict, and have to remove a device, try to get to Linux, where there might be more software to show the actual IRQ and IO_port addresses that work. Look in /proc/

8.3

Boot Bios

The boot process is designed by and for people who occasioanlly have problems booting machines. The first step is to initialise the screen so that diagnostic messages can be printed.

Video OK

Without any other devices, the SVGA card will boot and say "EFA Innergy saver - reducing pollution by 10%. If it fails to display anything at all, take it all apart, check everything, and put it back together.

Main Board OK

To get the screen working, the main board CPU must be working! Probably not on optimum settings, but the power is there and the CPU is seated properly.

I don't know what happens if the CPU is at the wrong voltage level, and have no intention of trying.

Memory OK

You should see the BIOS counting up the full 16 MB, hear the speaker beep, and get dropped into the BIOS Setup because of the invalid CMOS settings and checksum. You know the screen is working because you're looking at it.

Counting Memory

Note that the memory is counted after the Video Card is initialised, and can still fail (The AT-386 architecture is an extension of the XT-286 architecture, which only had 1MB of memory, and some of it mapped away from where the ISA-cards ROM's might want to appear.

If you get past press Del for setup, your memory is working, the cards are not rattling loose (eg holding an IRQ line in a strange or conflicting manner) and by pressing the Del key, you get an interactive menu and a working keyboard!

EIDE + IO Card

Next add the EIDE and IO card. You will see that it is detected from the BIOS reporting the UART COM ports being present, in the BIOS opening screen.

Floppy

Connect the floppy drive, it's light will blink before boot up, and blink again during boot. You will have to tell CMOS that it is a 3.5" drive, because it doesn't know that it isn't a 5.25". The "B" drive is probably absent.

At this time you can test that your BOOT and ROOT disks work. You only really need the BOOT disk, to see the kernel load and initialise, and read the messages it outputs. If they scrolled by too fast, use SHIFT-PageUP.

Hard Drive

Then add the (first) hard disk, and press DEL during bootup, so that you get to the CMOS setup, where you will either ask the BIOS to grope for the disk, or tell the BIOS what disk you have.

The hard disk light will come on when the system BIOS is looking for an OS to boot. The BOOT disk (kernel) will also report that it found the hard disk and what geometry it has.

Network Card

Then add the network card, and hope that the kernel has the relevant driver for it. If it doesn't, you won't know know whether the driver is missing, or the hardware isn't setup correctly.

If your site has BOOTP facilities, you can actually use the Netcard ROM to boot over the network. There are also floppies that emulate the Net-ROM. You probably don;t want them just yet.

Others

Then the CDROM, then the internal modem.

Remember to secure each card properly, and to watch out for the main PCB flexing when you install new cards (un-seating existing ones).

Repeat Checks

As well as checking the 'just-added' component, check that the others are still detected and well. If you have an IRQ conflict, or dislodge a card, it should show up during this step-by-step process.

8.4

step by step - with Linux

The first boot had no floppy, the second boot added the floppy, now you can use Linux to detect devices, instead of just BIOS.

Even without hard disks, you can boot Linux. Continue adding devices, and each time, look for the device using BIOS, and then using Linux. If you feel confident about the OK reports from BIOS, there is no need for the hassle to boot Linux (for every new device). Using Linux gives you the confidence that it will be detected (later) by the kernel, because it was detected just then!

More or less, each device has it's own device driver, a chunk of code in the kernel that knows how to detect and control the device. When the kernel is initialising itself, it goes through an internal list of drivers (in a sensible order) looking for each device. If the driver finds the device, it prints out a message.

EG Detecting Internal modem

For example, here's how you know it found the internal modem card. Note that the kernel didn't use auto IRQ detection, so it doesn't know that the card is really on IRQ 5. The driver simply made the 'default guess' about the IRQ.

The driver did actually look at the UART through the IO ports, and found out what type it is.

...
Serial driver version 4.13 with no serial options enabled
tty00 at 0x03f8 (irq = 4) is a 16450
tty01 at 0x02f8 (irq = 3) is a 16450
tty02 at 0x03e8 (irq = 4) is a 16550A
...

Check as expected

For any other device, if the kernel reports the "wrong IRQ" or whatever, you should hear alarm bells, and check the jumpers.

Check that particular device is detected, and has the expected configuration (IRQ).

No Driver

If your device isn't detected then either: or:

Does the driver even announce itself?

Either the driver is built into the kernel, and gets it's turn to look during kernel initialisation, or it is a module (not yet part of the kernel) that is loaded sometime later.

Traditionally the boot disk kernels, on/with CDROM distributions, are packed full of drivers for lots of different hardware (occasionally so much so - that they conflict!). Some distributions provide a number of varients, with different drivers included / excluded. Read the README's and pick a suitable one.

No System

You only need to see the device detected by the kernel, to go onto the next device. You do not need to proceed with the installation! Since you have no hard disks (not just yet) and no data, you can simply switch off! Do not get into this habit!

SHIFT-PageUp scrolls the kernel messages back so that you can read them.

Boot Floppy System

If the device is a module, that module might get loaded from the floppy, as part of the installation scripts. RedHat for example has (had) all the SCSI modules outside of the kernel. You have to pick one from a menu, the module sgets loaded, and then the driver initialisation (detection) messages get printed, and the device starts working.

If you use the slackware boot disks, or the debian ones, you can get to a login shell, and run Linux commands to test the device. That takes a bit more operator skill (that's you), and access to the programs you want to run, which may be on a floppy somewhere, or on CDROM.

After the boot messages, you get the login prompt. Pressing SHIFT-PageUp scrolls the boot text back. The dmesg command also re-lists them.

Check that each device was detected, at the expected address.

Check Partitions

Check that the device is working by running a Linux command. fdisk -l lists all disks found and all partitions on them. If the disk is truely factory fresh, fdisk will complain like crazy, but that is natural, since there is no FDISK table on the disk yet.

SCSI hints

If you have a SCSI system, and no EIDE at all, you probably have to set the C: and D: drives as absent in BIOS, and the SCSI card's ROM will substitute the SCSI drives it has. The SCSI card is usually set to address 7.

The SCSI card will probably have it's own CMOS parameters, and configuration menu, with options that most people don't use, but someone does. Try pressing CTRL-B somewhere near 'counting memory'.

If your installation uses modules, the BOOT kernel won't contain all the drivers you need to properly detect every device. Then it is a question of luck, trust and other indicators. If the BOOT/ROOT disks, and maybe the CDROM can load the relevant module for you, it will confirm that everything is OK.

Steps List

At some point, you will get bored with booting from the diskette, and go for an actual Linux install. Good Luck!