8. Minimum BootBuild 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. |
|
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.
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/
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.
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.
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.
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.
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!
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.
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.
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.
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.
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).
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.
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.
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 ...
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).
If your device isn't detected then either: or:
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.
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.
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 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.
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.