]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - stand/forth/menu.rc
sys/{x86,amd64}: remove one of doubled ;s
[FreeBSD/FreeBSD.git] / stand / forth / menu.rc
1 \ Menu.rc
2 \ $FreeBSD$
3 \
4 \ You should not edit this file! Put any overrides in menu.rc.local
5 \ instead as this file can be replaced during system updates.
6 \
7 \ Load required Forth modules
8 include /boot/version.4th
9 include /boot/brand.4th
10 include /boot/menu.4th
11 include /boot/menu-commands.4th
12 include /boot/shortcuts.4th
13
14 \ Screen prep
15 clear         \ clear the screen (see `screen.4th')
16 print_version \ print version string (bottom-right; see `version.4th')
17 draw-beastie  \ draw freebsd mascot (on right; see `beastie.4th')
18 draw-brand    \ draw the FreeBSD title (top-left; see `brand.4th')
19 menu-init     \ initialize the menu area (see `menu.4th')
20
21 \ Initialize main menu constructs (see `menu.4th')
22 \ NOTE: To use `non-ansi' variants, add `loader_color=0' to loader.conf(5)
23 \ NOTE: ANSI variants can use `^' in place of literal `Esc' (ASCII 27)
24
25
26 \ MAIN MENU
27
28
29 set menuset_name1="main"
30
31 set mainmenu_init[1]="init_boot"
32 set mainmenu_caption[1]="Boot Multi User [Enter]"
33 set maintoggled_text[1]="Boot [S]ingle User [Enter]"
34 set mainmenu_command[1]="boot"
35 set mainansi_caption[1]="^[1mB^[moot Multi User ^[1m[Enter]^[m"
36 set maintoggled_ansi[1]="Boot ^[1mS^[mingle User ^[1m[Enter]^[m"
37 \ keycode set by init_boot
38
39 set mainmenu_init[2]="init_altboot"
40 set mainmenu_caption[2]="Boot [S]ingle User"
41 set maintoggled_text[2]="Boot [M]ulti User"
42 set mainmenu_command[2]="altboot"
43 set mainansi_caption[2]="Boot ^[1mS^[mingle User"
44 set maintoggled_ansi[2]="Boot ^[1mM^[multi User"
45 \ keycode set by init_altboot
46
47 set mainmenu_caption[3]="[Esc]ape to loader prompt"
48 set mainmenu_command[3]="goto_prompt"
49 set mainmenu_keycode[3]=27
50 set mainansi_caption[3]="^[1mEsc^[mape to loader prompt"
51
52 \ Enable built-in "Reboot" trailing menuitem
53 \ NOTE: appears before menu_options if configured
54
55 set mainmenu_reboot
56
57 \ Enable "Options:" separator. When set to a numerical value (1-8), a visual
58 \ separator is inserted before that menuitem number.
59
60 set mainmenu_options=5
61
62 set mainmenu_kernel=5
63 set mainmenu_command[5]="cycle_kernel"
64 set mainmenu_keycode[5]=107
65
66 set mainmenu_caption[6]="Configure Boot [O]ptions..."
67 set mainmenu_command[6]="2 goto_menu"
68 set mainmenu_keycode[6]=111
69 set mainansi_caption[6]="Configure Boot ^[1mO^[mptions..."
70
71 s" currdev" getenv dup 0> [if] drop 4 s" zfs:" compare 0= [if]
72     set mainmenu_caption[7]="Select Boot [E]nvironment..."
73     set mainmenu_command[7]="3 goto_menu"
74     set mainmenu_keycode[7]=101
75     set mainansi_caption[7]="Select Boot ^[1mE^[37mnvironment..."
76
77     s" chain_disk" getenv? [if]
78         set mainmenu_caption[8]="Chain[L]oad ${chain_disk}"
79         set mainmenu_command[8]="chain ${chain_disk}"
80         set mainmenu_keycode[8]=108
81         set mainansi_caption[8]="Chain^[1mL^[moad ${chain_disk}"
82     [then]
83 [else]
84     s" chain_disk" getenv? [if]
85         set mainmenu_caption[7]="Chain[L]oad ${chain_disk}"
86         set mainmenu_command[7]="chain ${chain_disk}"
87         set mainmenu_keycode[7]=108
88         set mainansi_caption[7]="Chain^[1mL^[moad ${chain_disk}"
89     [then]
90 [then] [else] drop [then]
91
92
93
94 \ BOOT OPTIONS MENU
95
96
97 set menuset_name2="options"
98
99 set optionsmenu_caption[1]="Back to Main Menu [Backspace]"
100 set optionsmenu_command[1]="1 goto_menu"
101 set optionsmenu_keycode[1]=8
102 set optionsansi_caption[1]="Back to Main Menu ^[1m[Backspace]^[m"
103
104 set optionsmenu_caption[2]="Load System [D]efaults"
105 set optionsmenu_command[2]="set_default_boot_options"
106 set optionsmenu_keycode[2]=100
107 set optionsansi_caption[2]="Load System ^[1mD^[mefaults"
108
109 set optionsmenu_options=3
110 set optionsmenu_optionstext="Boot Options:"
111
112 set optionsmenu_acpi=3
113 set optionsmenu_caption[3]="[A]CPI Support off"
114 set optionstoggled_text[3]="[A]CPI Support On"
115 set optionsmenu_command[3]="toggle_acpi"
116 set optionsmenu_keycode[3]=97
117 set optionsansi_caption[3]="^[1mA^[mCPI Support ^[34;1mOff^[m"
118 set optionstoggled_ansi[3]="^[1mA^[mCPI Support ^[32;7mOn^[m"
119
120 set optionsmenu_init[4]="init_safemode"
121 set optionsmenu_caption[4]="Safe [M]ode... off"
122 set optionstoggled_text[4]="Safe [M]ode... On"
123 set optionsmenu_command[4]="toggle_safemode"
124 set optionsmenu_keycode[4]=109
125 set optionsansi_caption[4]="Safe ^[1mM^[mode... ^[34;1mOff^[m"
126 set optionstoggled_ansi[4]="Safe ^[1mM^[mode... ^[32;7mOn^[m"
127
128 set optionsmenu_init[5]="init_singleuser"
129 set optionsmenu_caption[5]="[S]ingle User. off"
130 set optionstoggled_text[5]="[S]ingle User. On"
131 set optionsmenu_command[5]="toggle_singleuser"
132 set optionsmenu_keycode[5]=115
133 set optionsansi_caption[5]="^[1mS^[mingle User. ^[34;1mOff^[m"
134 set optionstoggled_ansi[5]="^[1mS^[mingle User. ^[32;7mOn^[m"
135
136 set optionsmenu_init[6]="init_verbose"
137 set optionsmenu_caption[6]="[V]erbose..... off"
138 set optionstoggled_text[6]="[V]erbose..... On"
139 set optionsmenu_command[6]="toggle_verbose"
140 set optionsmenu_keycode[6]=118
141 set optionsansi_caption[6]="^[1mV^[merbose..... ^[34;1mOff^[m"
142 set optionstoggled_ansi[6]="^[1mV^[merbose..... ^[32;7mOn^[m"
143
144
145 \ BOOT ENVIRONMENT MENU
146
147
148 set menuset_name3="bootenv"
149
150 set bemenu_current="Active: "
151 set beansi_current="^[1m${bemenu_current}^[m"
152 set bemenu_bootfs="bootfs: "
153 set beansi_bootfs="^[1m${bemenu_bootfs}^[m"
154 set bemenu_page="[P]age: "
155 set beansi_page="^[1mP^[mage: "
156 set bemenu_pageof=" of "
157 set beansi_pageof="${bemenu_pageof}"
158 set zfs_be_currpage=1
159
160 set bootenvmenu_init="init_bootenv"
161
162 set bootenvmenu_command[1]="be_draw_screen 1 goto_menu"
163 set bootenvmenu_keycode[1]=8
164
165 set bootenvmenu_command[2]="set_bootenv"
166 set bootenvmenu_keycode[2]=97
167 set bootenv_root[2]="${zfs_be_active}"
168
169 set bootenvmenu_command[3]="set_be_page"
170 set bootenvmenu_keycode[3]=112
171
172 set bootenvmenu_options=4
173 set bootenvmenu_optionstext="Boot Environments:"
174
175 \ Enable automatic booting (add ``autoboot_delay=N'' to loader.conf(5) to
176 \ customize the timeout; default is 10-seconds)
177
178 set menu_timeout_command="boot"
179
180 \ Include optional elements defined in a local file
181
182 try-include /boot/menu.rc.local
183
184 \ Initialize boot environment variables
185 \
186 s" reloadbe" sfind ( xt|0 bool ) [if]
187     s" bootenv_autolist" getenv dup -1 = [if]
188         drop s" execute" evaluate               \ Use evaluate to avoid passing
189                                                 \ reloadbe an optional parameter
190     [else]
191         s" YES" compare-insensitive 0= [if]
192             s" execute" evaluate
193         [then]
194     [then]
195 [else]
196     drop ( xt=0 )
197 [then]
198
199 \ Display the main menu (see `menu.4th')
200 set menuset_initial=1
201 menuset-loadinitial
202 menu-display