[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ next ]

Installing Debian GNU/Linux 3.0 For Alpha
Chapter 5 - Booting the Installation System

Subject to limitations in some cases, you may boot the installation system from a Debian GNU/Linux CD-ROM, floppy disks, a partition on a hard disk, or from another machine via a local area network.

5.1 Alpha Console Firmware

Console firmware is stored in a flash ROM and started when an Alpha system is powered up or reset. There are two different console specifications used on Alpha systems, and hence two classes of console firmware available:

From the user's perspective, the most important difference between SRM and ARC is that the choice of console constrains the possible disk-partitioning scheme for the hard disk which you wish to boot off of.

ARC requires that you use an MS-DOS partition table (as created by cfdisk) for the boot disk. Therefore MS-DOS partition tables are the ``native'' partition format when booting from ARC. In fact, since AlphaBIOS contains a disk partitioning utility, you may prefer to partition your disks from the firmware menus before installing Linux.

Conversely, SRM is incompatible with MS-DOS partition tables. [4] Since Tru64 Unix uses the BSD disklabel format, this is the ``native'' partition format for SRM installations.

Because GNU/Linux is the only operating system on Alpha that can be booted from both console types, the choice will also depend on what other operating systems you wish to run on the same machine. All other Unix-like operating systems (Tru64 Unix, FreeBSD, OpenBSD, and NetBSD) and OpenVMS can only boot from SRM, whereas Windows NT can only boot from ARC.

The following table summarizes available and supported system type/console combinations (see CPU, Main Boards, and Video Support, Section 2.1.2 for the system type names). The word `ARC' below denotes any of the ARC-compliant consoles.

     System Type    Console Type Supported
     ===========    ======================
     alcor          ARC or SRM
     avanti         ARC or SRM
     book1          SRM only
     cabriolet      ARC or SRM
     dp264          SRM only
     eb164          ARC or SRM
     eb64p          ARC or SRM
     eb66           ARC or SRM
     eb66p          ARC or SRM
     jensen         SRM only
     lx164          ARC or SRM
     miata          ARC or SRM
     mikasa         ARC or SRM
     mikasa-p       SRM only
     nautilus       ARC only (see motherboard manual)
     noname         ARC or SRM
     noritake       SRM only
     noritake-p     SRM only
     pc164          ARC or SRM
     rawhide        SRM only
     ruffian        ARC only
     sable          SRM only
     sable-g        SRM only
     sx164          ARC or SRM
     takara         ARC or SRM
     xl             ARC only
     xlt            ARC or SRM

Generally, none of these consoles can boot Linux directly, so the assistance of an intermediary bootloader is required. There are two mainstream Linux loaders: MILO and aboot.

MILO is itself a console, which replaces ARC or SRM in memory. MILO can be booted from both ARC and SRM and is the only way to bootstrap Linux from the ARC console. MILO is platform-specific (a different MILO is needed for each system type) and exist only for those systems, for which ARC support is shown in the table above. See also the (unfortunately outdated) MILO HOWTO.

aboot is a small, platform-independent bootloader, which runs from SRM only. See the (also unfortunately outdated) SRM HOWTO for more information on aboot.

Thus, three scenarios are generally possible, depending on the system's console firmware and whether or not MILO is available:

     SRM -> aboot
     SRM -> MILO
     ARC -> MILO

The UP1000 motherboard (subarchitecture name `nautilus') from Alpha Processor, Inc. is different from all the others, in that it uses an API-specific bootloader that runs under AlphaBIOS firmware.

Because MILO is not available for any of the Alpha systems currently in production (as of February 2000), and because it is no longer necessary to buy an OpenVMS or Tru64 Unix license to have SRM firmware on your older Alpha, it is recommended that you use SRM and aboot on new installations of GNU/Linux, unless you wish to dual-boot with Windows NT.

