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.
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
.
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.
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
Memory: 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.
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.
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.
Type
>>> boot xxxx -flags 0
where xxxx
is your CD-ROM drive in SRM notation.
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.
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.
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.
In the OS Selection menu, set linload.exe
as the boot loader, and
milo
as the OS Path. Bootstrap using the newly created entry.
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.
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.0.0.9.0 EWA0 08-00-2B-86-98-65 ewb0.0.0.11.0 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
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.
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.
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).
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.
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.
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:
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. 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.
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.
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.
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.
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.
Installing Debian GNU/Linux 3.0 For Alpha
version 3.0.23, 16 May, 2002