bosboot Command

Purpose

Creates boot image.

Syntax

For General Use:

bosboot -Action [ -d Device ] [ -Options ... ]

To Create a Device Boot Image:

bosboot {-a -v} [-d Device] [-p Proto] [-k Kernel] [-I|-D] [-l LVdev] [ -L] [-M { primary| standby|both }] [ -T Type] [ -b FileName ] [ -q]

Description

The bosboot command creates the boot image that interfaces with the machine boot ROS (Read-Only Storage) EPROM (Erasable Programmable Read-Only Memory).

The bosboot command creates a boot file (boot image) from a RAM (Random Access Memory) disk file system and a kernel. This boot image is transferred to a particular media that the ROS boot code recognizes. When the machine is powered on or rebooted, the ROS boot code loads the boot image from the media into memory. ROS then transfers control to the loaded images kernel.

The associated RAM disk file system contains device configuration routines that make the machine's devices and file systems available. The RAM disk file system contains differing configuration files depending upon the boot device. A mkfs prototype file is supplied for each type of device. (See note 6 below.) Currently supported devices are:

  • CD-ROM
  • Disk
  • Tape
  • Network

A network device may be a token ring, Ethernet, or Fiber-Distributed Data Interface (FDDI) used to boot from a network boot server over a local area network (LAN).

The boot image varies for each type of device booted and is compressed to fit on certain media and to lessen real memory requirements. The boot logical volume must be large enough for the boot image.

In addition to creating a boot image, the bosboot command always saves device configuration data for disk. It does not update the list of boot devices in the NVRAM (nonvolatile random access memory). You can modify the list with the bootlist command.

The bosboot command is usually called during the Base Operating System installation and by the updatep command when the operating system is upgraded.

Note:
  1. You must have root user authority to use the bosboot command.
  2. Do not reboot the machine if the bosboot command is unsuccessful with a message not to do so while creating a boot disk. The problem should be resolved and the bosboot command run to successful completion.
  3. The bosboot command requires some space in the /tmp file system and the file system where the target image is to reside, if there is such an image.
  4. The bosboot command requires that the specified physical disk contain the boot logical volume. To determine which disk device to specify, issue the following command:
    lsvg -M rootvg
    This command displays a map of all logical volumes. The default boot logical volume is hd5. Use the disk device that contains the boot logical volume.
  5. When the device is not specified with the -d flag, the bosboot command assumes the default device is the disk the system is booted from. However, if the prototype file is specified with a -p flag, the device must also be specified with a -d flag.
  6. The prototype file used by the bosboot command to build the RAM disk file system depends on the boot device and the hardware platform (sys0) type of the machine the boot image will run on.

    The hardware platform type is an abstraction which allows machines to be grouped according to fundamental configuration characteristics such as number of processors or I/O bus structure or both. Machines with different hardware platform types will have basic differences in the way their devices are dynamically configured at boot time. The hardware platform type rs6k in AIX® 5.1 and earlier applies to all Micro Channel-based uni-processor models through AIX 5.1 only. The type rs6ksmp applies to all Micro Channel-based symmetric multi-processor models through AIX 5.1 only. The type rspc in AIX 5.1 and earlier applies to all ISA-bus models. As new models are developed, their hardware platform types will either be one of the aforementioned types or, if fundamental configuration differences exist, new types will be defined. Boot images for a given boot device type will generally be different for machines with different hardware platform types.

    "The prototype file used by bosboot is constructed by starting with a copy of the base prototype file for the platform type and boot device (for example, /usr/lib/boot/chrp.disk.proto). Next the bosboot command looks at the pcfg file for the platform type being used (for example, /usr/lib/boot/chrp.pcfg). The pcfg file contains entries which bosboot uses in a template to search for proto extension files. These files, located in the directory /usr/lib/boot/protoext, provide extensions to the prototype file under construction. For example, if the platform type is chrp and the boot device is disk, and the file /usr/lib/boot/protoext/chrp.pcfg contains the following:
    scsi.
    chrp.
    chrp_lpar.
    fcp.
    graphics.
    ide.
    isa_sio.
    pci.
    ssa.
    sys.pci.
    tty.
    usbif.
    The bosboot command will start with the base prototype file /usr/lib/boot/chrp.disk.proto, and search the directory /usr/lib/boot/protoext for any files that match the template disk.proto.ext.scsi.*. The contents of these files are added to the prototype file under construction. Next, the contents of files matching the template /usr/lib/boot/protoext/disk.proto.ext.scsi.* are added to the prototype file under construction. This continues until all lines in the pcfg file have been processed. At this point the prototype file under construction is complete. The bosboot command passes this prototype file to the mkfs command which builds the RAM disk file system.
  7. The prototype files used by the BOSBOOT command to build boot images are dependent on the boot device. In addition, the prototype files are dependent on the system device type (sys0) of the machine for which the boot image is built.

    This is reflected in the names of these prototype files:

    /usr/lib/boot/chrp.disk.proto

    /usr/lib/boot/chrp.cd.proto

    /usr/lib/boot/chrp.tape.proto

    /usr/lib/boot/network/chrp.ent.proto

    /usr/lib/boot/network/chrp.tok.proto

    /usr/lib/boot/network/chrp.atm.proto

    /usr/lib/boot/network/chrp.fddi.proto

    The system device type is an abstraction that allows machines to be grouped according to fundamental configuration characteristics, such as number of processors and I/O bus structure. The system device is the highest-level device in the system node, which consists of all physical devices in the system.

    Machines with different system device types have basic differences in the way their devices are dynamically configured at boot time.

    The bosboot command, by default, uses the prototype file that matches the system device type of the machine executing the command. The -p option allows you to specify the system device type of the prototype file.

  8. If the boot disk is removed from a running system, thus leaving the system operating from a replacement copy of that disk, you may experience an error message when you run the bosboot command. The error message states that the boot logical volume does not exist on the disk. This happens because the bosboot command, when called without the -d argument, defaults to the disk that the system most recently booted from. In this scenario, since that disk is no longer available, you will need to call the bosboot command with the -d argument, and the name of the disk on which the boot logical volume now resides. This provides the bosboot command with the information that is needed for identifying the new location of the boot image.

