Library /sys$common/syshlp/EFI$HELP.HLB  —  Examples
    This section describes various example sequences used with the
    EFI$CP package, and shows sequences similar to what is used to
    initialize the core bootstrap partition file, and the hardware
    diagnostic partition file.

1  –  Device

    EFI$CP permits access to OpenVMS I64 bootable device structures.
    The example shows use of the LD logical disk capabilities and a
    backing file, though EFI$CP operations with a device are entirely
    similar once the LD device is connected.

    This section contains both an example and a detailed description.

1.1  –  Example

 $ LD CREATE SYS$SCRATCH:LD.DAT/SIZE=2880
 $ LD CONNECT SYS$SCRATCH:LD.DAT LDA1:
 $ RUN SYS$SYSTEM:EFI$CP
 EFI$CP> initialize LDA1: EFI/NOLOG
 EFI$CP> mount LDA1: EFI/NOLOG
 EFI$CP> CREATE/DIRECTORY LDA1:\EFI\
 EFI$CP> CREATE/DIRECTORY LDA1:\EFI\VMS\
 EFI$CP> DISMOUNT LDA1:
 EFI$CP> EXIT

1.2  –  Description

    The example creates, connects, initializes and creates two
    directories on an LD logical disk device. The LD device size
    shown was explicitly chosen to match a common FAT12 floppy disk
    block size, per FAT12 requirements.

    This particular FAT12 volume is presently too small for the
    current OpenVMS I64 bootstrap files IPB.EXE and VMS_LOADER.EFI.

2  –  SYS$EFI.SYS

    SYS$EFI.SYS is the core bootstrap partition found on OpenVMS I64,
    and it is comprised of a FAT partition containing various files.

    The location of this file must be registered in the bootblock
    structures using the DCL command SET BOOTBLOCK or by invoking the
    sys$setboot.exe image.

    This section contains both an example and a detailed description.

2.1  –  Example

 $ RUN SYS$SYSTEM:EFI$CP
 EFI$CP> initialize sys$common:[sys$ldr]sys$efi.tmp -
   /device_alias=efi:/create/size=256000/contiguous -
   vmsefi /nolog
 EFI$CP> mount sys$common:[sys$ldr]sys$efi.tmp -
   /device_alias=efi: vmsefi
 %EFI-I-SEEKMBR, searching for Master Boot Record
 %EFI-I-ONEPART, single-
 partition volume; no Master Boot Record partitioning
 %EFI-I-SEEKBPB, searching for BIOS Parameter Block
 %EFI-I-SEEKBPBOK, valid BIOS Parameter Block detected
 %EFI-I-MOUNTED, FAT volume VMSEFI has been mounted
 -EFI-I-NOPARTITION, the target volume is not partitioned
 EFI$CP> CREATE/DIRECTORY EFI:\EFI\
 EFI$CP> CREATE/DIRECTORY EFI:\EFI\VMS\
 EFI$CP> COPY VMS_LOADER.EFI EFI:\EFI\VMS\
 EFI$CP> COPY IPB.EXE EFI:\EFI\VMS\
 EFI$CP> DISMOUNT EFI:
 EFI$CP> EXIT
 $ SET FILE/NOMOVE SYS$COMMON:[SYS$LDR]SYS$EFI.TMP
 $ SET BOOTBLOCK SYS$SYSDEVICE:/I64

2.2  –  Description

    The example creates, initializes and populates the SYS$EFI.TMP
    bootstrap partition with the two core directories and the two
    core files IPB.EXE and VMS_LOADER.EFI. (The actual bootstrap
    partition name is SYS$EFI.SYS.)

    The above example deliberately shows the hypothetical partition
    filename SYS$EFI.TMP and not the actual SYS$EFI.SYS partition
    filename. Corruption of the actual bootstrap partition will
    likely prevent OpenVMS I64 from bootstrapping.

    When a new bootable partition is created on the system disk or
    when an existing bootable partition is relocated on the system
    disk, use the SET BOOTBLOCK command or invoke the sys$setboot
    image directly to update the OpenVMS I64 bootblock and related
    structures accordingly. An existing bootable partition need not
    be re-registered, whether or not the partition contents have
    been modified. Use the SET FILE/NOMOVE command to prevent a
    defragmentation tool from erroneously relocating the file.

3  –  SYS$DIAGNOSTICS.SYS

    SYS$DIAGNOSTICS.SYS is an optional hardware diagnostics partition
    found on various OpenVMS I64 system disks. It is comprised of a
    FAT partition, potentially containing various diagnostics files.

    The location of this file must be registered in the bootblock
    structures using the DCL command SET BOOTBLOCK or by invoking
    the sys$setboot.exe image. If the file is deleted, then the
    bootblock must also be updated by invoking SET BOOTBLOCK or
    sys$setboot.exe.

    This section contains both an example and a detailed description.

3.1  –  Example

 $ RUN SYS$SYSTEM:EFI$CP
 EFI$CP> initialize sys$common:[sysmaint]sys$diagnostics.tmp -
   /device_alias=efidiag:/create/size=256000/contiguous -
   idiag /nolog
 EFI$CP> exit
 $ SET FILE/NOMOVE SYS$COMMON:[SYSMAINT]SYS$DIAGNOSTICS.TMP
 $ SET BOOTBLOCK SYS$SYSDEVICE:/I64

3.2  –  Description

    The example creates and initializes an empty hardware diagnostics
    partition SYS$DIAGNOSTICS.TMP within the cluster-common area of
    the target system disk. (The actual diagnostic partition name is
    SYS$DIAGNOSTICS.SYS.) The diagnostic partition is comprised of
    256,000 blocks, and is subsequently registered within the OpenVMS
    I64 bootblock structures using the DCL command SET BOOTBLOCK.

    As with the SYS$EFI.SYS example, this example deliberately shows
    the hypothetical partition filename SYS$DIAGNOSTICS.TMP and not
    the actual partition SYS$DIAGNOSTICS.SYS partition filename.
    Use of the actual partition name would replace any existing
    diagnostics partition.

    When a new diagnostic partition is created, or is relocated on
    the system disk, or is deleted, use the SET BOOTBLOCK command
    or invoke the sys$setboot image directly to update the OpenVMS
    I64 bootblock and related structures accordingly. Use the SET
    FILE/NOMOVE command to prevent a defragmentation tool from
    erroneously relocating the file.
Close Help