INSTALLBOOT(8)

NAME
installboot - install a bootstrap on an FFS filesystem partition

SYNOPSIS
/usr/mdec/installboot [-l newcommandline] bootblock device

DESCRIPTION
installboot copies the bootblock to a bootable partition. The bootstrap is written into the bootblock area on the partition, right in front of the superblock, and hence limited in size to 8192 bytes.

The bootstrap resides in the first few blocks on the partition (as specified by Commodore-Amiga Inc.) The bootstrap is loaded into memory by the ROM from bootable devices: RDB devices, where the partition is marked as bootable, or (not on the DraCo) floppy disks in Amiga format (880K/1760k).

In the presence of more than one bootable partition/floppy disk, the partition is chosen by the bootpriority (from the RDB), which can be overridden by the operator from the boot menu (on Amiga machines, hold down the outer mouse buttons during boot; on DraCo machines, press the left mouse button when prompted).

On RDB devices, the whole bootblock is loaded by the ROM. The number of boot blocks in the RDB partition entry must be correct.

On floppy disks, the ROM always loads the first two blocks (1024 bytes), and the bootblock allocates memory and loads the whole bootblock on startup.

After receiving control, the bootblock uses the stand-alone filesystem code in “libsa.a” to load the kernel from the filesystem on the partition it was started from. The code for the boot program can be found in /usr/mdec/bootxx_fd (floppy disk code), /usr/mdec/bootxx_ffsv1 (generic RDB disk code for FFSv1), or /usr/mdec/bootxx_ffsv2 (generic RDB disk code for FFSv2).

The arguments are:

-l newcommandline
    Specify a different command line to replace the default.

bootblock
    The file containing the bootblock (normally /usr/mdec/bootxx_ffsv1 or bootxx_ffsv2 for RDB devices).

device
    The name of the character special device specifying the partition on which the bootstrap is to be installed.

EXAMPLES
The following command will install the boot program for FFSv1 in the bootblock area on “sd0a”:

    installboot /usr/mdec/bootxx_ffsv1 /dev/rsd0a

SEE ALSO
dd(1), amiga/boot(8)

HISTORY
The installboot command first appeared in NetBSD 1.3.

BUGS
If installboot is accidentally used on the whole disk partition, the RDB will be overwritten, making your system unusable after the next reboot.

Some third-party accelerator boards are not autoconfiguring. You won't be able to use their memory when booting from the bootblock after a cold start.

Some third-party disk controllers don't support bootblock booting.

DraCo ROMs don't support bootblock booting from floppy disks.

Most 68060 boards, unlike the DraCo, don't set the SysBase->AttnFlags bit for the 68060 CPU (a patch program which is called during AmigaOS startup does this). You need to add options BB060STUPIDROM to your kernel to boot on such a machine.

There is currently no easy way to edit the RDB from within NetBSD. Therefore, you have to use HDTOOLBOX or a similar tool to set the partition to bootable, "use custom bootblocks" and the number of bootblocks to 16 (for bootxx_ffsv1 or bootxx_ffsv2) or 2 (for bootxx_fd), at least the first time you install the bootblock.

As normal dd(1) is used to install the bootblock, you can only install onto your currently used root (or any other mounted) partition from single-user mode, or while otherwise running in insecure mode.