Advanced head node boot options

Modified: 05 Jan 2021 04:46 UTC

Boot Options Menu

The SmartOS boot loader allows for the most commonly used boot parameters to be configured via an interactive menu. When the Triton head node boots the SmartOS boot loader will pause for 10 seconds at its main menu. Pressing any key will interrupt the autoboot process.

       #                                   
       #  ####  #   # ###### #    # #####  
       # #    #  # #  #      ##   #   #    
       # #    #   #   #####  # #  #   #    
 #     # #    #   #   #      #  # #   #    
 #     # #    #   #   #      #   ##   #    
  #####   ####    #   ###### #    #   #  TM

              Welcome to SmartOS

    1. Compute Node (PXE)                 
    2. Boot 20190204T130507Z              
    3. [Esc]ape to loader prompt          
    4. Reboot                             

    Options:                              
    5. Configure Boot [O]ptions...        

Press 5 to display the Boot Options menu:

       #                                   
       #  ####  #   # ###### #    # #####  
       # #    #  # #  #      ##   #   #    
       # #    #   #   #####  # #  #   #    
 #     # #    #   #   #      #  # #   #    
 #     # #    #   #   #      #   ##   #    
  #####   ####    #   ###### #    #   #  TM

              Welcome to SmartOS

    1. Back to Main Menu [Backspace]      

    Boot Options:                         
    2. OS [C]onsole.......... text        
    3. [V]erbose............. Off         
    4. k[m]db................ Off         
    5. [D]ebug............... Off         
    6. [R]escue Mode......... Off         

Boot configuration options

The following sections provide detail on each configurable boot option.

OS Console

By default, the OS redirects the console to ttyb for production environments. Press 2 to cycle through the choices to redictect the OS console. The valid values are:

Console Device Details
ttya First serial port
ttyb Second serial port
ttyc Third serial port
ttyd Fourth serial port
text VGA + Keyboard

Verbose

By default, informational messages sent to the console by the SmartOS kernel are suppressed. Toggling Verbose mode on disables this suppression. This is equivalent to passing the -v option to the kernel.

kmdb

kmdb is an acronym for Kernel Modular Debugger. Toggling kmdb on results in the kernel being loaded under the interactive kernel debugger. This is equivalent to passing the -k option to the kernel.

Debug

Toggling debug mode has two effects: It enables kmdb and it causes kmdb to drop to the debugger shell before loading the kernel. This can be used, for example, to set breakpoints to examine the kernel state early in the boot process. This is equivalent to passing -kd to access the kernel debugger (kmdb) before the system fully boots.

Rescue Mode

Toggling this option on causes the system to skip mounting the zones ZFS pool and boot into single user-mode. This should only be necessary in the event that the node is unable to boot due to a failure to import the zones ZFS pool or some other fatal configuration error. When booted in Rescue Mode, the root password is set to "root".

Making Persistent Changes

Although boot options can be changed via the Boot Options menu or by manually passing boot parameters from the interactive boot loader prompt, keep in mind that the changes are temporary and only affect the subsequent boot.

The set-variable subcommand of the sdc-usbkey CLI can be used to make persistent changes to boot parameters. For example, to configure the system to always boot under the kernel debugger, run the command:

# sdc-usbkey set-variable boot-args -- -k

For a complete list of boot parameters, see loader(1).