menu.4th.8

MENU.4TH(8)

MENU.4TH(8)

FreeBSD System Manager's Manual

MENU.4TH(8)

menu.4th

FreeBSD 动态菜单引导模块

名为 menu.4th 的文件是一组命令,旨在显示通过精心命名的环境变量系统管理的动态菜单系统。 menu.4th 本身的命令对于大多数用途来说是不够的。 请参阅下面的示例了解最常见的情况,并参阅 loader(8) 了解其他命令。 在使用菜单中提供的任何命令之前。

在使用 menu.4th 中提供的任何命令之前,必须通过命令包含它:

include menu.4th

此行存在于默认的 /boot/menu.rc 文件中,因此在正常设置中不需要(也不应该重新发布)。

它提供的命令是:

menu-init

绘制菜单边界框并初始化一些内部状态变量。 这应该在任何其他与菜单相关的功能之前调用。

menu-display

显示菜单(通过以下记录的环境变量配置)和键盘输入块,等待用户操作。

menu-erase

清除菜单边界框内的屏幕区域。

menu-redraw

调用 menu-erase 然后重绘菜单。

menu-unset

取消设置与单个菜单项关联的环境变量,为新菜单扫清道路。

menu-clear

调用 menu-unset 然后 menu-erase

影响其行为的环境变量是:

loader_color

如果设置为 “NO” (不区分大小写)或 “0” ,则菜单显示为无颜色。 默认设置是尽可能使用 ANSI 着色。 如果启用串行引导,则默认禁用颜色。 颜色功能包括对出现在菜单项左侧的数字使用 ANSI 粗体,以及使用下面描述的特殊 “ansi” 变量。

autoboot_delay

执行 menu_timeout_command (boot 启动)之前 menu-display 将等待的秒数,除非按下某个键。 如果设置为 “NO” (不区分大小写), menu-display 将等待用户输入并且从不执行 menu_timeout_command 。 如果设置为 “-1”, menu-display 将立即启动,防止 autoboot 动过程中断和逃到加载程序提示符。 默认为 “10” 。 有关其他信息,请参阅 loader(8) 。

menu_timeout_command

如果未按下键,则在 autoboot_delay 秒后执行的命令。 默认为 boot

loader_menu_frame

设置所需的框样式以围绕启动菜单进行绘制。 可能的值为: “single” (默认值), “double”, 和 “none” 。

loader_menu_timeout_x

设置超时倒计时文本的所需列位置。 默认值为 4。

loader_menu_timeout_y

设置超时倒计时文本的所需行位置。 默认值为 23。

loader_menu_title

显示在菜单上方的文本。 默认为 “Welcome to FreeBSD” 。

loader_menu_title_align

默认是在菜单上方居中对齐 loader_menu_title 。 这可以设置为 “left” 或 “right” 来代替显示标题左对齐或右对齐 (分别) 。

loader_menu_x

设置引导菜单的所需列位置。默认值为 5。

loader_menu_y

设置引导菜单的所需行位置。默认值为 10。

menu_caption[x]

要为编号菜单项 “x” 显示的文本。

menu_command[x]

当按下与菜单项 “x” 相关的数字时要执行的命令。 有关一些想法,请参阅下面包含的 FICL 单词列表。

menu_keycode[x]

与菜单项 “x” 关联的可选十进制 ASCII 键码。 按下时,将导致执行 menu_command[x] 。

ansi_caption[x]

如果 loader_color 已设置 (默认启用) ,请将此标题用于菜单项 “x” 而不是 menu_caption[x] 。

toggled_text[x]

对于 menu_command[x] 设置为 “toggle_menuitem” (或其派生项)的菜单项,显示的文本将在此和 menu_caption[x] 之间切换。

toggled_ansi[x]

与 toggled_text[x] 类似,但在启用 loader_color 时使用 (默认) 。

menu_caption[x][y]

对于 menu_command[x] 设置为 “cycle_menuitem” (或其派生项)的菜单项,显示的文本将在此和其他 menu_caption[x][y] 条目之间循环。

ansi_caption[x][y]

与 menu_caption[x][y] 类似,但在启用 loader_color 时使用 (默认) 。

menu_acpi

当设置为与给定菜单项关联的数字 “x” 时,该菜单项仅在 i386 兼容硬件上运行时才会出现, hint.acpi.0.rsdp 已设置(指示加载程序检测到硬件 ACPI 支持的 loader(8) ),并且未设置 hint.acpi.0.disabled 。 在非 i386 硬件上,在 “menu_acpi” 菜单项之后配置的菜单项将使用较小的数字(以补偿缺少的 ACPI 菜单项)但继续按预期运行。 在缺少 ACPI 支持的 i386 兼容硬件上(由 loader(8) 检测到),后续菜单项将保留其关联的编号。

hint.acpi.0.rsdp

在启动时检测到 ACPI 支持时,由 i386 兼容硬件上的 loader(8) 自动设置。影响 “menu_acpi” 菜单项的显示(如果已配置)。

hint.acpi.0.disabled

影响 menu_acpi 菜单项的显示。 如果设置,菜单项将显示 toggled_text[x] (如果设置了 loader_color ,则为 toggled_ansi[x] ), 否则为 menu_caption[x] (如果设置了 loader_color ,则为 ansi_caption[x] )。

menu_options

当设置为数字 “x” 时,会在 menu_caption[x-1] 和 menu_caption[x] (如果已配置)之间插入一个空白行和一个 “Options” 标题。

menu_reboot

如果设置,将内置的 “Reboot” 菜单项添加到最后配置的菜单项的末尾。 如果配置了 menu_options ,则 “Reboot” 菜单项将插入 “Options” 分隔符之前。

此外,它还提供以下 FICL 字词:

arch-i386? (-- BOOL)

在 i386 上返回 true (-1),否则返回 false (0)。

acpipresent? (-- BOOL)

如果存在 ACPI,则返回 true (-1),否则返回 false (0)。

acpienabled? (-- BOOL)

如果启用 ACPI,则返回 true (-1),否则返回 false (0)。

toggle_menuitem (N -- N)

在 menu_caption[x] 和 toggled_text[x] 之间切换菜单项 “N” (其中 “N” 表示 “x” 的 ASCII 十进制值)。

cycle_menuitem (N -- N)

在 menu_caption[x][y] 条目之间循环 menuitem “N” (其中 N 表示 x 的 ASCII 十进制值)。

对于上述 “x” 的所有值,请使用 1 到 9 之间的任意数字。 抱歉,目前不支持两位数。

/boot/loader

loader(8) 。

/boot/menu.4th

menu.4th 本身。

/boot/loader.rc

loader(8) 引导脚本。

一个简单的启动菜单:

include /boot/menu.4th menu-init set menu_caption[1]="Boot" set menu_command[1]="boot" set menu_options=2 set menu_caption[2]="Option: NO" set toggled_text[2]="Option: YES" set menu_command[2]="toggle_menuitem" set menu_timeout_command="boot" set menu_reboot menu-display

loader.conf(5), beastie.4th(8), loader(8), loader.4th(8)

menu.4th 指令集最早出现在 FreeBSD 9.0 中。

menu.4th 命令集由 Devin Teske ⟨dteske@FreeBSD.org⟩ 编写。

August 6, 2013

FreeBSD 13.1-RELEASE

最后更新于

FreeBSD 中文社区