Print this page
NEX-16819 loader UEFI support
Includes work by Toomas Soome <tsoome@me.com>
Upstream commits:
loader: pxe receive cleanup
9475 libefi: Do not return only if ReceiveFilter
installboot: should support efi system partition
8931 boot1.efi: scan all display modes rather than
loader: spinconsole updates
loader: gfx experiment to try GOP Blt() function.
sha1 build test
loader: add sha1 hash calculation
common/sha1: update for loader build
loader: biosdisk rework
uts: 32-bit kernel FB needs mapping in low memory
uts: add diag-device
uts: boot console mirror with diag-device
uts: enable very early console on ttya
kmdb: add diag-device as input/output device
uts: test VGA memory exclusion from mapping
uts: clear boot mapping and protect boot pages test
uts: add dboot map debug printf
uts: need to release FB pages in release_bootstrap()
uts: add screenmap ioctl
uts: update sys/queue.h
loader: add illumos uts/common to include path
loader: tem/gfx font cleanup
loader: vbe checks
uts: gfx_private set KD_TEXT when KD_RESETTEXT is
uts: gfx 8-bit update
loader: gfx 8-bit fix
loader: always set media size from partition.
uts: MB2 support for 32-bit kernel
loader: x86 should have tem 80x25
uts: x86 should have tem 80x25
uts: font update
loader: font update
uts: tem attributes
loader: tem.c comment added
uts: use font module
loader: add font module
loader: build rules for new font setup
uts: gfx_private update for new font structure
uts: early boot update for new font structure
uts: font update
uts: font build rules update for new fonts
uts: tem update to new font structure
loader: module.c needs to include tem_impl.h
uts: gfx_private 8x16 font rework
uts: make font_lookup public
loader: font rework
uts: font rework
9259 libefi: efi_alloc_and_read should check for PMBR
uts: tem utf-8 support
loader: implement tem utf-8 support
loader: tem should be able to display UTF-8
7784 uts: console input should support utf-8
7796 uts: ldterm default to utf-8
uts: do not reset serial console
uts: set up colors even if tem is not console
uts: add type for early boot properties
uts: gfx_private experiment with drm and vga
uts: gfx_private should use setmode drm callback.
uts: identify FB types and set up gfx_private based
loader: replace gop and vesa with framebuffer
uts: boot needs simple tem to support mdb
uts: boot_keyboard should emit esc sequences for
uts: gfx_private FB showuld be written by line
kmdb: set terminal window size
uts: gfx_private needs to keep track of early boot FB
pnglite: move pnglite to usr/src/common
loader: gfx_fb
ficl-sys: add gfx primitives
loader: add illumos.png logo
ficl: add fb-putimage
loader: add png support
loader: add alpha blending for gfx_fb
loader: use term-drawrect for menu frame
ficl: add simple gfx words
uts: provide fb_info via fbgattr dev_specific array.
uts: gfx_private add alpha blending
uts: update sys/ascii.h
uts: tem OSC support (incomplete)
uts: implement env module support and use data from
uts: tem get colors from early boot data
loader: use crc32 from libstand (libz)
loader: optimize for size
loader: pass tem info to the environment
loader: import tem for loader console
loader: UEFI loader needs to set ISADIR based on
loader: need UEFI32 support
8918 loader.efi: add vesa edid support
uts: tem_safe_pix_clear_prom_output() should only
uts: tem_safe_pix_clear_entire_screen() should use
uts: tem_safe_check_first_time() should query cursor
uts: tem implement cls callback & visual_io v4
uts: gfx_vgatext use block cursor for vgatext
uts: gfx_private implement cls callback & visual_io
uts: gfx_private bitmap framebuffer implementation
uts: early start frame buffer console support
uts: font functions should check the input char
uts: font rendering should support 16/24/32bit depths
uts: use smallest font as fallback default.
uts: update terminal dimensions based on selected
7834 uts: vgatext should use gfx_private
uts: add spacing property to 8859-1.bdf
terminfo: add underline for sun-color
terminfo: sun-color has 16 colors
uts: add font load callback type
loader: do not repeat int13 calls with error 0x20 and
8905 loader: add skein/edonr support
8904 common/crypto: make skein and edonr loader
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
Revert "NEX-16819 loader UEFI support"
This reverts commit ec06b9fc617b99234e538bf2e7e4d02a24993e0c.
Reverting due to failures in the zfs-tests and the sharefs-tests
NEX-16819 loader UEFI support
Includes work by Toomas Soome <tsoome@me.com>
Upstream commits:
loader: pxe receive cleanup
9475 libefi: Do not return only if ReceiveFilter
installboot: should support efi system partition
8931 boot1.efi: scan all display modes rather than
loader: spinconsole updates
loader: gfx experiment to try GOP Blt() function.
sha1 build test
loader: add sha1 hash calculation
common/sha1: update for loader build
loader: biosdisk rework
uts: 32-bit kernel FB needs mapping in low memory
uts: add diag-device
uts: boot console mirror with diag-device
uts: enable very early console on ttya
kmdb: add diag-device as input/output device
uts: test VGA memory exclusion from mapping
uts: clear boot mapping and protect boot pages test
uts: add dboot map debug printf
uts: need to release FB pages in release_bootstrap()
uts: add screenmap ioctl
uts: update sys/queue.h
loader: add illumos uts/common to include path
loader: tem/gfx font cleanup
loader: vbe checks
uts: gfx_private set KD_TEXT when KD_RESETTEXT is
uts: gfx 8-bit update
loader: gfx 8-bit fix
loader: always set media size from partition.
uts: MB2 support for 32-bit kernel
loader: x86 should have tem 80x25
uts: x86 should have tem 80x25
uts: font update
loader: font update
uts: tem attributes
loader: tem.c comment added
uts: use font module
loader: add font module
loader: build rules for new font setup
uts: gfx_private update for new font structure
uts: early boot update for new font structure
uts: font update
uts: font build rules update for new fonts
uts: tem update to new font structure
loader: module.c needs to include tem_impl.h
uts: gfx_private 8x16 font rework
uts: make font_lookup public
loader: font rework
uts: font rework
libefi: efi_alloc_and_read should check for PMBR
uts: tem utf-8 support
loader: implement tem utf-8 support
loader: tem should be able to display UTF-8
7784 uts: console input should support utf-8
7796 uts: ldterm default to utf-8
uts: do not reset serial console
uts: set up colors even if tem is not console
uts: add type for early boot properties
uts: gfx_private experiment with drm and vga
uts: gfx_private should use setmode drm callback.
uts: identify FB types and set up gfx_private based
loader: replace gop and vesa with framebuffer
uts: boot needs simple tem to support mdb
uts: boot_keyboard should emit esc sequences for
uts: gfx_private FB showuld be written by line
kmdb: set terminal window size
uts: gfx_private needs to keep track of early boot FB
pnglite: move pnglite to usr/src/common
loader: gfx_fb
ficl-sys: add gfx primitives
loader: add illumos.png logo
ficl: add fb-putimage
loader: add png support
loader: add alpha blending for gfx_fb
loader: use term-drawrect for menu frame
ficl: add simple gfx words
uts: provide fb_info via fbgattr dev_specific array.
uts: gfx_private add alpha blending
uts: update sys/ascii.h
uts: tem OSC support (incomplete)
uts: implement env module support and use data from
uts: tem get colors from early boot data
loader: use crc32 from libstand (libz)
loader: optimize for size
loader: pass tem info to the environment
loader: import tem for loader console
loader: UEFI loader needs to set ISADIR based on
loader: need UEFI32 support
8918 loader.efi: add vesa edid support
uts: tem_safe_pix_clear_prom_output() should only
uts: tem_safe_pix_clear_entire_screen() should use
uts: tem_safe_check_first_time() should query cursor
uts: tem implement cls callback & visual_io v4
uts: gfx_vgatext use block cursor for vgatext
uts: gfx_private implement cls callback & visual_io
uts: gfx_private bitmap framebuffer implementation
uts: early start frame buffer console support
uts: font functions should check the input char
uts: font rendering should support 16/24/32bit depths
uts: use smallest font as fallback default.
uts: update terminal dimensions based on selected
7834 uts: vgatext should use gfx_private
uts: add spacing property to 8859-1.bdf
terminfo: add underline for sun-color
terminfo: sun-color has 16 colors
uts: add font load callback type
loader: do not repeat int13 calls with error 0x20 and
8905 loader: add skein/edonr support
8904 common/crypto: make skein and edonr loader
Reviewed by: Yuri Pankov <yuri.pankov@nexenta.com>
Reviewed by: Sanjay Nadkarni <sanjay.nadkarni@nexenta.com>
Reviewed by: Evan Layton <evan.layton@nexenta.com>
*** 78,87 ****
--- 78,98 ----
echo Current device is $currdev
will print the current device.
################################################################################
+ # Tframebuffer DManage framebuffer setup
+
+ framebuffer on | off | get | list [depth] | set <display or mode number>
+
+ Switch framebuffer mode on or off, get current mode, list available
+ modes or set mode by using either display resolution or framebuffer
+ mode number. If the system does not provide display resolution via
+ EDID, the default resolution will be set 800x600. If depth is not
+ specified, the best depth is used.
+
+ ################################################################################
# Tload DLoad a kernel or module
load [-t <type>] <filename> [arguments]
Loads the module contained in <filename> into memory. If no other
*** 170,273 ****
set bootfile=<filename>[;<filename>...]
Sets the default set of kernel boot filename(s). It may be overridden
by setting the bootfile variable to a semicolon-separated list of
filenames, each of which will be searched for in the module_path
! directories. The default bootfile set is "kernel".
################################################################################
! # Tset Sboot_askname DPrompt for root device
! set boot_askname
! Instructs the kernel to prompt the user for the name of the root device
! when the kernel is booted.
################################################################################
! # Tset Sboot_cdrom DMount root file system from CD-ROM
! set boot_cdrom
! Instructs the kernel to try to mount the root file system from CD-ROM.
################################################################################
! # Tset Sboot_ddb DDrop to the kernel debugger (DDB)
! set boot_ddb
! Instructs the kernel to start in the DDB debugger, rather than
! proceeding to initialize when booted.
################################################################################
! # Tset Sboot_dfltroot DUse default root file system
! set boot_dfltroot
! Instructs the kernel to mount the statically compiled-in root
! file system.
################################################################################
- # Tset Sboot_gdb DSelect gdb-remote mode for the kernel debugger
-
- set boot_gdb
-
- Selects gdb-remote mode for the kernel debugger by default.
-
- ################################################################################
# Tset Sboot_multicons DUse multiple consoles
set boot_multicons
Enables multiple console support in the kernel early on boot.
In a running system, console configuration can be manipulated
by the conscontrol(8) utility.
################################################################################
! # Tset Sboot_mute DMute the console
- set boot_mute
-
- All console output is suppressed when console is muted.
- In a running system, the state of console muting can be
- manipulated by the conscontrol(8) utility.
-
- ################################################################################
- # Tset Sboot_pause DPause after each line during device probing
-
- set boot_pause
-
- During the device probe, pause after each line is printed.
-
- ################################################################################
- # Tset Sboot_serial DUse serial console
-
- set boot_serial
-
- Force the use of a serial console even when an internal console
- is present.
-
- ################################################################################
- # Tset Sboot_single DStart system in single-user mode
-
set boot_single
! Prevents the kernel from initiating a multi-user startup; instead,
! a single-user mode will be entered when the kernel has finished
! device probes.
################################################################################
! # Tset Sboot_verbose DVerbose boot messages
set boot_verbose
! Setting this variable causes extra debugging information to be printed
! by the kernel during the boot phase.
################################################################################
# Tset Sconsole DSet the current console
! set console[=<value>]
Sets the current console. If <value> is omitted, a list of valid
consoles will be displayed.
################################################################################
--- 181,252 ----
set bootfile=<filename>[;<filename>...]
Sets the default set of kernel boot filename(s). It may be overridden
by setting the bootfile variable to a semicolon-separated list of
filenames, each of which will be searched for in the module_path
! directories. The default bootfile set is "unix".
################################################################################
! # Tset Sboot_ask DPrompt for configuration information
! set boot_ask
! Instructs the kernel to prompt the user for the configuration
! information when the kernel is booted.
################################################################################
! # Tset Sboot_debug DDrop to the kernel debugger (kmdb)
! set boot_debug
! Instructs the kernel to start in the kmdb debugger, rather than
! proceeding to initialize when booted. Can only be used when boot_kmdb
! is set.
################################################################################
! # Tset Sboot_kmdb DStart the kernel debugger (kmdb)
! set boot_kmdb
! Instructs the kernel to start the kmdb debugger and then continue
! with normal boot.
################################################################################
! # Tset Sboot_reconfigure DInitaiate reconfiguration boot
! set boot_reconfigure
! The system will probe all attached hardware devices and configure
! the logical namespace in /dev.
################################################################################
# Tset Sboot_multicons DUse multiple consoles
set boot_multicons
Enables multiple console support in the kernel early on boot.
In a running system, console configuration can be manipulated
by the conscontrol(8) utility.
################################################################################
! # Tset Sboot_single DBoot into the single user mode
set boot_single
! Boots only to init level 's'.
################################################################################
! # Tset Sboot_verbose DBoot with verbose messages enabled
set boot_verbose
! Without this setting, the messages are only logged in the system log.
################################################################################
# Tset Sconsole DSet the current console
! set console[=<value>[,<value>]]
Sets the current console. If <value> is omitted, a list of valid
consoles will be displayed.
################################################################################
*** 276,294 ****
set currdev=<device>
Selects the default device. See lsdev for available devices.
################################################################################
- # Tset Sinit_path DSet the list of init candidates
-
- set init_path=<path>[:<path>...]
-
- Sets the list of binaries which the kernel will try to run as initial
- process.
-
-
- ################################################################################
# Tset Smodule_path DSet the module search path
set module_path=<path>[;<path>...]
Sets the list of directories which will be searched in for modules
--- 255,264 ----
*** 306,393 ****
prompt can be set with:
set prompt=\${interpret}
################################################################################
# Tset Srootdev DSet the root filesystem
set rootdev=<path>
By default the value of $currdev is used to set the root filesystem
when the kernel is booted. This can be overridden by setting
$rootdev explicitly.
################################################################################
- # Tset Stunables DSet kernel tunable values
-
- Various kernel tunable parameters can be overridden by specifying new
- values in the environment.
-
- set kern.ipc.nmbclusters=<value>
-
- Set the number of mbuf clusters to be allocated. The value
- cannot be set below the default determined when the kernel
- was compiled.
-
- set kern.ipc.nsfbufs=<value> NSFBUFS
-
- Set the number of sendfile buffers to be allocated. This
- overrides the value determined when the kernel was compiled.
-
- set vm.kmem_size=<value> VM_KMEM_SIZE
-
- Sets the size of kernel memory (bytes). This overrides
- the value determined when the kernel was compiled.
-
- set machdep.disable_mtrrs=1
-
- Disable the use of i686 MTRRs (i386 only)
-
- set net.inet.tcp.tcbhashsize=<value> TCBHASHSIZE
-
- Overrides the compile-time set value of TCBHASHSIZE or
- the preset default of 512. Must be a power of 2.
-
- hw.syscons.sc_no_suspend_vtswitch=<value>
-
- Disable VT switching on suspend.
-
- value is 0 (default) or non-zero to enable.
-
- set hw.physmem=<value> MAXMEM (i386 only)
-
- Limits the amount of physical memory space available to
- the system to <value> bytes. <value> may have a k, M or G
- suffix to indicate kilobytes, megabytes and gigabytes
- respectively. Note that the current i386 architecture
- limits this value to 4GB.
-
- On systems where memory cannot be accurately probed,
- this option provides a hint as to the actual size of
- system memory (which will be tested before use).
-
- set hw.{acpi,pci}.host_start_mem=<value>
-
- Sets the lowest address that the pci code will assign
- when it doesn't have other information about the address
- to assign (like from a pci bridge). This is only useful
- in older systems without a pci bridge. Also, it only
- impacts devices that the BIOS doesn't assign to, typically
- CardBus bridges. The default <value> is 0x80000000, but
- some systems need values like 0xf0000000, 0xfc000000 or
- 0xfe000000 may be suitable for older systems (the older
- the system, the higher the number typically should be).
-
- set hw.pci.enable_io_modes=<value>
-
- Enable PCI resources which are left off by some BIOSes
- or are not enabled correctly by the device driver.
-
- value is 1 (default), but this may cause problems with
- some peripherals. Set to 0 to disable.
-
- ################################################################################
# Tshow DShow the values of variables
show [<variable>]
Displays the value of <variable>, or all variables if not specified.
--- 276,300 ----
prompt can be set with:
set prompt=\${interpret}
################################################################################
+ # Tset Sscreen-font DSet the framebuffer font
+
+ Without the value, will list the currently available list
+ of the fonts.
+
+ ################################################################################
# Tset Srootdev DSet the root filesystem
set rootdev=<path>
By default the value of $currdev is used to set the root filesystem
when the kernel is booted. This can be overridden by setting
$rootdev explicitly.
################################################################################
# Tshow DShow the values of variables
show [<variable>]
Displays the value of <variable>, or all variables if not specified.