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 用户才能读取和执行该命令。
示例
- 要使用内核 /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 - 要清除引导记录但保留磁盘 hdisk0的 PVID ,请输入:
mkboot -d /dev/hdisk0 -c - 虽然 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 | 指定引导记录的结构。 |