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.