Flags

Item Description
-d device Specifies the boot device. This flag is optional for hard disk.

The following flags are action flags. One and only one flag must be specified.

Item Description
-a Creates complete boot image and device.
-v Verify, but do not build boot image.

The following flags are option flags:

Item Description
-b FileName Uses specified file name as the boot image name. This flag is optional.
-D Loads the low level debugger. This flag is optional.
-I (upper case i) Loads and invokes the low-level debugger. This flag is optional.
-k Kernel Uses the specified kernel file for the boot image. This flag is optional, and if not specified, /unix is the default.
-L Enables lock instrumentation for MP systems. This flag has no effect on systems that are not using the MP kernel.
-l (lower case L) LVDev Uses target boot logical volume for boot image. This flag is optional.
-M primary|standby|both Specifies which boot pointer table entry to update. The options are:
primary
Specifies the table entry that was most recently used.
standby
Specifies the table entry that was not most recently used.
both
Specifies both boot pointer table entries.
-p Proto Uses the specified prototype file for the RAM disk file system. This flag is optional.
-q Determines how much disk space is required in which file system to create the boot image. Boot image is not created. This flag is optional.
-T Type Specifies the hardware platform type (see note 6). This causes the bosboot command to create a boot image for the hardware platform type specified. If the type is not specified, the bosboot command creates a boot image whose hardware platform type matches that of the currently running machine. This flag is optional.

Security

Access Control: Only the root user can read and execute this command.

Examples

  1. To create a boot image on the default boot logical volume on the fixed disk from which the system is booted, type:
    bosboot -a
  2. To create a bootable image called /tmp/tape.bootimage for a tape device, type:
    bosboot -ad /dev/rmt0 -b /tmp/tape.bootimage
  3. To create a boot image file for an Ethernet boot, type:
    bosboot -ad /dev/ent0
  4. To create a token ring boot image for a machine whose hardware platform type is chrp while you are running on a machine whose hardware platform type is chrp, type:
    bosboot -ad /dev/tok -T chrp

Files

Item Description
/usr/sbin/mkboot Specifies boot creation routine.
/usr/lib/boot/chrp.disk.proto Specifies the disk RAM file system template.
/usr/lib/boot/chrp.cd.proto Specifies the CD-ROM RAM file system template.
/usr/lib/boot/chrp.tape.proto Specifies the tape RAM file system template.
/usr/lib/boot/network/chrp.ent.proto Specifies the Ethernet RAM file system template.
/usr/lib/boot/network/chrp.tok.proto Specifies the token-ring RAM file system template.
/usr/lib/boot/network/chrp.atm.proto Specifies the ATM file system template.
/usr/lib/boot/network/chrp.fddi.proto Specifies the FDDI RAM file system template.