The majority of AlphaServers and all current server and workstation products contain both SRM and AlphaBIOS in their firmware. For "half-flash" machines such as the various evaluation boards, it is possible to switch from one version to another by reflashing the firmware. Also, once SRM is installed, it is possible to run ARC/AlphaBIOS from a floppy disk (using the `arc' command). For the reasons mentioned above, we recommend switching to SRM before installing Debian.

As on other architectures, you should install the newest available revision of the firmware [5] before installing Debian. For Alpha, firmware updates can be obtained from Alpha Firmware Updates.

5.2 Booting with MILO

MILO contained on the bootstrap media is configured to proceed straight to Linux automatically. Should you wish to intervene, all you need is to press space during MILO countdown.

If you want to specify all the bits explicitly (for example, to supply additional parameters), you can use a command like this:

     MILO> boot fd0:linux.bin.gz root=/dev/fd0 load_ramdisk=1

If you are booting from something other than a floppy, substitute fd0 in the above example with the appropriate device name in Linux notation. The help command would give you a brief MILO command reference.

5.3 Boot Parameter Arguments

Boot parameters are Linux kernel parameters which are generally used to make sure that peripherals are dealt with properly. For the most part, the kernel can auto-detect information about your peripherals. However, in some cases you'll have to help the kernel a bit.

Depending on the console firmware from which you will be bootstrapping, different methods apply for passing parameters to the kernel. These methods will be described below, separately for each bootstrap procedure.

Full information on boot parameters can be found in the Linux BootPrompt HOWTO; this section contains only a sketch of the most salient parameters.

If this is the first time you're booting the system, try the default boot parameters (i.e., don't try setting arguments) and see if it works correctly. It probably will. If not, you can reboot later and look for any special parameters that inform the system about your hardware.

When the kernel boots, a message

     availk/totalk available

should be emitted early in the process. total should match the total amount of RAM, in kilobytes. If this doesn't match the actual of RAM you have installed, you need to use the mem=ram parameter, where ram is set to the amount of memory, suffixed with ``k'' for kilobytes, or ``m'' for megabytes. For example, both mem=65536k and mem=64m mean 64MB of RAM.

If your monitor is only capable of black-and-white, use the mono boot argument. Otherwise, your installation will use color, which is the default.

If you are booting with a serial console, generally the kernel will autodetect this . If you have a videocard (framebuffer) and a keyboard also attached to the computer which you wish to boot via serial console, you may have to pass the console=device argument to the kernel, where device is your serial device, which is usually something like ``ttyS0''.

Again, full details on boot parameters can be found in the Linux BootPrompt HOWTO, including tips for obscure hardware. Some common gotchas are included below in Troubleshooting the Install Process, Section 5.7.

5.3.1 dbootstrap Arguments

The installation system recognizes a few boot arguments which may be useful. The effects of quiet and verbose are listed in Effects of Verbose and Quiet, Section 11.5.

This will cause the installation system to suppress confirmation messages and try to do the right thing without fuss. If you are familiar and comfortable with what the installation system is going to expect, this is a nice option to quieten the process.
Ask even more questions than usual.
Emit additional debug messages to the installation system log (see Using the Shell and Viewing the Logs, Section 5.8.1), including every command run.
Pre-select the keyboard you want to use, e.g., bootkbd=qwerty/us
Use monochrome rather than color mode.
Some architectures use the kernel framebuffer to offer installation in a number of languages. If framebuffer causes a problem on your system you can use this option to disable the feature. Problem symptoms are error messages about bterm or bogl, a blank screen, or a freeze within a few minutes after starting the install.

5.4 Booting from a CD-ROM

The easiest route for most people will be to use a set of Debian CDs. If you have a CD set, and if your machine supports booting directly off the CD, great! Simply insert your CD, reboot, and proceed to the next chapter.

5.4.1 Booting from CD-ROM with the SRM Console


     >>> boot xxxx -flags 0

where xxxx is your CD-ROM drive in SRM notation.

5.4.2 Booting from CD-ROM with the ARC or AlphaBIOS Console

To boot a CD-ROM from the ARC console, find your sub-architecture code name (see CPU, Main Boards, and Video Support, Section 2.1.2), then enter \milo\linload.exe as the boot loader and \milo\subarch' (where subarch is the proper subarchitecture name) as the OS Path in the `OS Selection Setup' menu. Ruffians make an exception: You need to use \milo\ldmilo.exe as boot loader.

Note that certain CD drives may require special drivers, and thus be inaccessible in the early installation stages. If it turns out the standard way of booting off a CD doesn't work for your hardware, revisit this chapter and read about alternate kernels and installation methods which may work for you.

USB CD-ROM drives are supported by the `bf2.4' flavor. FireWire devices that are supported by the ohci1394 and sbp2 drivers may also be useable with the `bf2.4' flavor.

Even if you cannot boot from CD-ROM, you can probably install the Debian system components and any packages you want from CD-ROM. Simply boot using a different media, such as floppies. When it's time to install the operating system, base system, and any additional packages, point the installation system at the CD-ROM drive.

If you have problems booting, see Troubleshooting the Install Process, Section 5.7.

5.5 Booting from Floppies

5.5.1 Booting from floppies with the SRM Console

At the SRM prompt (>>>), issue the following command:

     >>> boot dva0 -flags 0

possibly replacing dva0 with the actual device name. Usually, dva0 is the floppy; type

     >>> show dev

to see the list of devices (e.g., if you want to boot from a CD). Note that if you are booting via MILO, -flags argument is ignored, so you can just type boot dva0.

If everything works OK, you will eventually see the Linux kernel boot.

If you want to specify kernel parameters when booting via aboot, use the following command:

     >>> boot dva0 -file linux.bin.gz -flags "root=/dev/fd0 load_ramdisk=1 arguments"

(typed on one line), substituting, if necessary, the actual SRM boot device name for dva0, the Linux boot device name for fd0, and the desired kernel parameters for arguments.

If you want to specify kernel parameters when booting via MILO, you will have to interrupt bootstrap once you get into MILO. See Booting with MILO, Section 5.2.

5.5.2 Booting from floppies with the ARC or AlphaBIOS Console

In the OS Selection menu, set linload.exe as the boot loader, and milo as the OS Path. Bootstrap using the newly created entry.

5.5.3 Booting from floppies with the APB boot loader (UP1000)

To boot on this platform, run \apb\apb.exe from the `Utility/Run Maintenance Program' menu, and type

     boot debian_install

at the APB prompt.

If you have problems booting, see Troubleshooting the Install Process, Section 5.7.

5.6 Booting from TFTP

Booting from the network requires that you have a network connection supported by the boot floppies, including either a static network address or a DHCP server, a BOOTP server, and a TFTP server. The installation method to support TFTP booting is described in Preparing Files for TFTP Net Booting, Section 4.4. In SRM, Ethernet interfaces are named with the ewa prefix, and will be listed in the output of the show dev command, like this (edited slightly):

     >>>show dev
     ewa0.               EWA0              08-00-2B-86-98-65
     ewb0.              EWB0              08-00-2B-86-98-54
     ewc0.0.0.2002.0            EWC0              00-06-2B-01-32-B0

You first need to set the boot protocol:

     >>> set ewa0_protocol bootp

Then check the medium type is correct:

     >>> set ewa0_mode mode

You can get a listing of valid modes with >>>set ewa0_mode.

Then, to boot from the first Ethernet interface, you would type:

     >>>boot ewa0

If you wish to use a serial console, you must pass the console= parameter to the kernel. This can be done using the -flags argument to the SRM boot command. The serial ports are named the same as their corresponding files in /dev. For example, to boot from ewa0 and use a console on the first serial port, you would type:

     >>>boot ewa0 -flags console=ttyS0

5.7 Troubleshooting the Install Process

5.7.1 Floppy Disk Reliability

The biggest problem for people installing Debian for the first time seems to be floppy disk reliability.

The rescue floppy is the floppy with the worst problems, because it is read by the hardware directly, before Linux boots. Often, the hardware doesn't read as reliably as the Linux floppy disk driver, and may just stop without printing an error message if it reads incorrect data. There can also be failures in the Driver Floppies most of which indicate themselves with a flood of messages about disk I/O errors.

If you are having the installation stall at a particular floppy, the first thing you should do is re-download the floppy disk image and write it to a different floppy. Simply reformatting the old floppy may not be sufficient, even if it appears that the floppy was reformatted and written with no errors. It is sometimes useful to try writing the floppy on a different system.

One user reports he had to write the images to floppy three times before one worked, and then everything was fine with the third floppy.

Other users have reported that simply rebooting a few times with the same floppy in the floppy drive can lead to a successful boot. This is all due to buggy hardware or firmware floppy drivers.

5.7.2 Boot Configuration

If you have problems and the kernel hangs during the boot process, doesn't recognize peripherals you actually have, or drives are not recognized properly, the first thing to check is the boot parameters, as discussed in Boot Parameter Arguments, Section 5.3.

If you are booting with your own kernel instead of the one supplied with the installer, be sure that CONFIG_DEVFS is not set in your kernel. The installer is not compatible with CONFIG_DEVFS.

Often, problems can be solved by removing add-ons and peripherals, and then trying booting again.

There are, however, some limitations in our boot floppy set with respect to supported hardware. Some Linux-supported platforms might not be directly supported by our boot floppies. If this is the case, you may have to create a custom rescue disk (see Replacing the Rescue Floppy Kernel, Section 10.3), or investigate network installations.

If you have a large amount of memory installed in your machine, more than 512M, and the installer hangs when booting the kernel, you may need to include a boot argument to limit the amount of memory the kernel sees, such as mem=512m.

5.7.3 Interpreting the Kernel Startup Messages

During the boot sequence, you may see many messages in the form can't find something, or something not present, can't initialize something, or even this driver release depends on something. Most of these messages are harmless. You see them because the kernel for the installation system is built to run on computers with many different peripheral devices. Obviously, no one computer will have every possible peripheral device, so the operating system may emit a few complaints while it looks for peripherals you don't own. You may also see the system pause for a while. This happens when it is waiting for a device to respond, and that device is not present on your system. If you find the time it takes to boot the system unacceptably long, you can create a custom kernel later (see Compiling a New Kernel, Section 9.5).

5.7.4 dbootstrap Problem Report

If you get through the initial boot phase but cannot complete the install, dbootstrap's 'Report a Problem' menu choice may be helpful. It creates dbg_log.tgz on a floppy, hard disk or nfs-mounted filesystem. dbg_log.tgz details the system's state (/var/log/messages, /proc/cpuinfo etc.). dbg_log.tgz may provide clues as to what went wrong and how to fix it. If you are submitting a bug report you may want to attach this file to the bug report.

5.7.5 Submitting Bug Reports

If you still have problems, please submit a bug report. Send an email to submit@bugs.debian.org. You must include the following as the first lines of the email:

     Package: boot-floppies
     Version: version

Make sure you fill in version with the version of the boot-floppies set that you used. If you don't know the version, use the date you downloaded the floppies, and include the distribution you got them from (e.g., ``stable'', ``frozen'', ``woody'').

You should also include the following information in your bug report:

     architecture:  alpha
     model:         your general hardware vendor and model
     memory:        amount of RAM
     scsi:          SCSI host adapter, if any
     cd-rom:        CD-ROM model and interface type, e.g., ATAPI
     network card:  network interface card, if any
     pcmcia:        details of any PCMCIA devices

Depending on the nature of the bug, it also might be useful to report whether you are installing to IDE or SCSI disks, other peripheral devices such as audio, disk capacity, and the model of video card.

In the bug report, describe what the problem is, including the last visible kernel messages in the event of a kernel hang. Describe the steps that you did which brought the system into the problem state.

5.8 Introduction to dbootstrap

dbootstrap is the name of the program which is run after you have booted into the installation system. It is responsible for initial system configuration and the installation of the ``base system''.

The main job of dbootstrap, and the main purpose of your initial system configuration, is to configure essential elements of your system. For instance, you may need to use certain ``kernel modules'', drivers which are linked into the kernel. These modules include storage hardware drivers, network drivers, special language support, and support for other peripherals which are not automatically built in to the kernel you are using.

Disk partitioning, disk formatting, and networking setup are also facilitated by dbootstrap. This fundamental setup is done first, since it is often necessary for the proper functioning of your system.

dbootstrap is a simple, character-based application, designed for maximum compatibility in all situations (such as installation over a serial line). It is very easy to use. It will guide you through each step of the installation process in a linear fashion. You can also go back and repeat steps if you find you have made a mistake.

To navigate within dbootstrap, use:

5.8.1 Using the Shell and Viewing the Logs

If you are an experienced Unix or Linux user, press Left Alt-F2 to get to the second virtual console. That's the Alt key on the left-hand side of the space bar, and the F2 function key, at the same time. This is a separate window running a Bourne shell clone called ash. At this point you are booted from the RAM disk, and there is a limited set of Unix utilities available for your use. You can see what programs are available with the command ls /bin /sbin /usr/bin /usr/sbin. The text editor is nano-tiny.

Use the menus to perform any task that they are able to do — the shell and commands are only there in case something goes wrong. In particular, you should always use the menus, not the shell, to activate your swap partition, because the menu software can't detect that you've done this from the shell. Press Left Alt-F1 to get back to menus. Linux provides up to 64 virtual consoles, although the rescue floppy only uses a few of them.

Error messages are redirected to the third virtual terminal (known as tty3). You can access this terminal by pressing Left Alt-F3 (hold the Alt key while pressing the F3 function key); get back to dbootstrap with Left Alt-F1.

These messages can also be found in /var/log/messages. After installation, this log is copied to /var/log/installer.log on your new system.

During the Base installation, package unpacking and setup messages are redirected to tty4. You can access this terminal by pressing Left Alt-F4; get back to dbootstrap with Left Alt-F1.

The unpack/setup messages generated by debootstrap are saved in /target/tmp/debootstrap.log when the installation is performed over a serial console.

5.9 ``Release Notes''

The first screen that dbootstrap will present you with is the ``Release Notes''. This screen presents the version information for the boot-floppies software you are using, and gives a brief introduction to Debian developers.

5.10 ``Debian GNU/Linux Installation Main Menu''

You may see a dialog box that says ``The installation program is determining the current state of your system and the next installation step that should be performed.''. On some systems, this will go by too quickly to read. You'll see this dialog box between steps in the main menu. The installation program, dbootstrap, will check the state of the system in between each step. This checking allows you to re-start the installation without losing the work you have already done, in case you happen to halt your system in the middle of the installation process. If you have to restart an installation, you will have to configure your keyboard, re-activate your swap partition, and re-mount any disks that have been initialized. Anything else that you have done with the installation system will be saved.

During the entire installation process, you will be presented with the main menu, entitled ``Debian GNU/Linux Installation Main Menu''. The choices at the top of the menu will change to indicate your progress in installing the system. Phil Hughes wrote in the Linux Journal that you could teach a chicken to install Debian! He meant that the installation process was mostly just pecking at the Enter key. The first choice on the installation menu is the next action that you should perform according to what the system detects you have already done. It should say ``Next'', and at this point the next step in installing the system will be taken.

5.11 ``Configure the Keyboard''

Make sure the highlight is on the ``Next'' item, and press Enter to go to the keyboard configuration menu. Select a keyboard that conforms to the layout used for your national language, or select something close if the keyboard layout you want isn't represented. Once the system installation is complete, you'll be able to select a keyboard layout from a wider range of choices (run kbdconfig as root when you have completed the installation).

Move the highlight to the keyboard selection you desire and press Enter. Use the arrow keys to move the highlight — they are in the same place in all national language keyboard layouts, so they are independent of the keyboard configuration. An 'extended' keyboard is one with F1 through F10 keys along the top row.

If you are installing a diskless workstation, the next few steps will be skipped, since there are no local disks to partition. In that case, your next step will be ``Configure the Network'', Section 7.6. After that, you will be prompted to mount your NFS root partition in ``Mount a Previously-Initialized Partition'', Section 6.8.

5.12 Last Chance!

Did we tell you to back up your disks? Here's your last chance to save your old system. If you haven't backed up all of your disks, remove the floppy from the drive, reset the system, and run backups.

[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ] [ 12 ] [ next ]

Installing Debian GNU/Linux 3.0 For Alpha

version 3.0.24, 18 December, 2002

Bruce Perens
Sven Rudolph
Igor Grobman
James Treacy
Adam Di Carlo