mkboot 命令

用途

创建引导映像、引导记录和服务记录。 此命令并非用户级别命令且不受支持。

语法

mkboot -d 设备 [ -b ] [ -D ] [ -c ] [ -h ] [ -i ] [ -I ] [ -l LVDev ] { -k Kernel | -e 扩展器 } [ -L] [ -s ] [ -r ] [ -p Offset ] [ -w ] -f FileSystem

描述

mkboot 命令将内核和文件系统结合到引导映像中。 将作为结果的映像写入标准输出。 将它与相应的引导记录信息复制到一个引导设备上。 在映像的开始,可以带引导记录或不带引导记录创建压缩或非压缩的引导映像。 为磁带创建的映像与映像文件的开始处的引导记录一起压缩。 磁盘引导映像可以不用压缩而创建,也可以没有引导记录。 将引导记录写到磁盘的第一个扇区中。 记录包含关于映像被写到磁盘的引导逻辑卷之后的大小和位置信息。

如果引导逻辑卷已镜像,那么 mkboot 命令不仅将引导映像写到引导逻辑卷的每一个副本上,而且将引导记录写到相应镜像的每一个物理磁盘上。 只要 mkboot 命令能够更新镜像的引导一个逻辑卷的副本,就不会返回任何错误。 要启用镜像的引导逻辑卷的每一个副本上的引导,必须用 bootlist 命令指定每个物理磁盘。

mkboot 命令通常由 bosboot 命令调用。 然而,也可以再次运行 mkboot 命令来在压缩的引导映像的开始写入扩展代码。

标志

描述
-b 置零保存库字段。 此标志是可选的。
-d 设备 指定用于 IPL 记录的设备。 此标志是必需的。
-c 设备上的置零引导记录。 此标志是可选的。
-D 在引导时装入低级调试器。
-e 扩展器 指定内核扩展代码以创建压缩的引导映像文件。 必须指定 -e 标志或 -k 标志。
-f FileSystem 指定引导文件系统。 此标志是必需的。
-h 阻止 mkboot 命令更新引导头。 此标志是可选的。
-i 写入引导记录的正常部分。
-I(大写 i) 在引导时调用低级调试器。
-k 内核 指定引导映像的内核。 必须指定 -k 标志或 -e 标志。
-l (小写 L) LVDev 指定包含可装入引导代码的逻辑卷设备。
-L 为 MP 系统启用锁检测。 该标志对不使用 MP 内核的系统没有影响。
-p 偏移量 指定要用作boot_pr_start引导记录中的字段。 该标志在创建 CD-ROM 引导映像中使用。 此标志是可选的。
-r 创建一个只读存储器(ROS)仿真代码的映像。
-s 写入引导记录的服务部分。
-w 在引导映像前输出引导逻辑卷的前两个块。 该标志仅适用于磁盘引导映像。

安全性

访问控制:只有 root 用户才能读取和执行该命令。

示例

  1. 要使用内核 /usr/lib/boot/unix 和设备 /dev/hdisk0/tmp/bootfs 文件系统创建未压缩引导映像,请输入
    mkboot -d /dev/hdisk0 -k /usr/lib/boot/unix -f /tmp/bootfs \
    -b -i -s > /tmp/boot.image
  2. 要清除引导记录但保留磁盘 hdisk0的 PVID ,请输入:
    mkboot -d /dev/hdisk0 -c
  3. 虽然 mkboot 命令将内核和随机存取存储器 (RAM) 文件系统组合在一起以创建一个引导映像,但是您可以再次运行 mkboot 命令以将扩展代码放在压缩引导映像的开头。 例如, 输入:
    mkboot -b -d /dev/rmt0 -k unix -f ramfs | compress > /tmp/image
    mkboot -b -i -s -d /dev/rmt0 -k bootexpand -f /tmp/image \
    > bootfile
    对于可引导的磁带,其中:
    描述
    unix 指定内核。
    ramfs 指定 RAM 磁盘文件系统。
    compress 指定压缩或压缩例程。
    bootexpand 指定扩充或内核非压缩例程。

文件

描述
/usr/include/sys/bootrecord.h 指定引导记录的结构。