diff options
author | Waldemar Brodkorb <wbx@openadk.org> | 2017-12-31 18:47:16 +0100 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2017-12-31 18:47:25 +0100 |
commit | 3a96085b999220c4da0c5ef7d1f7ba26b9ddfb98 (patch) | |
tree | 77f1445aae2e6be5135594e95986b3278bbc061c /package/aboot/src/doc | |
parent | cc28479164b8dc8afd4310716da32f16022f5974 (diff) |
dec-multia: make netboot possible, add aboot bootloader
Diffstat (limited to 'package/aboot/src/doc')
31 files changed, 6152 insertions, 0 deletions
diff --git a/package/aboot/src/doc/faq/.cvsignore b/package/aboot/src/doc/faq/.cvsignore new file mode 100644 index 000000000..2d19fc766 --- /dev/null +++ b/package/aboot/src/doc/faq/.cvsignore @@ -0,0 +1 @@ +*.html diff --git a/package/aboot/src/doc/faq/Makefile b/package/aboot/src/doc/faq/Makefile new file mode 100644 index 000000000..fc38ddba4 --- /dev/null +++ b/package/aboot/src/doc/faq/Makefile @@ -0,0 +1,9 @@ +all-html : SRM-HOWTO/index.html + +clean : + rm -rf SRM-HOWTO + +SRM-HOWTO/index.html : SRM-HOWTO.sgml + sgmltools --backend=html SRM-HOWTO.sgml + +#.PHONY clean diff --git a/package/aboot/src/doc/faq/SRM-HOWTO.sgml b/package/aboot/src/doc/faq/SRM-HOWTO.sgml new file mode 100644 index 000000000..8093647d4 --- /dev/null +++ b/package/aboot/src/doc/faq/SRM-HOWTO.sgml @@ -0,0 +1,2293 @@ +<!DOCTYPE Article PUBLIC "-//OASIS//DTD DocBook V4.1//EN"> + +<!-- <!DOCTYPE Article PUBLIC "-//Davenport//DTD DocBook V3.0//EN"> --> + +<Article id="index"> + +<articleinfo> + +<Title>SRM Firmware Howto</Title> + +<authorgroup> +<AUTHOR> +<firstname>Rich</firstname> <surname>Payne</surname> +<affiliation><address><email>rdp@alphalinux.org</email></address></affiliation> +</AUTHOR> +<!-- and --> +<AUTHOR> +<firstname>David</firstname> <surname>Huggins-Daines</surname> +<affiliation><address><email>dhuggins@linuxcare.com</email></address></affiliation> +</AUTHOR> +</authorgroup> + +<PubDate>v0.8.1, 14 February 2004</PubDate> + +<Abstract> +<Para> +This document describes how to boot Linux/Alpha using the SRM console, +which is the console firmware also used to boot +<productname>HP Tru64 Unix</productname> +(also known as <productname>Digital Unix</productname> and <productname>OSF/1</productname>) and <productname>OpenVMS</productname>. +</Para> +</Abstract> + +</articleinfo> + +<Sect1 id="SRM-about"> +<Title>About this manual</Title> + +<Sect2> +<Title>Who should read this manual</Title> + +<Para> +You should read this manual if you are installing Linux on a new +Alpha system that can only boot from the SRM console, or if you are +installing Linux on an older Alpha system that can use the SRM console +and wish to use SRM to boot your Linux installation. +</Para> + +<Para> +Because SRM is the only way to boot Linux on modern Alpha systems, +and because it provides the proper operating environment for Unix and +Unix-like operating systems (such as Linux), it is the recommended way +of booting Linux on Alpha when available. +</Para> + +<Para> +Sometimes, it is preferable to use the ARC, ARCSBIOS, or AlphaBIOS +console, such as if you have a machine for which SRM is not available, +if you wish to dual-boot with <productname>Windows NT</productname> +without switching consoles, +or if you have hardware that is not supported by SRM. On these +machines, you will typically use MILO to boot Linux. For more +information, refer to the MILO Howto, available from +<ULink URL="http://www.alphalinux.org/faq/milo.html">http://www.alphalinux.org/faq/milo.html</ULink>. +</Para> + +</Sect2> + +<Sect2> +<Title>Conventions</Title> + +<Para> +Throughout this manual, we will use the following conventions for +commands to be entered by the user: +</Para> + +<Para> +SRM console commands will be shown with the characteristic SRM +'>>>' prompt, like this: +<FOOTNOTE> + +<Para> +On multiprocessor machines, you +will see 'P00>>' instead, or possibly some other number depending on +which processor SRM is running. +</Para> + +</FOOTNOTE> + + +<Screen> +>>> boot dva0 -fi linux.gz -fl "root=/dev/fd0 load_ramdisk=1" +</Screen> + +</Para> + +<Para> +Unix commands will be shown with the '#' command prompt if they are +to be run as <Literal remap="tt">root</Literal>, or '$' if they are to be run by a normal user, +like this: + +<Screen> +# swriteboot -f3 /dev/sda /boot/bootlx +</Screen> + +</Para> + +<Para> +Aboot commands will be shown with the 'aboot>' command prompt, like +this: + +<Screen> +aboot> b 6/boot/vmlinuz root=/dev/hda6 +</Screen> + +</Para> + +</Sect2> + +</Sect1> + +<Sect1 id="SRM-whatis"> +<Title>What is SRM?</Title> + +<Para> +SRM console is used by Alpha systems as +Unix-style boot firmware. <productname>Tru64 Unix</productname> and +<productname>OpenVMS</productname> depend on it and +Linux can boot from it. You can recognize SRM console as a blue screen +with a prompt that is presented to you on power-up. +</Para> + +<Sect2> +<Title>Getting to SRM</Title> + +<Para> +Most Alpha systems have both the SRM and ARC/AlphaBIOS console in +their firmware. On one of these machines, if your machine starts up +with ARC/AlphaBIOS by default, you can switch to SRM through the +"<guimenuitem>Console Selection</guimenuitem>" option in the Advanced CMOS Setup menu. To make <!-- FIXME Markup should do the marking --> +the change permanent, you should set the <Literal remap="tt">os_type</Literal> environment +variable in SRM to "OpenVMS" or "Unix", like this: + +<Screen> +>>> set os_type Unix +</Screen> + +</Para> + +<Para> +Either one will work to boot Linux. However, if you intend to +dual-boot OpenVMS on this machine, you must set <Literal remap="tt">os_type</Literal> to +"OpenVMS". Conversely, to return to ARC/AlphaBIOS, you can set +<Literal remap="tt">os_type</Literal> to "NT". +</Para> + +<Para> +Some older systems may not have both SRM and ARC in firmware as +shipped. On these systems, you will have to upgrade your firmware. +See <ULink +URL="http://ftp.digital.com/pub/DEC/Alpha/firmware/" +>http://ftp.digital.com/pub/DEC/Alpha/firmware</ULink +> for the +latest firmware updates and instructions. +</Para> + +<Para> +A few older systems (primarily evaluation boards such as the 164SX +and 164LX) are "half-flash" systems, whose firmware can hold SRM or +AlphaBIOS, but not both. If you have one of these machines, you will +have to reflash your firmware with the SRM console using the AlphaBIOS +firmware update utility. Again, see +<ULink +URL="http://ftp.digital.com/pub/DEC/Alpha/firmware/" +>http://ftp.digital.com/pub/DEC/Alpha/firmware</ULink +> for firmware +images and instructions. If you wish to return to AlphaBIOS on these +machines, you may rerun the firmware update utility from a floppy in +SRM using the <Literal remap="tt">fwupdate</Literal> command. You can also start AlphaBIOS +from a floppy using the <Literal remap="tt">arc</Literal> command. +</Para> + +</Sect2> + +<Sect2> +<Title>Using the SRM console</Title> + +<Para> +The SRM console works very much like a Unix or OpenVMS shell. It +views your NVRAM and devices as a pseudo-filesystem. You can see this +if you use the <command>ls</command> command. Also, it contains a fairly large set +of diagnostic, setup, and debugging utilities, the details of which +are beyond the scope of this document. As in the Unix shell, you can +pipe the output of one command to the input of another, and there is a +<command>more</command> command that works not unlike the Unix one. To get a full +listing of available commands, run: + +<Screen> +>>> help | more +</Screen> + +</Para> + +<Para> +As well, SRM has environment variables, a number of which are +pre-defined and correspond to locations in NVRAM. You can view the +entire list of environment variables and their values with the +<command>show</command> command (there are quite a few of them, so you will probably +want to pipe its output to <command>more</command>). You can also show variables +matching a "glob" pattern - for example, <command>show boot*</command> will show all +the variables starting in "boot". +</Para> + +<Para> +Environment variables are categorized as either <Emphasis>read-only</Emphasis>, +<Emphasis>warm non-volatile</Emphasis>, or <Emphasis>cold non-volatile</Emphasis>. The full listing +of pre-defined variables is detailed in the Alpha Architecture +Reference Manual. The most useful pre-defined environment variables +for the purposes of booting Linux are <varname>bootdef_dev</varname>, +<varname>boot_file</varname>, <varname>boot_flags</varname>, and +<varname>auto_action</varname>, all of which are cold non-volatile. +</Para> + +<Para> +To set environment variables, use the <command>set</command> command, like this: + +<Screen> +>>> set bootdef_def dka0 +</Screen> + +</Para> + +<Para> +If you set an undefined variable, it will be created for you, however +it will not persist across reboots. +</Para> + +<Para> +The <varname>bootdef_dev</varname> variable specifies the device (using +VMS naming conventions - see <XRef LinkEnd="device-naming"> for an +explanation of these) which will be booted from if no device is +specified on the <Literal remap="tt">boot</Literal> command line, or in an automatic boot. +The <varname>boot_file</varname> variable contains the filename to be +loaded by the secondary bootloader, while <varname>boot_flags</varname> +contains any extra flags. <varname>auto_action</varname> specifies the +action which the console should take on power-up. By default, it is +set to <Literal remap="tt">HALT</Literal>, meaning that the machine will start up in the +SRM console. Once you have configured your bootloader and the +boot-related variables, you can set it to <Literal remap="tt">BOOT</Literal> in order to +boot automatically on power-up. +</Para> + +<Para> +Finally, two helpful console keystrokes you should know are +<keycombo action='simul'><keycap>Control</keycap><keycap>C</keycap></keycombo>, +which, as in the shell, halts a command in progress (such +as an automatic boot), and +<keycombo action='simul'><keycap>Control</keycap><keycap>P</keycap></keycombo>, +which if issued from the aboot +prompt (or other secondary bootloader) will halt the bootloader and +return you to the SRM console. +</Para> + +</Sect2> + +<Sect2 id="how-srm-boots"> +<Title>How Does SRM Boot an OS?</Title> + +<Para> +All versions of SRM can boot from SCSI disks and the versions for +recent platforms, such as the Noname or AlphaStations can boot from +floppy disks as well. Network booting via <Literal remap="tt">bootp</Literal> is supported. +Note that older SRM versions (notably the one for the Jensen) +cannot boot from floppy disks. Booting from IDE devices +is supported on newer platforms (164SX, 164LX, 164UX, DS20, DS10, DP264, UP2000(+), UP1000, UP1100 etc.). +</Para> + +<Para> +Booting Linux with SRM is a two step process: first, SRM loads and +transfers control to the secondary bootstrap loader. Then the +secondary bootstrap loader sets up the environment for Linux, reads +the kernel image from a disk filesystem and finally transfers control to Linux. +</Para> + +<Para> +Currently, there are two secondary bootstrap loaders for Linux: +the <Emphasis>raw</Emphasis> loader that comes with the Linux kernel and <Literal remap="tt">aboot</Literal> +which is distributed separately. These two loaders are described in +more detail below. +</Para> + +</Sect2> + +<Sect2> +<Title>Loading The Secondary Bootstrap Loader</Title> + +<Para> +SRM knows nothing about filesystems or disk-partitions. It simply +expects that the secondary bootstrap loader occupies a consecutive +range of physical disk sector, starting from a given offset. The +information on the size of the secondary bootstrap loader and the +offset of its first disk sector is stored in the first 512 byte +sector. Specifically, the long integer at offset 480 stores the +<Emphasis>size</Emphasis> of the secondary bootstrap loader (in 512-byte blocks) and +the long at offset 488 gives the <Emphasis>sector number</Emphasis> at which the +secondary bootstrap loader starts. The first sector also stores a +flag-word at offset 496 which is always 0 and a checksum at offset +504. The checksum is simply the sum of the first 63 long integers in +the first sector. +</Para> + +<Para> +If the checksum in the first sector is correct, SRM goes ahead and +reads the <Emphasis>size</Emphasis> sectors starting from the sector given in the +<Emphasis>sector number</Emphasis> field and places them in <Emphasis>virtual</Emphasis> memory at +address <Literal remap="tt">0x20000000</Literal>. If the reading completes successfully, +SRM performs a jump to address <Literal remap="tt">0x20000000</Literal>. +</Para> + +</Sect2> + +</Sect1> + +<Sect1 id="SRM-DeviceNaming"> +<Title>SRM Device Naming</Title> +<Sect2> +<Title>The First Two Letter</Title> +<Para>The following is based on the example device dkb1.2.3.4.5 taken from a Digital Server 3300 (Whitebox version of +an AS800). +</Para> +<Para> +Two letter port or class driver designator: +<!-- <variablelist> +<varlistentry><term>DR:</term><listitem><para>RAID set device</Para></ListItem></varlistentry> +<varlistentry><term>DV:</term><ListItem><Para>Floppy Drive</Para></ListItem></varlistentry> +<ListItem><Para> EW: Ethernet port (TULIP, DEC 21040) </Para></ListItem> +<ListItem><Para> EI: Ethernet port (Intel 82557 or 82559) </Para></ListItem> +<ListItem><Para> PK: SCSI port (controller) </Para></ListItem> +<ListItem><Para> DK: SCSI disk </Para></ListItem> +<ListItem><Para> MK: SCSI tape </Para></ListItem> +<ListItem><Para> PU: DSSI port </Para></ListItem> +<ListItem><Para> DU: DSSI disk </Para></ListItem> +<ListItem><Para> MU: DSSI tape </Para></ListItem> +<ListItem><Para> JK: SCSI monitor (or robot) </Para></ListItem> +<ListItem><Para> DQ: (E)IDE Device (disk or CD-ROM)</Para></ListItem> +</ItemizedList> +</variablelist> --> +<ItemizedList> +<ListItem><Para> DR: RAID set device </Para></ListItem> +<ListItem><Para> DV: Floppy Drive </Para></ListItem> +<ListItem><Para> EW: Ethernet port (TULIP, DEC 21040) </Para></ListItem> +<ListItem><Para> EI: Ethernet port (Intel 82557 or 82559) </Para></ListItem> +<ListItem><Para> PK: SCSI port (controller) </Para></ListItem> +<ListItem><Para> DK: SCSI disk </Para></ListItem> +<ListItem><Para> MK: SCSI tape </Para></ListItem> +<ListItem><Para> PU: DSSI port </Para></ListItem> +<ListItem><Para> DU: DSSI disk </Para></ListItem> +<ListItem><Para> MU: DSSI tape </Para></ListItem> +<ListItem><Para> JK: SCSI monitor (or robot) </Para></ListItem> +<ListItem><Para> DQ: (E)IDE Device (disk or CD-ROM)</Para></ListItem> +</ItemizedList> +</Para> +</Sect2> +<Sect2> +<Title>The Rest Of The Device Name</Title> +<Para> + +<ItemizedList> +<ListItem><Para> + b->adapter ID (one letter adapter designator)</Para></ListItem> + +<ListItem><Para> + 1->Device number (SCSI unit numbers are forced to 100x Node ID)</Para></ListItem> + +<ListItem><Para> + 2->Bus Node ID</Para></ListItem> + +<ListItem><Para> + 3->Channel Number</Para></ListItem> + +<ListItem><Para> + 4->Channel Number (used for multi-channel devices)</Para></ListItem> + +<ListItem><Para> + 5->Logical Slot number + + <ItemizedList> + <ListItem><Para>EISA: they correspond to the physical slot numbers (1-3)</Para></ListItem> + <ListItem><Para>PCI:</Para> + <ItemizedList> + <ListItem><Para>slot 5= SCSI controller on system backplane (DS3300)</Para></ListItem> + <ListItem><Para>slot 6= On board VGA (DS3300)</Para></ListItem> + <ListItem><Para>slot 7= PCI to EISA bridge chip (DS3300)</Para></ListItem> + <ListItem><Para>slots 11 - 14 = Correspond to Physical PCI option slots: + PCI11, PCI12, PCI13 and PCI14 (64bit) (DS3300)</Para></ListItem> + </ItemizedList> + </ListItem> + </ItemizedList> +</Para> +</ListItem> +<ListItem><Para> + 6->Hose number: 0 PCI_0 (32bit PCI); 1 EISA (DS3300)</Para></ListItem> + +</ItemizedList> +</Para> +</Sect2> +</Sect1> + + +<Sect1 id="SRM-rawloader"> +<Title>The Raw Loader</Title> + +<Para> +The sources for this loader can be found in directory +<filename>arch/alpha/boot</filename> of the Linux kernel source +distribution. It loads the Linux kernel by reading +<varname>START_SIZE</varname> bytes starting at disk offset +<varname>BOOT_SIZE</varname><Literal remap="tt">+512</Literal> +(also in bytes). The constants +<varname>START_SIZE</varname> and <varname>BOOT_SIZE</varname> +are defined in +<filename>linux/include/asm-alpha/system.h</filename>. +<varname>START_SIZE</varname> +must be at least as big as the kernel image (i.e., the size of the +<Literal remap="tt">.text</Literal>, <Literal remap="tt">.data</Literal>, and <Literal remap="tt">.bss</Literal> segments). Similarly, +<varname>BOOT_SIZE</varname> must be at least as big as the image of the +raw bootstrap loader. Both constants should be an integer multiple of the +sector size, which is 512 bytes. The default values are currently 2MB +for <varname>START_SIZE</varname> and 16KB for +<varname>BOOT_SIZE</varname>. Note +that if you want to boot from a 1.44MB floppy disk, you have to reduce +<varname>START_SIZE</varname> to 1400KB and make sure that the kernel you +want to boot is no bigger than that. +</Para> + +<Para> +To build a raw loader, simply type <command>make rawboot</command> in the top +directory of your linux source tree (typically +<filename>/usr/src/linux</filename>). This should produce the following files +in <filename>arch/alpha/boot</filename>: +</Para> + +<Para> +<VariableList> + +<VarListEntry> +<Term><filename>tools/lxboot</filename>:</Term> +<ListItem> +<Para> +The first +sector on the disk. It contains the offset and size of +the next file in the format described above. +</Para> +</Listitem> +</VarListEntry> +<VarListEntry> +<Term><filename>tools/bootlx</filename>:</Term> +<ListItem> +<Para> +The raw boot loader that +will load the file below. +</Para> +</Listitem> +</VarListEntry> +<VarListEntry> +<Term><filename>vmlinux.nh</filename>:</Term> +<ListItem> +<Para> +The raw kernel image consisting of +the <Literal remap="tt">.text</Literal>, <Literal remap="tt">.data</Literal>, and <Literal remap="tt">.bss</Literal> segments of the +object file in <Literal remap="tt">/usr/src/linux/vmlinux</Literal>. The +extension <Literal remap="tt">.nh</Literal> indicates that this file has no object-file +header. +</Para> +</Listitem> +</VarListEntry> +</VariableList> +</Para> + +<Para> +The concatenation of these three files should be written to the +disk from which you want to boot. For example, to boot from a floppy, +insert an empty floppy disk in, say, <filename>/dev/fd0</filename> and then type: + +<Screen> +# cat tools/lxboot tools/bootlx vmlinux >/dev/fd0 +</Screen> + +</Para> + +<Para> +You can then shutdown the system and boot from the floppy by +issuing the command <command>boot dva0</command>. +</Para> + +</Sect1> + +<Sect1 id="SRM-aboot"> +<Title>The aboot Loader</Title> + +<Para> +When using the SRM firmware, <Literal remap="tt">aboot</Literal> is the preferred way of +booting Linux. It supports: +</Para> + +<Para> + +<ItemizedList> +<ListItem> + +<Para> + direct booting from various filesystems (<Literal remap="tt">ext2</Literal>, <Literal remap="tt">ISO9660</Literal>, and +<Literal remap="tt">UFS</Literal>, the <productname>HP Tru64</productname> filesystem) +</Para> +</ListItem> +<ListItem> + +<Para> + listing directories and following symbolic links on ext2 (version 0.6 and later) +</Para> +</ListItem> +<ListItem> + +<Para> + booting of executable object files (both ELF and ECOFF) +</Para> +</ListItem> +<ListItem> + +<Para> + booting compressed kernels +</Para> +</ListItem> +<ListItem> + +<Para> + network booting (using bootp) +</Para> +</ListItem> +<ListItem> + +<Para> + partition tables in <productname>HP Tru64</productname> format (which is +compatible with BSD Unix partition tables) +</Para> +</ListItem> +<ListItem> + +<Para> + interactive booting and default configurations for +SRM consoles that cannot pass long option strings +</Para> +</ListItem> + +<ListItem> + +<Para> + load initrd images to load modules at boot time (0.7 and later) +</Para> +</ListItem> + +</ItemizedList> + +</Para> + +<Sect2> +<Title>Getting and Building aboot</Title> + +<Para> +The latest sources for <Literal remap="tt">aboot</Literal> are available from <ULink +URL="http://www.sf.net/projects/aboot" +>Sourceforge</ULink>. They can +also be obtained via anonymous CVS from www.sf.net, to get the latest version from CVS use these commands: +<Screen> +bash# cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aboot login +bash# cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/aboot co aboot +</Screen> +(Note there is no password for the CVS login, just press enter) +</Para> + +<Para> +The description in this manual applies to <Literal remap="tt">aboot</Literal> version 0.6 +or newer. Please note that many distributions ship aboot with them so +downloading aboot from this directory is probably not neccesary. +</Para> + +<Para> + Once you downloaded and extracted the latest tar file, take a +look at the <filename>README</filename> and <filename>INSTALL</filename> files +for installation hints. In particular, be sure to adjust the variables in +<filename>Makefile</filename> and in <filename>include/config.h</filename> +to match your +environment. Normally, you won't need to change anything when +building under Linux, but it is always a good idea to double check. +If you're satisfied with the configuration, simply type <command>make</command> +to build it (if you're not building under Linux, be advised that +<Literal remap="tt">aboot</Literal> requires GNU <Literal remap="tt">make</Literal>). +</Para> + +<Para> +After running <Literal remap="tt">make</Literal>, the <filename>aboot</filename> +directory should contain the following files: +</Para> + +<Para> +<VariableList> + +<VarListEntry> +<Term><filename>aboot</filename></Term> +<ListItem> +<Para> +This is the actual <Literal remap="tt">aboot</Literal> executable (either an +ECOFF or ELF object file). +</Para> +</Listitem> +</VarListEntry> +<VarListEntry> +<Term><filename>bootlx</filename></Term> +<ListItem> +<Para> +Same as above, but it contains only the text, data +and bss segments ‐ that is, this file is not an object file. +</Para> +</Listitem> +</VarListEntry> +<VarListEntry> +<Term><filename>sdisklabel/swriteboot</filename></Term> +<ListItem> +<Para> +Utility to install <Literal remap="tt">aboot</Literal> on a +hard disk. +</Para> +</Listitem> +</VarListEntry> +<VarListEntry> +<Term><filename>tools/e2writeboot</filename></Term> +<ListItem> +<Para> +Utility to install <Literal remap="tt">aboot</Literal> on an ext2 +filesystem (usually used for floppies only). +</Para> +</Listitem> +</VarListEntry> +<VarListEntry> +<Term><filename>tools/isomarkboot</filename></Term> +<ListItem> +<Para> +Utility to install <Literal remap="tt">aboot</Literal> on a iso9660 +filesystem (used by CD-ROM distributors). +</Para> +</Listitem> +</VarListEntry> +<VarListEntry> +<Term><filename>tools/abootconf</filename></Term> +<ListItem> +<Para> +Utility to configure an installed <Literal remap="tt">aboot</Literal>. +</Para> +</Listitem> +</VarListEntry> +</VariableList> +</Para> + +</Sect2> + +<Sect2> +<Title>Floppy Installation</Title> + +<Para> + The bootloader can be installed on a floppy using the +<command>e2writeboot</command> command (note: this can't be done on a Jensen +since +its firmware does <Emphasis>not</Emphasis> support booting from floppy). This command +requires that the disk is not overly fragmented as it needs to find +enough contiguous file blocks to store the entire <Literal remap="tt">aboot</Literal> image +(currently about 90KB). If <command>e2writeboot</command> fails because of this, +reformat the floppy and try again (e.g., with <command>fdformat</command>(1)). +For +example, the following steps install <Literal remap="tt">aboot</Literal> on floppy disk +assuming the floppy is in drive <filename>/dev/fd0</filename>: + +<Screen> +# fdformat /dev/fd0 +# mke2fs /dev/fd0 +# e2writeboot /dev/fd0 bootlx +</Screen> + +</Para> + +</Sect2> + +<Sect2> +<Title>Harddisk Installation</Title> + +<Para> +Since the <command>e2writeboot</command> command may fail on highly fragmented +disks and since reformatting a harddisk is not without pain, it is +generally safer to install <Literal remap="tt">aboot</Literal> on a harddisk using the +<command>swriteboot</command> command. + |