INSTALLBOOT(8) BSD System Manager's Manual (i386) INSTALLBOOT(8)
installboot - installs a bootstrap on an FFS disk or partition
installboot [-Anv] [-s sectors-per-track] [-h tracks-per-cyl] [-P partition-type] boot bootxx disk
installboot is used to install a "first-stage" boot program into the boot area of an FFS disk partition, and initialize the table of block numbers the PBR program uses to load the second-stage boot program. The options are as follows: -A Tell bootxx to use automatic geometry detection. -n Do not actually write anything on the disk. -v Be verbose, printing out the LBA addresses that are to be stored in bootxx along with lots of other information. -s sectors-per-track Used to specify the sectors-per-track value if the drive has sector translation activated, and installboot is unable to determine the translated geometry. If not specified, this de- faults to d_nsectors from the disklabel. If not specified, this defaults to the value retrieved from the BIOS at boot time, available via sysctl(8). If not available, automatic geometry detection is used. Valid are values from 1 to 63, inclusive. -h tracks-per-cyl Used to specify the tracks-per-cylinder value if the drive has sector translation activated, and installboot is unable to determine the translated geometry. If not specified, this de- faults to d_ntracks from the disklabel. If not specified, this defaults to the value retrieved from the BIOS at boot time, available via sysctl(8). If not available, automatic geometry detection is used. Valid are values from 1 to 256, inclusive. -P partition-type Use the partition-type value in decimal (on MirBSD also sede- cimal or octal values are allowed, provided they are prefixed with 0x or 0, respectively) as user-specified partition type to search before the standard 0x27 and the fallback 0xA6, 0xA9 and 0xA5 types. The arguments are: boot The name of the second-stage boot program in the mounted filesystem where the first-stage boot program is to be in- stalled. This should be a full pathname. bootxx The name of the prototype file for the first stage boot pro- gram, usually /usr/mdec/bootxx. disk The name of the disk containing the partition in which the second-stage boot program resides and the first-stage boot pro- gram is to be installed. This can either be specified in short form (i.e., 'sd0' or 'wd0'), or as the explicit raw device node, such as /dev/rsd0c or /dev/rwd0c. Note that you must be in single-user mode or have your kernel in insecure mode (see the sysctl(8) kern.securelevel variable or /etc/rc.securelevel) to enable access to the raw partition of a mounted disk. The 'c' partition is always used to represent the "entire" disk on i386.
The typical use is # cp /usr/mdec/boot /boot # /usr/mdec/installboot -v -n /boot /usr/mdec/bootxx wd0 And if the information supplied looks right, run the above without the -n flag. If you are upgrading an old system, you may need to preface the above steps with some more steps... and do the following: boot the floppy.fs filesystem floppy # fsck /dev/rsd0a # mount /dev/sd0a /mnt # cp /usr/mdec/boot /mnt/boot # /usr/mdec/installboot -v /mnt/boot /usr/mdec/bootxx sd0 If you need to find the BIOS geometry of the disk for -s and -h you can use the boot block command: boot> machine diskinfo Make a CD-ROM bootable for i386 (both as CD and as HD/CF/USB): getextent_cd9660 -f cdrom10.iso boot | \ mksh /usr/mdec/bootxx.sh -S 2 | \ dd of=cdrom10.iso conv=notrunc getextent_cd9660 -f cdrom10.iso boot | \ mksh /usr/mdec/bootxx.sh -B 11 | \ dd of=cdrom10.iso conv=notrunc bs=2048 \ seek=$(getextent_cd9660 -f cdrom10.iso -b '$BootImage$')
boot(8), disklabel(8), fdisk(8), init(8)
The -A option is supported by bootxx 0AA8 and up.
The disklabel d_type field must be set to a value of "4.2FFS". You cannot run installboot for a drive/partition other than the one you want the /boot to be loaded from. MirBSD #10-current October 7, 2018 1