/platform/i86pc/multiboot 程序是一个 ELF32 可执行程序,包含在多引导规范中定义的信息头。
多引导程序负责执行以下任务:
解释引导归档文件的内容
自动检测具备 64 位计算能力的系统
选择用于引导系统的最佳内核模式
在内存中汇编核心内核模块
将系统控制权转交给 Solaris 内核
内核获得系统控制权后,便会对 CPU、内存和设备子系统进行初始化。随后,内核会挂载引导设备,该设备与在 /boot/solaris/bootenv.rc 文件中指定的 bootpath 和 fstype 属性对应。此文件是引导归档文件的一部分。如果没有在 bootenv.rc 文件或 GRUB 命令行中指定这些属性,则根文件系统将缺省为 /devices/ramdisk:a 上的 UFS。引导安装 miniroot 时,根文件系统将缺省为 UFS。挂载引导设备后,内核将对 sched 和 init 命令进行初始化。这些命令可以启动服务管理工具 (Service Management Facility, SMF) 服务。