menu.rc revision 293802
1\ Menu.rc 2\ $FreeBSD: stable/10/sys/boot/forth/menu.rc 293802 2016-01-13 01:50:02Z allanjude $ 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 8include /boot/version.4th 9include /boot/brand.4th 10include /boot/menu.4th 11include /boot/menu-commands.4th 12include /boot/shortcuts.4th 13 14\ Screen prep 15clear \ clear the screen (see `screen.4th') 16print_version \ print version string (bottom-right; see `version.4th') 17draw-beastie \ draw freebsd mascot (on right; see `beastie.4th') 18draw-brand \ draw the FreeBSD title (top-left; see `brand.4th') 19menu-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 29set menuset_name1="main" 30 31set mainmenu_init[1]="init_boot" 32set mainmenu_caption[1]="Boot Multi User [Enter]" 33set maintoggled_text[1]="Boot [S]ingle User [Enter]" 34set mainmenu_command[1]="boot" 35set mainansi_caption[1]="^[1mB^[moot Multi User ^[1m[Enter]^[m" 36set maintoggled_ansi[1]="Boot ^[1mS^[mingle User ^[1m[Enter]^[m" 37\ keycode set by init_boot 38 39set mainmenu_init[2]="init_altboot" 40set mainmenu_caption[2]="Boot [S]ingle User" 41set maintoggled_text[2]="Boot [M]ulti User" 42set mainmenu_command[2]="altboot" 43set mainansi_caption[2]="Boot ^[1mS^[mingle User" 44set maintoggled_ansi[2]="Boot ^[1mM^[multi User" 45\ keycode set by init_altboot 46 47set mainmenu_caption[3]="[Esc]ape to loader prompt" 48set mainmenu_command[3]="goto_prompt" 49set mainmenu_keycode[3]=27 50set 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\ 55set 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\ 60set mainmenu_options=5 61 62set mainmenu_kernel=5 63set mainmenu_command[5]="cycle_kernel" 64set mainmenu_keycode[5]=107 65 66set mainmenu_caption[6]="Configure Boot [O]ptions..." 67set mainmenu_command[6]="2 goto_menu" 68set mainmenu_keycode[6]=111 69set mainansi_caption[6]="Configure Boot ^[1mO^[mptions..." 70 71s" 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[then] [else] drop [then] 77 78\ 79\ BOOT OPTIONS MENU 80\ 81 82set menuset_name2="options" 83 84set optionsmenu_caption[1]="Back to Main Menu [Backspace]" 85set optionsmenu_command[1]="1 goto_menu" 86set optionsmenu_keycode[1]=8 87set optionsansi_caption[1]="Back to Main Menu ^[1m[Backspace]^[m" 88 89set optionsmenu_caption[2]="Load System [D]efaults" 90set optionsmenu_command[2]="set_default_boot_options" 91set optionsmenu_keycode[2]=100 92set optionsansi_caption[2]="Load System ^[1mD^[mefaults" 93 94set optionsmenu_options=3 95set optionsmenu_optionstext="Boot Options:" 96 97set optionsmenu_acpi=3 98set optionsmenu_caption[3]="[A]CPI Support off" 99set optionstoggled_text[3]="[A]CPI Support On" 100set optionsmenu_command[3]="toggle_acpi" 101set optionsmenu_keycode[3]=97 102set optionsansi_caption[3]="^[1mA^[mCPI Support ^[34;1mOff^[m" 103set optionstoggled_ansi[3]="^[1mA^[mCPI Support ^[32;7mOn^[m" 104 105set optionsmenu_init[4]="init_safemode" 106set optionsmenu_caption[4]="Safe [M]ode... off" 107set optionstoggled_text[4]="Safe [M]ode... On" 108set optionsmenu_command[4]="toggle_safemode" 109set optionsmenu_keycode[4]=109 110set optionsansi_caption[4]="Safe ^[1mM^[mode... ^[34;1mOff^[m" 111set optionstoggled_ansi[4]="Safe ^[1mM^[mode... ^[32;7mOn^[m" 112 113set optionsmenu_init[5]="init_singleuser" 114set optionsmenu_caption[5]="[S]ingle User. off" 115set optionstoggled_text[5]="[S]ingle User. On" 116set optionsmenu_command[5]="toggle_singleuser" 117set optionsmenu_keycode[5]=115 118set optionsansi_caption[5]="^[1mS^[mingle User. ^[34;1mOff^[m" 119set optionstoggled_ansi[5]="^[1mS^[mingle User. ^[32;7mOn^[m" 120 121set optionsmenu_init[6]="init_verbose" 122set optionsmenu_caption[6]="[V]erbose..... off" 123set optionstoggled_text[6]="[V]erbose..... On" 124set optionsmenu_command[6]="toggle_verbose" 125set optionsmenu_keycode[6]=118 126set optionsansi_caption[6]="^[1mV^[merbose..... ^[34;1mOff^[m" 127set optionstoggled_ansi[6]="^[1mV^[merbose..... ^[32;7mOn^[m" 128 129\ 130\ BOOT ENVIRONMENT MENU 131\ 132 133set menuset_name3="bootenv" 134 135set bemenu_current="Active: " 136set beansi_current="^[1m${bemenu_current}^[m" 137set bemenu_bootfs="bootfs: " 138set beansi_bootfs="^[1m${bemenu_bootfs}^[m" 139set bemenu_page="[P]age: " 140set beansi_page="^[1mP^[mage: " 141set bemenu_pageof=" of " 142set beansi_pageof="${bemenu_pageof}" 143set zfs_be_currpage=1 144 145set bootenvmenu_init="init_bootenv" 146 147set bootenvmenu_command[1]="be_draw_screen 1 goto_menu" 148set bootenvmenu_keycode[1]=8 149 150set bootenvmenu_command[2]="set_bootenv" 151set bootenvmenu_keycode[2]=97 152set bootenv_root[2]="${zfs_be_active}" 153 154set bootenvmenu_command[3]="set_be_page" 155set bootenvmenu_keycode[3]=112 156 157set bootenvmenu_options=4 158set bootenvmenu_optionstext="Boot Environments:" 159 160\ Enable automatic booting (add ``autoboot_delay=N'' to loader.conf(5) to 161\ customize the timeout; default is 10-seconds) 162\ 163set menu_timeout_command="boot" 164 165\ Include optional elements defined in a local file 166\ 167try-include /boot/menu.rc.local 168 169\ Initialize boot environment variables 170\ 171s" reloadbe" sfind ( xt|0 bool ) [if] 172 s" bootenv_autolist" getenv dup -1 = [if] 173 drop s" execute" evaluate \ Use evaluate to avoid passing 174 \ reloadbe an optional parameter 175 [else] 176 s" YES" compare-insensitive 0= [if] 177 s" execute" evaluate 178 [then] 179 [then] 180[else] 181 drop ( xt=0 ) 182[then] 183 184\ Display the main menu (see `menu.4th') 185set menuset_initial=1 186menuset-loadinitial 187menu-display 188