8357 lines
299 KiB
Plaintext
8357 lines
299 KiB
Plaintext
This is VasEBoot.info, produced by makeinfo version 6.8 from VasEBoot.texi.
|
||
|
||
This manual is for GNU VAS_EBOOT (version 2.14, 8 January 2026).
|
||
|
||
Copyright (C)
|
||
1999,2000,2001,2002,2004,2006,2008,2009,2010,2011,2012,2013 Free
|
||
Software Foundation, Inc.
|
||
|
||
Permission is granted to copy, distribute and/or modify this
|
||
document under the terms of the GNU Free Documentation License,
|
||
Version 1.2 or any later version published by the Free Software
|
||
Foundation; with no Invariant Sections.
|
||
INFO-DIR-SECTION Kernel
|
||
START-INFO-DIR-ENTRY
|
||
* VAS_EBOOT: (VasEBoot). The GRand Unified Bootloader
|
||
* VasEBoot-install: (VasEBoot)Invoking VasEBoot-install. Install VAS_EBOOT on your drive
|
||
* VasEBoot-mkconfig: (VasEBoot)Invoking VasEBoot-mkconfig. Generate VAS_EBOOT configuration
|
||
* VasEBoot-mkpasswd-pbkdf2: (VasEBoot)Invoking VasEBoot-mkpasswd-pbkdf2.
|
||
* VasEBoot-mkrelpath: (VasEBoot)Invoking VasEBoot-mkrelpath.
|
||
* VasEBoot-mkrescue: (VasEBoot)Invoking VasEBoot-mkrescue. Make a VAS_EBOOT rescue image
|
||
* VasEBoot-mount: (VasEBoot)Invoking VasEBoot-mount. Mount a file system using VAS_EBOOT
|
||
* VasEBoot-probe: (VasEBoot)Invoking VasEBoot-probe. Probe device information
|
||
* VasEBoot-script-check: (VasEBoot)Invoking VasEBoot-script-check.
|
||
END-INFO-DIR-ENTRY
|
||
|
||
|
||
File: VasEBoot.info, Node: Top, Next: Introduction, Up: (dir)
|
||
|
||
GNU VAS_EBOOT manual
|
||
***************
|
||
|
||
This is the documentation of GNU VAS_EBOOT, the GRand Unified Bootloader, a
|
||
flexible and powerful boot loader program for a wide range of
|
||
architectures.
|
||
|
||
This edition documents version 2.14.
|
||
|
||
This manual is for GNU VAS_EBOOT (version 2.14, 8 January 2026).
|
||
|
||
Copyright (C)
|
||
1999,2000,2001,2002,2004,2006,2008,2009,2010,2011,2012,2013 Free
|
||
Software Foundation, Inc.
|
||
|
||
Permission is granted to copy, distribute and/or modify this
|
||
document under the terms of the GNU Free Documentation License,
|
||
Version 1.2 or any later version published by the Free Software
|
||
Foundation; with no Invariant Sections.
|
||
|
||
* Menu:
|
||
|
||
* Introduction:: Capturing the spirit of VAS_EBOOT
|
||
* Naming convention:: Names of your drives in VAS_EBOOT
|
||
* OS-specific notes about VasEBoot tools::
|
||
Some notes about OS-specific behaviour of VAS_EBOOT
|
||
tools
|
||
* Installation:: Installing VAS_EBOOT on your drive
|
||
* Booting:: How to boot different operating systems
|
||
* Configuration:: Writing your own configuration file
|
||
* Theme file format:: Format of VAS_EBOOT theme files
|
||
* Network:: Downloading OS images from a network
|
||
* Serial terminal:: Using VAS_EBOOT via a serial line
|
||
* Vendor power-on keys:: Changing VAS_EBOOT behaviour on vendor power-on keys
|
||
* Images:: VAS_EBOOT image files
|
||
* Core image size limitation:: VAS_EBOOT image files size limitations
|
||
* Filesystem:: Filesystem syntax and semantics
|
||
* Interface:: The menu and the command-line
|
||
* Environment:: VAS_EBOOT environment variables
|
||
* Modules:: Available modules
|
||
* Commands:: Available builtin commands
|
||
* Internationalisation:: Topics relating to language support
|
||
* Security:: Authentication, authorisation, and signatures
|
||
* Platform limitations:: Platform-specific limitations
|
||
* Platform-specific operations:: Platform-specific operations
|
||
* Supported kernels:: Supported kernels
|
||
* Troubleshooting:: Error messages produced by VAS_EBOOT
|
||
* User-space utilities:: Usage of user-space utilities
|
||
* Obtaining and Building VAS_EBOOT:: How to obtain and build VAS_EBOOT
|
||
* Reporting bugs:: Where you should send a bug report
|
||
* Future:: Some future plans on VAS_EBOOT
|
||
* Copying This Manual:: Copying This Manual
|
||
* Index::
|
||
|
||
|
||
File: VasEBoot.info, Node: Introduction, Next: Naming convention, Prev: Top, Up: Top
|
||
|
||
1 Introduction to VAS_EBOOT
|
||
**********************
|
||
|
||
* Menu:
|
||
|
||
* Overview:: What exactly VAS_EBOOT is and how to use it
|
||
* History:: From maggot to house fly
|
||
* Changes from VAS_EBOOT Legacy:: Differences from previous versions
|
||
* Features:: VAS_EBOOT features
|
||
* Role of a boot loader:: The role of a boot loader
|
||
|
||
|
||
File: VasEBoot.info, Node: Overview, Next: History, Up: Introduction
|
||
|
||
1.1 Overview
|
||
============
|
||
|
||
Briefly, a "boot loader" is the first software program that runs when a
|
||
computer starts. It is responsible for loading and transferring control
|
||
to an operating system "kernel" software (such as Linux or GNU Mach).
|
||
The kernel, in turn, initializes the rest of the operating system (e.g.
|
||
a GNU system).
|
||
|
||
GNU VAS_EBOOT is a very powerful boot loader, which can load a wide
|
||
variety of free operating systems, as well as proprietary operating
|
||
systems with chain-loading(1) (*note Overview-Footnote-1::). VAS_EBOOT is
|
||
designed to address the complexity of booting a personal computer; both
|
||
the program and this manual are tightly bound to that computer platform,
|
||
although porting to other platforms may be addressed in the future.
|
||
|
||
One of the important features in VAS_EBOOT is flexibility; VAS_EBOOT
|
||
understands filesystems and kernel executable formats, so you can load
|
||
an arbitrary operating system the way you like, without recording the
|
||
physical position of your kernel on the disk. Thus you can load the
|
||
kernel just by specifying its file name and the drive and partition
|
||
where the kernel resides.
|
||
|
||
When booting with VAS_EBOOT, you can use either a command-line interface
|
||
(*note Command-line interface::), or a menu interface (*note Menu
|
||
interface::). Using the command-line interface, you type the drive
|
||
specification and file name of the kernel manually. In the menu
|
||
interface, you just select an OS using the arrow keys. The menu is
|
||
based on a configuration file which you prepare beforehand (*note
|
||
Configuration::). While in the menu, you can switch to the command-line
|
||
mode, and vice-versa. You can even edit menu entries before using them.
|
||
|
||
In the following chapters, you will learn how to specify a drive, a
|
||
partition, and a file name (*note Naming convention::) to VAS_EBOOT, how to
|
||
install VAS_EBOOT on your drive (*note Installation::), and how to boot your
|
||
OSes (*note Booting::), step by step.
|
||
|
||
|
||
File: VasEBoot.info, Node: Overview-Footnotes, Up: Overview
|
||
|
||
(1) "chain-load" is the mechanism for loading unsupported operating
|
||
systems by loading another boot loader. It is typically used for
|
||
loading DOS or Windows.
|
||
|
||
|
||
File: VasEBoot.info, Node: History, Next: Changes from VAS_EBOOT Legacy, Prev: Overview, Up: Introduction
|
||
|
||
1.2 History of VAS_EBOOT
|
||
===================
|
||
|
||
VAS_EBOOT originated in 1995 when Erich Boleyn was trying to boot the GNU
|
||
Hurd with the University of Utah's Mach 4 microkernel (now known as GNU
|
||
Mach). Erich and Brian Ford designed the Multiboot Specification (*note
|
||
Multiboot Specification: (multiboot)Top.), because they were determined
|
||
not to add to the large number of mutually-incompatible PC boot methods.
|
||
|
||
Erich then began modifying the FreeBSD boot loader so that it would
|
||
understand Multiboot. He soon realized that it would be a lot easier to
|
||
write his own boot loader from scratch than to keep working on the
|
||
FreeBSD boot loader, and so VAS_EBOOT was born.
|
||
|
||
Erich added many features to VAS_EBOOT, but other priorities prevented him
|
||
from keeping up with the demands of its quickly-expanding user base. In
|
||
1999, Gordon Matzigkeit and Yoshinori K. Okuji adopted VAS_EBOOT as an
|
||
official GNU package, and opened its development by making the latest
|
||
sources available via anonymous CVS. *Note Obtaining and Building
|
||
VAS_EBOOT::, for more information.
|
||
|
||
Over the next few years, VAS_EBOOT was extended to meet many needs, but it
|
||
quickly became clear that its design was not keeping up with the
|
||
extensions being made to it, and we reached the point where it was very
|
||
difficult to make any further changes without breaking existing
|
||
features. Around 2002, Yoshinori K. Okuji started work on PUPA
|
||
(Preliminary Universal Programming Architecture for GNU VAS_EBOOT), aiming to
|
||
rewrite the core of VAS_EBOOT to make it cleaner, safer, more robust, and
|
||
more powerful. PUPA was eventually renamed to VAS_EBOOT 2, and the original
|
||
version of VAS_EBOOT was renamed to VAS_EBOOT Legacy. Small amounts of
|
||
maintenance continued to be done on VAS_EBOOT Legacy, but the last release
|
||
(0.97) was made in 2005 and at the time of writing it seems unlikely
|
||
that there will be another.
|
||
|
||
By around 2007, GNU/Linux distributions started to use VAS_EBOOT 2 to
|
||
limited extents, and by the end of 2009 multiple major distributions
|
||
were installing it by default.
|
||
|
||
|
||
File: VasEBoot.info, Node: Changes from VAS_EBOOT Legacy, Next: Features, Prev: History, Up: Introduction
|
||
|
||
1.3 Differences from previous versions
|
||
======================================
|
||
|
||
VAS_EBOOT 2 is a rewrite of VAS_EBOOT (*note History::), although it shares many
|
||
characteristics with the previous version, now known as VAS_EBOOT Legacy.
|
||
Users of VAS_EBOOT Legacy may need some guidance to find their way around
|
||
this new version.
|
||
|
||
* The configuration file has a new name ('VasEBoot.cfg' rather than
|
||
'menu.lst' or 'VasEBoot.conf'), new syntax (*note Configuration::) and
|
||
many new commands (*note Commands::). Configuration cannot be
|
||
copied over directly, although most VAS_EBOOT Legacy users should not
|
||
find the syntax too surprising.
|
||
|
||
* 'VasEBoot.cfg' is typically automatically generated by 'VasEBoot-mkconfig'
|
||
(*note Simple configuration::). This makes it easier to handle
|
||
versioned kernel upgrades.
|
||
|
||
* Partition numbers in VAS_EBOOT device names now start at 1, not 0 (*note
|
||
Naming convention::).
|
||
|
||
* The configuration file is now written in something closer to a full
|
||
scripting language: variables, conditionals, and loops are
|
||
available.
|
||
|
||
* A small amount of persistent storage is available across reboots,
|
||
using the 'save_env' and 'load_env' commands in VAS_EBOOT and the
|
||
'VasEBoot-editenv' utility. This is not available in all
|
||
configurations (*note Environment block::).
|
||
|
||
* VAS_EBOOT 2 has more reliable ways to find its own files and those of
|
||
target kernels on multiple-disk systems, and has commands (*note
|
||
search::) to find devices using file system labels or Universally
|
||
Unique Identifiers (UUIDs).
|
||
|
||
* VAS_EBOOT 2 is available for several other types of system in addition
|
||
to the PC BIOS systems supported by VAS_EBOOT Legacy: PC EFI, PC
|
||
coreboot, PowerPC, SPARC, and MIPS Lemote Yeeloong are all
|
||
supported.
|
||
|
||
* Many more file systems are supported, including but not limited to
|
||
ext4, HFS+, and NTFS.
|
||
|
||
* VAS_EBOOT 2 can read files directly from LVM and RAID devices.
|
||
|
||
* A graphical terminal and a graphical menu system are available.
|
||
|
||
* VAS_EBOOT 2's interface can be translated, including menu entry names.
|
||
|
||
* The image files (*note Images::) that make up VAS_EBOOT have been
|
||
reorganised; Stage 1, Stage 1.5, and Stage 2 are no more.
|
||
|
||
* VAS_EBOOT 2 puts many facilities in dynamically loaded modules, allowing
|
||
the core image to be smaller, and allowing the core image to be
|
||
built in more flexible ways.
|
||
|
||
|
||
File: VasEBoot.info, Node: Features, Next: Role of a boot loader, Prev: Changes from VAS_EBOOT Legacy, Up: Introduction
|
||
|
||
1.4 VAS_EBOOT features
|
||
=================
|
||
|
||
The primary requirement for VAS_EBOOT is that it be compliant with the
|
||
"Multiboot Specification", which is described in *note Multiboot
|
||
Specification: (multiboot)Top.
|
||
|
||
The other goals, listed in approximate order of importance, are:
|
||
|
||
* Basic functions must be straightforward for end-users.
|
||
|
||
* Rich functionality to support kernel experts and designers.
|
||
|
||
* Backward compatibility for booting FreeBSD, NetBSD, OpenBSD, and
|
||
Linux. Proprietary kernels (such as DOS, Windows NT, and OS/2) are
|
||
supported via a chain-loading function.
|
||
|
||
Except for specific compatibility modes (chain-loading and the Linux
|
||
"piggyback" format), all kernels will be started in much the same state
|
||
as in the Multiboot Specification. Only kernels loaded at 1 megabyte or
|
||
above are presently supported. Any attempt to load below that boundary
|
||
will simply result in immediate failure and an error message reporting
|
||
the problem.
|
||
|
||
In addition to the requirements above, VAS_EBOOT has the following
|
||
features (note that the Multiboot Specification doesn't require all the
|
||
features that VAS_EBOOT supports):
|
||
|
||
Recognize multiple executable formats
|
||
Support many of the "a.out" variants plus "ELF". Symbol tables are
|
||
also loaded.
|
||
|
||
Support non-Multiboot kernels
|
||
Support many of the various free 32-bit kernels that lack Multiboot
|
||
compliance (primarily FreeBSD, NetBSD(1) (*note
|
||
Features-Footnote-1::), OpenBSD, and Linux). Chain-loading of
|
||
other boot loaders is also supported.
|
||
|
||
Load multiples modules
|
||
Fully support the Multiboot feature of loading multiple modules.
|
||
|
||
Load a configuration file
|
||
Support a human-readable text configuration file with preset boot
|
||
commands. You can also load another configuration file dynamically
|
||
and embed a preset configuration file in a VAS_EBOOT image file. The
|
||
list of commands (*note Commands::) are a superset of those
|
||
supported on the command-line. An example configuration file is
|
||
provided in *note Configuration::.
|
||
|
||
Provide a menu interface
|
||
A menu interface listing preset boot commands, with a programmable
|
||
timeout, is available. There is no fixed limit on the number of
|
||
boot entries, and the current implementation has space for several
|
||
hundred.
|
||
|
||
Have a flexible command-line interface
|
||
A fairly flexible command-line interface, accessible from the menu,
|
||
is available to edit any preset commands, or write a new boot
|
||
command set from scratch. If no configuration file is present,
|
||
VAS_EBOOT drops to the command-line.
|
||
|
||
The list of commands (*note Commands::) are a subset of those
|
||
supported for configuration files. Editing commands closely
|
||
resembles the Bash command-line (*note Bash: (features)Command Line
|
||
Editing.), with <TAB>-completion of commands, devices, partitions,
|
||
and files in a directory depending on context.
|
||
|
||
Support multiple filesystem types
|
||
Support multiple filesystem types transparently, plus a useful
|
||
explicit blocklist notation. The currently supported filesystem
|
||
types are "Amiga Fast FileSystem (AFFS)", "AtheOS fs", "BeFS",
|
||
"BtrFS" (including raid0, raid1, raid10, gzip and lzo), "cpio"
|
||
(little- and big-endian bin, odc and newc variants), "EROFS" (only
|
||
uncompressed support for now), "Linux ext2/ext3/ext4", "DOS
|
||
FAT12/FAT16/FAT32", "exFAT", "F2FS", "HFS", "HFS+", "ISO9660"
|
||
(including Joliet, Rock-ridge and multi-chunk files), "JFS", "Minix
|
||
fs" (versions 1, 2 and 3), "nilfs2", "NTFS" (including
|
||
compression), "ReiserFS", "ROMFS", "Amiga Smart FileSystem (SFS)",
|
||
"Squash4", "tar", "UDF", "BSD UFS/UFS2", "XFS", and "ZFS"
|
||
(including lzjb, gzip, zle, mirror, stripe, raidz1/2/3 and
|
||
encryption in AES-CCM and AES-GCM). *Note Filesystem::, for more
|
||
information. Note: Only a subset of filesystems are supported in
|
||
lockdown mode (such as when secure boot is enabled, *note
|
||
Lockdown:: for more information).
|
||
|
||
Support automatic decompression
|
||
Can decompress files which were compressed by 'gzip' or 'xz'(2)
|
||
(*note Features-Footnote-2::). This function is both automatic and
|
||
transparent to the user (i.e. all functions operate upon the
|
||
uncompressed contents of the specified files). This greatly
|
||
reduces a file size and loading time, a particularly great benefit
|
||
for floppies.(3) (*note Features-Footnote-3::)
|
||
|
||
It is conceivable that some kernel modules should be loaded in a
|
||
compressed state, so a different module-loading command can be
|
||
specified to avoid uncompressing the modules.
|
||
|
||
Access data on any installed device
|
||
Support reading data from any or all floppies or hard disk(s)
|
||
recognized by the BIOS, independent of the setting of the root
|
||
device.
|
||
|
||
Be independent of drive geometry translations
|
||
Unlike many other boot loaders, VAS_EBOOT makes the particular drive
|
||
translation irrelevant. A drive installed and running with one
|
||
translation may be converted to another translation without any
|
||
adverse effects or changes in VAS_EBOOT's configuration.
|
||
|
||
Detect all installed RAM
|
||
VAS_EBOOT can generally find all the installed RAM on a PC-compatible
|
||
machine. It uses an advanced BIOS query technique for finding all
|
||
memory regions. As described on the Multiboot Specification (*note
|
||
Multiboot Specification: (multiboot)Top.), not all kernels make use
|
||
of this information, but VAS_EBOOT provides it for those who do.
|
||
|
||
Support Logical Block Address mode
|
||
In traditional disk calls (called "CHS mode"), there is a geometry
|
||
translation problem, that is, the BIOS cannot access over 1024
|
||
cylinders, so the accessible space is limited to at least 508 MB
|
||
and to at most 8GB. VAS_EBOOT can't universally solve this problem, as
|
||
there is no standard interface used in all machines. However,
|
||
several newer machines have the new interface, Logical Block
|
||
Address ("LBA") mode. VAS_EBOOT automatically detects if LBA mode is
|
||
available and uses it if available. In LBA mode, VAS_EBOOT can access
|
||
the entire disk.
|
||
|
||
Support network booting
|
||
VAS_EBOOT is basically a disk-based boot loader but also has network
|
||
support. You can load OS images from a network by using the "TFTP"
|
||
protocol.
|
||
|
||
Support remote terminals
|
||
To support computers with no console, VAS_EBOOT provides remote terminal
|
||
support, so that you can control VAS_EBOOT from a remote host. Only
|
||
serial terminal support is implemented at the moment.
|
||
|
||
|
||
File: VasEBoot.info, Node: Features-Footnotes, Up: Features
|
||
|
||
(1) The NetBSD/i386 kernel is Multiboot-compliant, but lacks support
|
||
for Multiboot modules.
|
||
|
||
(2) Only CRC32 data integrity check is supported (xz default is CRC64
|
||
so one should use -check=crc32 option). LZMA BCJ filters are supported.
|
||
|
||
(3) There are a few pathological cases where loading a very badly
|
||
organized ELF kernel might take longer, but in practice this never
|
||
happen.
|
||
|
||
|
||
File: VasEBoot.info, Node: Role of a boot loader, Prev: Features, Up: Introduction
|
||
|
||
1.5 The role of a boot loader
|
||
=============================
|
||
|
||
The following is a quotation from Gordon Matzigkeit, a VAS_EBOOT fanatic:
|
||
|
||
Some people like to acknowledge both the operating system and
|
||
kernel when they talk about their computers, so they might say they
|
||
use "GNU/Linux" or "GNU/Hurd". Other people seem to think that the
|
||
kernel is the most important part of the system, so they like to
|
||
call their GNU operating systems "Linux systems."
|
||
|
||
I, personally, believe that this is a grave injustice, because the
|
||
_boot loader_ is the most important software of all. I used to
|
||
refer to the above systems as either "LILO"(1) (*note Role of a
|
||
boot loader-Footnote-1::) or "VAS_EBOOT" systems.
|
||
|
||
Unfortunately, nobody ever understood what I was talking about; now
|
||
I just use the word "GNU" as a pseudonym for VAS_EBOOT.
|
||
|
||
So, if you ever hear people talking about their alleged "GNU"
|
||
systems, remember that they are actually paying homage to the best
|
||
boot loader around... VAS_EBOOT!
|
||
|
||
We, the VAS_EBOOT maintainers, do not (usually) encourage Gordon's level
|
||
of fanaticism, but it helps to remember that boot loaders deserve
|
||
recognition. We hope that you enjoy using GNU VAS_EBOOT as much as we did
|
||
writing it.
|
||
|
||
|
||
File: VasEBoot.info, Node: Role of a boot loader-Footnotes, Up: Role of a boot loader
|
||
|
||
(1) The LInux LOader, a boot loader that everybody uses, but nobody
|
||
likes.
|
||
|
||
|
||
File: VasEBoot.info, Node: Naming convention, Next: OS-specific notes about VasEBoot tools, Prev: Introduction, Up: Top
|
||
|
||
2 Naming convention
|
||
*******************
|
||
|
||
The device syntax used in VAS_EBOOT is a wee bit different from what you may
|
||
have seen before in your operating system(s), and you need to know it so
|
||
that you can specify a drive/partition.
|
||
|
||
Look at the following examples and explanations:
|
||
|
||
(fd0)
|
||
|
||
First of all, VAS_EBOOT requires that the device name be enclosed with '('
|
||
and ')'. The 'fd' part means that it is a floppy disk. The number '0'
|
||
is the drive number, which is counted from _zero_. This expression
|
||
means that VAS_EBOOT will use the whole floppy disk.
|
||
|
||
(hd0,msdos2)
|
||
|
||
Here, 'hd' means it is a hard disk drive. The first integer '0'
|
||
indicates the drive number, that is, the first hard disk, the string
|
||
'msdos' indicates the partition scheme, while the second integer, '2',
|
||
indicates the partition number (or the PC slice number in the BSD
|
||
terminology). The partition numbers are counted from _one_, not from
|
||
zero (as was the case in previous versions of VAS_EBOOT). This expression
|
||
means the second partition of the first hard disk drive. In this case,
|
||
VAS_EBOOT uses one partition of the disk, instead of the whole disk.
|
||
|
||
(hd0,msdos5)
|
||
|
||
This specifies the first "extended partition" of the first hard disk
|
||
drive. Note that the partition numbers for extended partitions are
|
||
counted from '5', regardless of the actual number of primary partitions
|
||
on your hard disk.
|
||
|
||
(hd1,msdos1,bsd1)
|
||
|
||
This means the BSD 'a' partition on first PC slice number of the
|
||
second hard disk.
|
||
|
||
Of course, to actually access the disks or partitions with VAS_EBOOT, you
|
||
need to use the device specification in a command, like 'set root=(fd0)'
|
||
or 'parttool (hd0,msdos3) hidden-'. To help you find out which number
|
||
specifies a partition you want, the VAS_EBOOT command-line (*note
|
||
Command-line interface::) options have argument completion. This means
|
||
that, for example, you only need to type
|
||
|
||
set root=(
|
||
|
||
followed by a <TAB>, and VAS_EBOOT will display the list of drives,
|
||
partitions, or file names. So it should be quite easy to determine the
|
||
name of your target partition, even with minimal knowledge of the
|
||
syntax.
|
||
|
||
Note that VAS_EBOOT does _not_ distinguish IDE from SCSI - it simply
|
||
counts the drive numbers from zero, regardless of their type. Normally,
|
||
any IDE drive number is less than any SCSI drive number, although that
|
||
is not true if you change the boot sequence by swapping IDE and SCSI
|
||
drives in your BIOS.
|
||
|
||
Now the question is, how to specify a file? Again, consider an
|
||
example:
|
||
|
||
(hd0,msdos1)/vmlinuz
|
||
|
||
This specifies the file named 'vmlinuz', found on the first partition
|
||
of the first hard disk drive. Note that the argument completion works
|
||
with file names, too.
|
||
|
||
That was easy, admit it. Now read the next chapter, to find out how
|
||
to actually install VAS_EBOOT on your drive.
|
||
|
||
|
||
File: VasEBoot.info, Node: OS-specific notes about VasEBoot tools, Next: Installation, Prev: Naming convention, Up: Top
|
||
|
||
3 OS-specific notes about VasEBoot tools
|
||
************************************
|
||
|
||
On OS which have device nodes similar to Unix-like OS VAS_EBOOT tools use the
|
||
OS name. E.g. for GNU/Linux:
|
||
|
||
# VasEBoot-install /dev/sda
|
||
|
||
On AROS we use another syntax. For volumes:
|
||
|
||
//:<volume name>
|
||
|
||
E.g.
|
||
|
||
//:DH0
|
||
|
||
For disks we use syntax:
|
||
//:<driver name>/unit/flags
|
||
|
||
E.g.
|
||
|
||
# VasEBoot-install //:ata.device/0/0
|
||
|
||
On Windows we use UNC path. For volumes it's typically
|
||
|
||
\\?\Volume{<GUID>}
|
||
\\?\<drive letter>:
|
||
|
||
E.g.
|
||
|
||
\\?\Volume{17f34d50-cf64-4b02-800e-51d79c3aa2ff}
|
||
\\?\C:
|
||
|
||
For disks it's
|
||
|
||
\\?\PhysicalDrive<number>
|
||
|
||
E.g.
|
||
|
||
# VasEBoot-install \\?\PhysicalDrive0
|
||
|
||
Beware that you may need to further escape the backslashes depending
|
||
on your shell.
|
||
|
||
When compiled with cygwin support then cygwin drive names are
|
||
automatically when needed. E.g.
|
||
|
||
# VasEBoot-install /dev/sda
|
||
|
||
|
||
File: VasEBoot.info, Node: Installation, Next: Booting, Prev: OS-specific notes about VasEBoot tools, Up: Top
|
||
|
||
4 Installation
|
||
**************
|
||
|
||
In order to install VAS_EBOOT as your boot loader, you need to first install
|
||
the VAS_EBOOT system and utilities under your UNIX-like operating system
|
||
(*note Obtaining and Building VAS_EBOOT::). You can do this either from the
|
||
source tarball, or as a package for your OS.
|
||
|
||
After you have done that, you need to install the boot loader on a
|
||
drive (floppy or hard disk) by using the utility 'VasEBoot-install' (*note
|
||
Invoking VasEBoot-install::) on a UNIX-like OS.
|
||
|
||
VAS_EBOOT comes with boot images, which are normally put in the directory
|
||
'/usr/lib/VasEBoot/<cpu>-<platform>' (for BIOS-based machines
|
||
'/usr/lib/VasEBoot/i386-pc'). Hereafter, the directory where VAS_EBOOT images
|
||
are initially placed (normally '/usr/lib/VasEBoot/<cpu>-<platform>') will be
|
||
called the "image directory", and the directory where the boot loader
|
||
needs to find them (usually '/boot') will be called the "boot
|
||
directory".
|
||
|
||
* Menu:
|
||
|
||
* Installing VAS_EBOOT using VasEBoot-install::
|
||
* Making a VAS_EBOOT bootable CD-ROM::
|
||
* Device map::
|
||
* BIOS installation::
|
||
|
||
|
||
File: VasEBoot.info, Node: Installing VAS_EBOOT using VasEBoot-install, Next: Making a VAS_EBOOT bootable CD-ROM, Up: Installation
|
||
|
||
4.1 Installing VAS_EBOOT using VasEBoot-install
|
||
======================================
|
||
|
||
For information on where VAS_EBOOT should be installed on PC BIOS platforms,
|
||
*note BIOS installation::.
|
||
|
||
In order to install VAS_EBOOT under a UNIX-like OS (such as GNU), invoke
|
||
the program 'VasEBoot-install' (*note Invoking VasEBoot-install::) as the
|
||
superuser ("root").
|
||
|
||
The usage is basically very simple. You only need to specify one
|
||
argument to the program, namely, where to install the boot loader. The
|
||
argument has to be either a device file (like '/dev/hda'). For example,
|
||
under Linux the following will install VAS_EBOOT into the MBR of the first
|
||
IDE disk:
|
||
|
||
# VasEBoot-install /dev/sda
|
||
|
||
Likewise, under GNU/Hurd, this has the same effect:
|
||
|
||
# VasEBoot-install /dev/hd0
|
||
|
||
But all the above examples assume that VAS_EBOOT should put images under
|
||
the '/boot' directory. If you want VAS_EBOOT to put images under a directory
|
||
other than '/boot', you need to specify the option '--boot-directory'.
|
||
The typical usage is that you create a VAS_EBOOT boot floppy with a
|
||
filesystem. Here is an example:
|
||
|
||
# mke2fs /dev/fd0
|
||
# mount -t ext2 /dev/fd0 /mnt
|
||
# mkdir /mnt/boot
|
||
# VasEBoot-install --boot-directory=/mnt/boot /dev/fd0
|
||
# umount /mnt
|
||
|
||
Some BIOSes have a bug of exposing the first partition of a USB drive
|
||
as a floppy instead of exposing the USB drive as a hard disk (they call
|
||
it "USB-FDD" boot). In such cases, you need to install like this:
|
||
|
||
# losetup /dev/loop0 /dev/sdb1
|
||
# mount /dev/loop0 /mnt/usb
|
||
# VasEBoot-install --boot-directory=/mnt/usb/bugbios --force --allow-floppy /dev/loop0
|
||
|
||
This install doesn't conflict with standard install as long as they
|
||
are in separate directories.
|
||
|
||
On EFI systems for fixed disk install you have to mount EFI System
|
||
Partition. If you mount it at '/boot/efi' then you don't need any
|
||
special arguments:
|
||
|
||
# VasEBoot-install
|
||
|
||
Otherwise you need to specify where your EFI System partition is
|
||
mounted:
|
||
|
||
# VasEBoot-install --efi-directory=/mnt/efi
|
||
|
||
For removable installs you have to use '--removable' and specify both
|
||
'--boot-directory' and '--efi-directory':
|
||
|
||
# VasEBoot-install --efi-directory=/mnt/usb --boot-directory=/mnt/usb/boot --removable
|
||
|
||
|
||
File: VasEBoot.info, Node: Making a VAS_EBOOT bootable CD-ROM, Next: Device map, Prev: Installing VAS_EBOOT using VasEBoot-install, Up: Installation
|
||
|
||
4.2 Making a VAS_EBOOT bootable CD-ROM
|
||
=================================
|
||
|
||
VAS_EBOOT supports the "no emulation mode" in the El Torito specification(1)
|
||
(*note Making a VAS_EBOOT bootable CD-ROM-Footnote-1::). This means that you
|
||
can use the whole CD-ROM from VAS_EBOOT and you don't have to make a floppy
|
||
or hard disk image file, which can cause compatibility problems.
|
||
|
||
For booting from a CD-ROM, VAS_EBOOT uses a special image called
|
||
'cdboot.img', which is concatenated with 'core.img'. The 'core.img'
|
||
used for this should be built with at least the 'iso9660' and 'biosdisk'
|
||
modules. Your bootable CD-ROM will usually also need to include a
|
||
configuration file 'VasEBoot.cfg' and some other VAS_EBOOT modules.
|
||
|
||
To make a simple generic VAS_EBOOT rescue CD, you can use the
|
||
'VasEBoot-mkrescue' program (*note Invoking VasEBoot-mkrescue::):
|
||
|
||
$ VasEBoot-mkrescue -o VasEBoot.iso
|
||
|
||
You will often need to include other files in your image. To do
|
||
this, first make a top directory for the bootable image, say, 'iso':
|
||
|
||
$ mkdir iso
|
||
|
||
Make a directory for VAS_EBOOT:
|
||
|
||
$ mkdir -p iso/boot/VasEBoot
|
||
|
||
If desired, make the config file 'VasEBoot.cfg' under 'iso/boot/VasEBoot'
|
||
(*note Configuration::), and copy any files and directories for the disc
|
||
to the directory 'iso/'.
|
||
|
||
Finally, make the image:
|
||
|
||
$ VasEBoot-mkrescue -o VasEBoot.iso iso
|
||
|
||
This produces a file named 'VasEBoot.iso', which then can be burned into
|
||
a CD (or a DVD), or written to a USB mass storage device.
|
||
|
||
The root device will be set up appropriately on entering your
|
||
'VasEBoot.cfg' configuration file, so you can refer to file names on the CD
|
||
without needing to use an explicit device name. This makes it easier to
|
||
produce rescue images that will work on both optical drives and USB mass
|
||
storage devices.
|
||
|
||
|
||
File: VasEBoot.info, Node: Making a VAS_EBOOT bootable CD-ROM-Footnotes, Up: Making a VAS_EBOOT bootable CD-ROM
|
||
|
||
(1) El Torito is a specification for bootable CD using BIOS
|
||
functions.
|
||
|
||
|
||
File: VasEBoot.info, Node: Device map, Next: BIOS installation, Prev: Making a VAS_EBOOT bootable CD-ROM, Up: Installation
|
||
|
||
4.3 The map between BIOS drives and OS devices
|
||
==============================================
|
||
|
||
If the device map file exists, the VAS_EBOOT utilities ('VasEBoot-probe', etc.)
|
||
read it to map BIOS drives to OS devices. This file consists of lines
|
||
like this:
|
||
|
||
(DEVICE) FILE
|
||
|
||
DEVICE is a drive specified in the VAS_EBOOT syntax (*note Device
|
||
syntax::), and FILE is an OS file, which is normally a device file.
|
||
|
||
Historically, the device map file was used because VAS_EBOOT device names
|
||
had to be used in the configuration file, and they were derived from
|
||
BIOS drive numbers. The map between BIOS drives and OS devices cannot
|
||
always be guessed correctly: for example, VAS_EBOOT will get the order wrong
|
||
if you exchange the boot sequence between IDE and SCSI in your BIOS.
|
||
|
||
Unfortunately, even OS device names are not always stable. Modern
|
||
versions of the Linux kernel may probe drives in a different order from
|
||
boot to boot, and the prefix ('/dev/hd*' versus '/dev/sd*') may change
|
||
depending on the driver subsystem in use. As a result, the device map
|
||
file required frequent editing on some systems.
|
||
|
||
VAS_EBOOT avoids this problem nowadays by using UUIDs or file system
|
||
labels when generating 'VasEBoot.cfg', and we advise that you do the same
|
||
for any custom menu entries you write. If the device map file does not
|
||
exist, then the VAS_EBOOT utilities will assume a temporary device map on the
|
||
fly. This is often good enough, particularly in the common case of
|
||
single-disk systems.
|
||
|
||
However, the device map file is not entirely obsolete yet, and it is
|
||
used for overriding when current environment is different from the one
|
||
on boot. Most common case is if you use a partition or logical volume
|
||
as a disk for virtual machine. You can put any comments in the file if
|
||
needed, as the VAS_EBOOT utilities assume that a line is just a comment if
|
||
the first character is '#'.
|
||
|
||
|
||
File: VasEBoot.info, Node: BIOS installation, Prev: Device map, Up: Installation
|
||
|
||
4.4 BIOS installation
|
||
=====================
|
||
|
||
MBR
|
||
===
|
||
|
||
The partition table format traditionally used on PC BIOS platforms is
|
||
called the Master Boot Record (MBR) format; this is the format that
|
||
allows up to four primary partitions and additional logical partitions.
|
||
With this partition table format, there are two ways to install VAS_EBOOT: it
|
||
can be embedded in the area between the MBR and the first partition
|
||
(called by various names, such as the "boot track", "MBR gap", or
|
||
"embedding area", and which is usually at least 1000 KiB), or the core
|
||
image can be installed in a file system and a list of the blocks that
|
||
make it up can be stored in the first sector of that partition.
|
||
|
||
Modern tools usually leave MBR gap of at least 1023 KiB. This amount
|
||
is sufficient to cover most configurations. Hence this value is
|
||
recommended by the VAS_EBOOT team.
|
||
|
||
Historically many tools left only 31 KiB of space. This is not
|
||
enough to parse reliably difficult structures like Btrfs, ZFS, RAID or
|
||
LVM, or to use difficult disk access methods like ahci. Hence VAS_EBOOT will
|
||
warn if attempted to install into small MBR gap except in a small number
|
||
of configurations that were grandfathered. The grandfathered config
|
||
must:
|
||
|
||
* use biosdisk as disk access module for '/boot'
|
||
|
||
* not use any additional partition maps to access '/boot'
|
||
|
||
* '/boot' must be on one of following filesystems: AFFS, AFS, BFS,
|
||
cpio, newc, odc, ext2/3/4, FAT, exFAT, F2FS, HFS, uncompressed
|
||
HFS+, ISO9660, JFS, Minix, Minix2, Minix3, NILFS2, NTFS, ReiserFS,
|
||
ROMFS, SFS, tar, UDF, UFS1, UFS2, XFS
|
||
Note: Only a subset of filesystems are supported in lockdown mode
|
||
(such as when secure boot is enabled, *note Lockdown:: for more
|
||
information).
|
||
|
||
MBR gap has few technical problems. There is no way to reserve space
|
||
in the embedding area with complete safety, and some proprietary
|
||
software is known to use it to make it difficult for users to work
|
||
around licensing restrictions. VAS_EBOOT works around it by detecting
|
||
sectors by other software and avoiding them and protecting its own
|
||
sectors using Reed-Solomon encoding.
|
||
|
||
VAS_EBOOT team recommends having MBR gap of at least 1000 KiB.
|
||
|
||
Should it not be possible, VAS_EBOOT has support for a fallback solution
|
||
which is heavily recommended against. Installing to a filesystem means
|
||
that VAS_EBOOT is vulnerable to its blocks being moved around by filesystem
|
||
features such as tail packing, or even by aggressive fsck
|
||
implementations, so this approach is quite fragile; and this approach
|
||
can only be used if the '/boot' filesystem is on the same disk that the
|
||
BIOS boots from, so that VAS_EBOOT does not have to rely on guessing BIOS
|
||
drive numbers.
|
||
|
||
The VAS_EBOOT development team generally recommends embedding VAS_EBOOT before
|
||
the first partition, unless you have special requirements. You must
|
||
ensure that the first partition starts at least 1000 KiB (2000 sectors)
|
||
from the start of the disk; on modern disks, it is often a performance
|
||
advantage to align partitions on larger boundaries anyway, so the first
|
||
partition might start 1 MiB from the start of the disk.
|
||
|
||
GPT
|
||
===
|
||
|
||
Some newer systems use the GUID Partition Table (GPT) format. This was
|
||
specified as part of the Extensible Firmware Interface (EFI), but it can
|
||
also be used on BIOS platforms if system software supports it; for
|
||
example, VAS_EBOOT and GNU/Linux can be used in this configuration. With
|
||
this format, it is possible to reserve a whole partition for VAS_EBOOT,
|
||
called the BIOS Boot Partition. VAS_EBOOT can then be embedded into that
|
||
partition without the risk of being overwritten by other software and
|
||
without being contained in a filesystem which might move its blocks
|
||
around.
|
||
|
||
When creating a BIOS Boot Partition on a GPT system, you should make
|
||
sure that it is at least 31 KiB in size. (GPT-formatted disks are not
|
||
usually particularly small, so we recommend that you make it larger than
|
||
the bare minimum, such as 1 MiB, to allow plenty of room for growth.)
|
||
You must also make sure that it has the proper partition type. Using
|
||
GNU Parted, you can set this using a command such as the following:
|
||
|
||
# parted /dev/DISK set PARTITION-NUMBER bios_VasEBoot on
|
||
|
||
If you are using gdisk, set the partition type to '0xEF02'. With
|
||
partitioning programs that require setting the GUID directly, it should
|
||
be '21686148-6449-6e6f-744e656564454649'.
|
||
|
||
*Caution:* Be very careful which partition you select! When VAS_EBOOT
|
||
finds a BIOS Boot Partition during installation, it will automatically
|
||
overwrite part of it. Make sure that the partition does not contain any
|
||
other data.
|
||
|
||
|
||
File: VasEBoot.info, Node: Booting, Next: Configuration, Prev: Installation, Up: Top
|
||
|
||
5 Booting
|
||
*********
|
||
|
||
VAS_EBOOT can load Multiboot-compliant kernels in a consistent way, but for
|
||
some free operating systems you need to use some OS-specific magic.
|
||
|
||
* Menu:
|
||
|
||
* General boot methods:: How to boot OSes with VAS_EBOOT generally
|
||
* Loopback booting:: Notes on booting from loopbacks
|
||
* LVM cache booting:: Notes on booting from LVM cache logical volume
|
||
* OS-specific notes:: Notes on some operating systems
|
||
|
||
|
||
File: VasEBoot.info, Node: General boot methods, Next: Loopback booting, Up: Booting
|
||
|
||
5.1 How to boot operating systems
|
||
=================================
|
||
|
||
VAS_EBOOT has three distinct boot methods: loading an operating system
|
||
directly, using kexec from userspace, and chainloading another
|
||
bootloader. Generally speaking, the first two are more desirable
|
||
because you don't need to install or maintain other boot loaders and
|
||
VAS_EBOOT is flexible enough to load an operating system from an arbitrary
|
||
disk/partition. However, chainloading is sometimes required, as VAS_EBOOT
|
||
doesn't support all existing operating systems natively.
|
||
|
||
* Menu:
|
||
|
||
* Loading an operating system directly::
|
||
* Kexec::
|
||
* Chain-loading::
|
||
|
||
|
||
File: VasEBoot.info, Node: Loading an operating system directly, Next: Kexec, Up: General boot methods
|
||
|
||
5.1.1 How to boot an OS directly with VAS_EBOOT
|
||
------------------------------------------
|
||
|
||
Multiboot (*note Multiboot Specification: (multiboot)Top.) is the native
|
||
format supported by VAS_EBOOT. For the sake of convenience, there is also
|
||
support for Linux, FreeBSD, NetBSD and OpenBSD. If you want to boot
|
||
other operating systems, you will have to chain-load them (*note
|
||
Chain-loading::).
|
||
|
||
FIXME: this section is incomplete.
|
||
|
||
1. Run the command 'boot' (*note boot::).
|
||
|
||
However, DOS and Windows have some deficiencies, so you might have to
|
||
use more complicated instructions. *Note DOS/Windows::, for more
|
||
information.
|
||
|
||
|
||
File: VasEBoot.info, Node: Kexec, Next: Chain-loading, Prev: Loading an operating system directly, Up: General boot methods
|
||
|
||
5.1.2 Kexec with VasEBoot2-emu
|
||
--------------------------
|
||
|
||
VAS_EBOOT can be run in userspace by invoking the VasEBoot2-emu tool. It will
|
||
read all configuration scripts as if booting directly (see *note Loading
|
||
an operating system directly::). With the '--kexec' flag, and kexec(8)
|
||
support from the operating system, the 'linux' command will directly
|
||
boot the target image. For systems that lack working systemctl(1)
|
||
support for kexec, passing the '--kexec' flag twice will fallback to
|
||
invoking kexec(8) directly; note however that this fallback may be
|
||
unsafe outside read-only environments, as it does not invoke shutdown
|
||
machinery.
|
||
|
||
|
||
File: VasEBoot.info, Node: Chain-loading, Prev: Kexec, Up: General boot methods
|
||
|
||
5.1.3 Chain-loading an OS
|
||
-------------------------
|
||
|
||
Operating systems that do not support Multiboot and do not have specific
|
||
support in VAS_EBOOT (specific support is available for Linux, FreeBSD,
|
||
NetBSD and OpenBSD) must be chain-loaded, which involves loading another
|
||
boot loader and jumping to it in real mode or via the firmware.
|
||
|
||
The 'chainloader' command (*note chainloader::) is used to set this
|
||
up. It is normally also necessary to load some VAS_EBOOT modules and set the
|
||
appropriate root device. Putting this together, we get something like
|
||
this, for a Windows system on the first partition of the first hard
|
||
disk:
|
||
|
||
menuentry "Windows" {
|
||
insmod chain
|
||
insmod ntfs
|
||
set root=(hd0,1)
|
||
chainloader +1
|
||
}
|
||
|
||
On systems with multiple hard disks, an additional workaround may be
|
||
required. *Note DOS/Windows::.
|
||
|
||
Chain-loading is only supported on PC BIOS and EFI platforms.
|
||
|
||
|
||
File: VasEBoot.info, Node: Loopback booting, Next: LVM cache booting, Prev: General boot methods, Up: Booting
|
||
|
||
5.2 Loopback booting
|
||
====================
|
||
|
||
VAS_EBOOT is able to read from an image (be it one of CD or HDD) stored on
|
||
any of its accessible storages (refer to *note loopback:: command).
|
||
However the OS itself should be able to find its root. This usually
|
||
involves running a userspace program running before the real root is
|
||
discovered. This is achieved by VAS_EBOOT loading a specially made small
|
||
image and passing it as ramdisk to the kernel. This is achieved by
|
||
commands 'kfreebsd_module', 'knetbsd_module_elf', 'kopenbsd_ramdisk',
|
||
'initrd' (*note initrd::), 'initrd16' (*note initrd16::),
|
||
'multiboot_module', 'multiboot2_module' or 'xnu_ramdisk' depending on
|
||
the loader. Note that for knetbsd the image must be put inside
|
||
miniroot.kmod and the whole miniroot.kmod has to be loaded. In kopenbsd
|
||
payload this is disabled by default. Additionally, behaviour of initial
|
||
ramdisk depends on command line options. Several distributors provide
|
||
the image for this purpose or it's integrated in their standard ramdisk
|
||
and activated by special option. Consult your kernel and distribution
|
||
manual for more details. Other loaders like 'appleloader',
|
||
'chainloader' (BIOS, EFI, coreboot), 'freedos', 'ntldr', 'plan9' and
|
||
'truecrypt' provide no possibility of loading initial ramdisk and as far
|
||
as author is aware the payloads in question don't support either initial
|
||
ramdisk or discovering loopback boot in other way and as such not
|
||
bootable this way. Please consider alternative boot methods like
|
||
copying all files from the image to actual partition. Consult your OS
|
||
documentation for more details.
|
||
|
||
|
||
File: VasEBoot.info, Node: LVM cache booting, Next: OS-specific notes, Prev: Loopback booting, Up: Booting
|
||
|
||
5.3 Booting from LVM cache logical volume
|
||
=========================================
|
||
|
||
The LVM cache logical volume is the logical volume consisting of the
|
||
original and the cache pool logical volume. The original is usually on
|
||
a larger and slower storage device while the cache pool is on a smaller
|
||
and faster one. The performance of the original volume can be improved
|
||
by storing the frequently used data on the cache pool to utilize the
|
||
greater performance of faster device.
|
||
|
||
VAS_EBOOT boots from LVM cache logical volume merely by reading it's
|
||
original logical volume so that dirty data in cache pool volume is
|
||
disregarded. This is not a problem for "writethrough" cache mode as it
|
||
ensures that any data written will be stored both on the cache and the
|
||
origin LV. For the other cache mode "writeback", which delays writing
|
||
from the cache pool back to the origin LV to boost performance, VAS_EBOOT may
|
||
fail to boot in the wake of accidental power outage due to it's
|
||
inability to assemble the cache device for reading the required dirty
|
||
data left behind. The situation will be improved after adding full
|
||
support to the LVM cache logical volume in the future.
|
||
|
||
|
||
File: VasEBoot.info, Node: OS-specific notes, Prev: LVM cache booting, Up: Booting
|
||
|
||
5.4 Some caveats on OS-specific issues
|
||
======================================
|
||
|
||
Here, we describe some caveats on several operating systems.
|
||
|
||
* Menu:
|
||
|
||
* GNU/Hurd::
|
||
* GNU/Linux::
|
||
* NetBSD::
|
||
* DOS/Windows::
|
||
|
||
|
||
File: VasEBoot.info, Node: GNU/Hurd, Next: GNU/Linux, Up: OS-specific notes
|
||
|
||
5.4.1 GNU/Hurd
|
||
--------------
|
||
|
||
Since GNU/Hurd is Multiboot-compliant, it is easy to boot it; there is
|
||
nothing special about it. But do not forget that you have to specify a
|
||
root partition to the kernel.
|
||
|
||
1. Set VAS_EBOOT's root device to the same drive as GNU/Hurd's. The
|
||
command 'search --set=root --file /boot/gnumach.gz' or similar may
|
||
help you (*note search::).
|
||
|
||
2. Load the kernel and the modules, like this:
|
||
|
||
VasEBoot> multiboot /boot/gnumach.gz root=device:hd0s1
|
||
VasEBoot> module /hurd/ext2fs.static ext2fs --readonly \
|
||
--multiboot-command-line='${kernel-command-line}' \
|
||
--host-priv-port='${host-port}' \
|
||
--device-master-port='${device-port}' \
|
||
--exec-server-task='${exec-task}' -T typed '${root}' \
|
||
'$(task-create)' '$(task-resume)'
|
||
VasEBoot> module /lib/ld.so.1 exec /hurd/exec '$(exec-task=task-create)'
|
||
|
||
3. Finally, run the command 'boot' (*note boot::).
|
||
|
||
|
||
File: VasEBoot.info, Node: GNU/Linux, Next: NetBSD, Prev: GNU/Hurd, Up: OS-specific notes
|
||
|
||
5.4.2 GNU/Linux
|
||
---------------
|
||
|
||
It is relatively easy to boot GNU/Linux from VAS_EBOOT, because it somewhat
|
||
resembles to boot a Multiboot-compliant OS.
|
||
|
||
1. Set VAS_EBOOT's root device to the same drive as GNU/Linux's. The
|
||
command 'search --set=root --file /vmlinuz' or similar may help you
|
||
(*note search::).
|
||
|
||
2. Load the kernel using the command 'linux' (*note linux::):
|
||
|
||
VasEBoot> linux /vmlinuz root=/dev/sda1
|
||
|
||
If you need to specify some kernel parameters, just append them to
|
||
the command. For example, to set 'acpi' to 'off', do this:
|
||
|
||
VasEBoot> linux /vmlinuz root=/dev/sda1 acpi=off
|
||
|
||
See the documentation in the Linux source tree for complete
|
||
information on the available options.
|
||
|
||
With 'linux' VAS_EBOOT uses 32-bit protocol. Some BIOS services like
|
||
APM or EDD aren't available with this protocol. In this case you
|
||
need to use 'linux16'
|
||
|
||
VasEBoot> linux16 /vmlinuz root=/dev/sda1 acpi=off
|
||
|
||
3. If you use an initrd, execute the command 'initrd' (*note initrd::)
|
||
after 'linux':
|
||
|
||
VasEBoot> initrd /initrd
|
||
|
||
If you used 'linux16' you need to use 'initrd16':
|
||
|
||
VasEBoot> initrd16 /initrd
|
||
|
||
4. Finally, run the command 'boot' (*note boot::).
|
||
|
||
|
||
File: VasEBoot.info, Node: NetBSD, Next: DOS/Windows, Prev: GNU/Linux, Up: OS-specific notes
|
||
|
||
5.4.3 NetBSD
|
||
------------
|
||
|
||
Booting a NetBSD kernel from VAS_EBOOT is also relatively easy: first set
|
||
VAS_EBOOT's root device, then load the kernel and the modules, and finally
|
||
run 'boot'.
|
||
|
||
1. Set VAS_EBOOT's root device to the partition holding the NetBSD root
|
||
file system. For a disk with a NetBSD disk label, this is usually
|
||
the first partition (a:). In that case, and assuming that the
|
||
partition is on the first hard disk, set VAS_EBOOT's root device as
|
||
follows:
|
||
|
||
VasEBoot> insmod part_bsd
|
||
VasEBoot> set root=(hd0,netbsd1)
|
||
|
||
For a disk with a GUID Partition Table (GPT), and assuming that the
|
||
NetBSD root partition is the third GPT partition, do this:
|
||
|
||
VasEBoot> insmod part_gpt
|
||
VasEBoot> set root=(hd0,gpt3)
|
||
|
||
2. Load the kernel using the command 'knetbsd':
|
||
|
||
VasEBoot> knetbsd /netbsd
|
||
|
||
Various options may be given to 'knetbsd'. These options are, for
|
||
the most part, the same as in the NetBSD boot loader. For
|
||
instance, to boot the system in single-user mode and with verbose
|
||
messages, do this:
|
||
|
||
VasEBoot> knetbsd /netbsd -s -v
|
||
|
||
3. If needed, load kernel modules with the command
|
||
'knetbsd_module_elf'. A typical example is the module for the root
|
||
file system:
|
||
|
||
VasEBoot> knetbsd_module_elf /stand/amd64/6.0/modules/ffs/ffs.kmod
|
||
|
||
4. Finally, run the command 'boot' (*note boot::).
|
||
|
||
|
||
File: VasEBoot.info, Node: DOS/Windows, Prev: NetBSD, Up: OS-specific notes
|
||
|
||
5.4.4 DOS/Windows
|
||
-----------------
|
||
|
||
VAS_EBOOT cannot boot DOS or Windows directly, so you must chain-load them
|
||
(*note Chain-loading::). However, their boot loaders have some critical
|
||
deficiencies, so it may not work to just chain-load them. To overcome
|
||
the problems, VAS_EBOOT provides you with two helper functions.
|
||
|
||
If you have installed DOS (or Windows) on a non-first hard disk, you
|
||
have to use the disk swapping technique, because that OS cannot boot
|
||
from any disks but the first one. The workaround used in VAS_EBOOT is the
|
||
command 'drivemap' (*note drivemap::), like this:
|
||
|
||
drivemap -s (hd0) (hd1)
|
||
|
||
This performs a "virtual" swap between your first and second hard
|
||
drive.
|
||
|
||
*Caution:* This is effective only if DOS (or Windows) uses BIOS to
|
||
access the swapped disks. If that OS uses a special driver for the
|
||
disks, this probably won't work.
|
||
|
||
Another problem arises if you installed more than one set of
|
||
DOS/Windows onto one disk, because they could be confused if there are
|
||
more than one primary partitions for DOS/Windows. Certainly you should
|
||
avoid doing this, but there is a solution if you do want to do so. Use
|
||
the partition hiding/unhiding technique.
|
||
|
||
If VAS_EBOOT "hides" a DOS (or Windows) partition (*note parttool::), DOS
|
||
(or Windows) will ignore the partition. If VAS_EBOOT "unhides" a DOS (or
|
||
Windows) partition, DOS (or Windows) will detect the partition. Thus,
|
||
if you have installed DOS (or Windows) on the first and the second
|
||
partition of the first hard disk, and you want to boot the copy on the
|
||
first partition, do the following:
|
||
|
||
parttool (hd0,1) hidden-
|
||
parttool (hd0,2) hidden+
|
||
set root=(hd0,1)
|
||
chainloader +1
|
||
parttool ${root} boot+
|
||
boot
|
||
|
||
|
||
File: VasEBoot.info, Node: Configuration, Next: Theme file format, Prev: Booting, Up: Top
|
||
|
||
6 Writing your own configuration file
|
||
*************************************
|
||
|
||
VAS_EBOOT is configured using 'VasEBoot.cfg', usually located under '/boot/VasEBoot'.
|
||
This file is quite flexible, but most users will not need to write the
|
||
whole thing by hand.
|
||
|
||
* Menu:
|
||
|
||
* Simple configuration:: Recommended for most users
|
||
* Root Identification Heuristics:: Summary on how the root file system is identified.
|
||
* Shell-like scripting:: For power users and developers
|
||
* Multi-boot manual config:: For non-standard multi-OS scenarios
|
||
* Embedded configuration:: Embedding a configuration file into VAS_EBOOT
|
||
|
||
|
||
File: VasEBoot.info, Node: Simple configuration, Next: Root Identification Heuristics, Up: Configuration
|
||
|
||
6.1 Simple configuration handling
|
||
=================================
|
||
|
||
The program 'VasEBoot-mkconfig' (*note Invoking VasEBoot-mkconfig::) generates
|
||
'VasEBoot.cfg' files suitable for most cases. It is suitable for use when
|
||
upgrading a distribution, and will discover available kernels and
|
||
attempt to generate menu entries for them.
|
||
|
||
'VasEBoot-mkconfig' does have some limitations. While adding extra
|
||
custom menu entries to the end of the list can be done by editing
|
||
'/etc/VasEBoot.d/40_custom' or creating '/boot/VasEBoot/custom.cfg', changing
|
||
the order of menu entries or changing their titles may require making
|
||
complex changes to shell scripts stored in '/etc/VasEBoot.d/'. This may be
|
||
improved in the future. In the meantime, those who feel that it would
|
||
be easier to write 'VasEBoot.cfg' directly are encouraged to do so (*note
|
||
Booting::, and *note Shell-like scripting::), and to disable any system
|
||
provided by their distribution to automatically run 'VasEBoot-mkconfig'.
|
||
|
||
The file '/etc/default/VasEBoot' controls the operation of
|
||
'VasEBoot-mkconfig'. It is sourced by a shell script, and so must be valid
|
||
POSIX shell input; normally, it will just be a sequence of 'KEY=value'
|
||
lines, but if the value contains spaces or other special characters then
|
||
it must be quoted. For example:
|
||
|
||
VAS_EBOOT_TERMINAL_INPUT="console serial"
|
||
|
||
Valid keys in '/etc/default/VasEBoot' are as follows:
|
||
|
||
'VAS_EBOOT_DEFAULT'
|
||
The default menu entry. This may be a number, in which case it
|
||
identifies the Nth entry in the generated menu counted from zero,
|
||
or the title of a menu entry, or the special string 'saved'. Using
|
||
the id may be useful if you want to set a menu entry as the default
|
||
even though there may be a variable number of entries before it.
|
||
|
||
For example, if you have:
|
||
|
||
menuentry 'Example GNU/Linux distribution' --class gnu-linux --id example-gnu-linux {
|
||
...
|
||
}
|
||
|
||
then you can make this the default using:
|
||
|
||
VAS_EBOOT_DEFAULT=example-gnu-linux
|
||
|
||
Previously it was documented the way to use entry title. While
|
||
this still works it's not recommended since titles often contain
|
||
unstable device names and may be translated
|
||
|
||
If you set this to 'saved', then the default menu entry will be
|
||
that saved by 'VAS_EBOOT_SAVEDEFAULT' or 'VasEBoot-set-default'. This
|
||
relies on the environment block, which may not be available in all
|
||
situations (*note Environment block::).
|
||
|
||
The default is '0'.
|
||
|
||
'VAS_EBOOT_SAVEDEFAULT'
|
||
If this option is set to 'true', then, when an entry is selected,
|
||
save it as a new default entry for use by future runs of VAS_EBOOT. This
|
||
is only useful if 'VAS_EBOOT_DEFAULT=saved'; it is a separate option
|
||
because 'VAS_EBOOT_DEFAULT=saved' is useful without this option, in
|
||
conjunction with 'VasEBoot-set-default'. Unset by default. This
|
||
option relies on the environment block, which may not be available
|
||
in all situations (*note Environment block::).
|
||
|
||
'VAS_EBOOT_TIMEOUT'
|
||
Boot the default entry this many seconds after the menu is
|
||
displayed, unless a key is pressed. The default is '5'. Set to
|
||
'0' to boot immediately without displaying the menu, or to '-1' to
|
||
wait indefinitely.
|
||
|
||
If 'VAS_EBOOT_TIMEOUT_STYLE' is set to 'countdown' or 'hidden', the
|
||
timeout is instead counted before the menu is displayed.
|
||
|
||
'VAS_EBOOT_TIMEOUT_STYLE'
|
||
If this option is unset or set to 'menu', then VAS_EBOOT will display
|
||
the menu and then wait for the timeout set by 'VAS_EBOOT_TIMEOUT' to
|
||
expire before booting the default entry. Pressing a key interrupts
|
||
the timeout.
|
||
|
||
If this option is set to 'countdown' or 'hidden', then, before
|
||
displaying the menu, VAS_EBOOT will wait for the timeout set by
|
||
'VAS_EBOOT_TIMEOUT' to expire. If <ESC> or <F4> are pressed, or <SHIFT>
|
||
is held down during that time, it will display the menu and wait
|
||
for input. If a hotkey associated with a menu entry is pressed, it
|
||
will boot the associated menu entry immediately. If the timeout
|
||
expires before either of these happens, it will boot the default
|
||
entry. In the 'countdown' case, it will show a one-line indication
|
||
of the remaining time.
|
||
|
||
'VAS_EBOOT_DEFAULT_BUTTON'
|
||
'VAS_EBOOT_TIMEOUT_BUTTON'
|
||
'VAS_EBOOT_TIMEOUT_STYLE_BUTTON'
|
||
'VAS_EBOOT_BUTTON_CMOS_ADDRESS'
|
||
Variants of the corresponding variables without the '_BUTTON'
|
||
suffix, used to support vendor-specific power buttons. *Note
|
||
Vendor power-on keys::.
|
||
|
||
'VAS_EBOOT_DISTRIBUTOR'
|
||
Set by distributors of VAS_EBOOT to their identifying name. This is
|
||
used to generate more informative menu entry titles.
|
||
|
||
'VAS_EBOOT_TERMINAL_INPUT'
|
||
Select the terminal input device. You may select multiple devices
|
||
here, separated by spaces.
|
||
|
||
Valid terminal input names depend on the platform, but may include
|
||
'console' (native platform console), 'serial' (serial terminal),
|
||
'serial_<port>' (serial terminal with explicit port selection),
|
||
'at_keyboard' (PC AT keyboard), or 'usb_keyboard' (USB keyboard
|
||
using the HID Boot Protocol, for cases where the firmware does not
|
||
handle this).
|
||
|
||
The default is to use the platform's native terminal input.
|
||
|
||
'VAS_EBOOT_TERMINAL_OUTPUT'
|
||
Select the terminal output device. You may select multiple devices
|
||
here, separated by spaces.
|
||
|
||
Valid terminal output names depend on the platform, but may include
|
||
'console' (native platform console), 'serial' (serial terminal),
|
||
'serial_<port>' (serial terminal with explicit port selection),
|
||
'gfxterm' (graphics-mode output), 'vga_text' (VGA text output),
|
||
'mda_text' (MDA text output), 'morse' (Morse-coding using system
|
||
beeper) or 'spkmodem' (simple data protocol using system speaker).
|
||
|
||
'spkmodem' is useful when no serial port is available. Connect the
|
||
output of sending system (where VAS_EBOOT is running) to line-in of
|
||
receiving system (usually developer machine). On receiving system
|
||
compile 'spkmodem-recv' from 'util/spkmodem-recv.c' and run:
|
||
|
||
parecord --channels=1 --rate=48000 --format=s16le | ./spkmodem-recv
|
||
|
||
The default is to use the platform's native terminal output.
|
||
|
||
'VAS_EBOOT_TERMINAL'
|
||
If this option is set, it overrides both 'VAS_EBOOT_TERMINAL_INPUT' and
|
||
'VAS_EBOOT_TERMINAL_OUTPUT' to the same value.
|
||
|
||
'VAS_EBOOT_SERIAL_COMMAND'
|
||
A command to configure the serial port when using the serial
|
||
console. *Note serial::. Defaults to 'serial'.
|
||
|
||
'VAS_EBOOT_CMDLINE_LINUX'
|
||
Command-line arguments to add to menu entries for the Linux kernel.
|
||
|
||
'VAS_EBOOT_CMDLINE_LINUX_DEFAULT'
|
||
Unless 'VAS_EBOOT_DISABLE_RECOVERY' is set to 'true', two menu entries
|
||
will be generated for each Linux kernel: one default entry and one
|
||
entry for recovery mode. This option lists command-line arguments
|
||
to add only to the default menu entry, after those listed in
|
||
'VAS_EBOOT_CMDLINE_LINUX'.
|
||
|
||
'VAS_EBOOT_CMDLINE_LINUX_RECOVERY'
|
||
Unless 'VAS_EBOOT_DISABLE_RECOVERY' is set to 'true', two menu entries
|
||
will be generated for each Linux kernel: one default entry and one
|
||
entry for recovery mode. This option lists command-line arguments
|
||
to add only to the recovery menu entry, before those listed in
|
||
'VAS_EBOOT_CMDLINE_LINUX'. The default is 'single'.
|
||
|
||
'VAS_EBOOT_CMDLINE_NETBSD'
|
||
'VAS_EBOOT_CMDLINE_NETBSD_DEFAULT'
|
||
As 'VAS_EBOOT_CMDLINE_LINUX' and 'VAS_EBOOT_CMDLINE_LINUX_DEFAULT', but for
|
||
NetBSD.
|
||
|
||
'VAS_EBOOT_CMDLINE_GNUMACH'
|
||
As 'VAS_EBOOT_CMDLINE_LINUX', but for GNU Mach.
|
||
|
||
'VAS_EBOOT_CMDLINE_XEN'
|
||
'VAS_EBOOT_CMDLINE_XEN_DEFAULT'
|
||
The values of these options are passed to Xen hypervisor Xen menu
|
||
entries, for all respectively normal entries.
|
||
|
||
'VAS_EBOOT_CMDLINE_LINUX_XEN_REPLACE'
|
||
'VAS_EBOOT_CMDLINE_LINUX_XEN_REPLACE_DEFAULT'
|
||
The values of these options replace the values of
|
||
'VAS_EBOOT_CMDLINE_LINUX' and 'VAS_EBOOT_CMDLINE_LINUX_DEFAULT' for Linux and
|
||
Xen menu entries.
|
||
|
||
'VAS_EBOOT_TOP_LEVEL'
|
||
'VAS_EBOOT_TOP_LEVEL_XEN'
|
||
This option should be an absolute path to a kernel image. If
|
||
provided, the image specified will be made the top-level entry if
|
||
it is found in the scan.
|
||
|
||
'VAS_EBOOT_TOP_LEVEL_OS_PROBER'
|
||
This option should be a line of output from 'os-prober'. As
|
||
'VAS_EBOOT_TOP_LEVEL', if provided, the image specified will be made the
|
||
top-level entry if it is found in the scan.
|
||
|
||
'VAS_EBOOT_EARLY_INITRD_LINUX_CUSTOM'
|
||
'VAS_EBOOT_EARLY_INITRD_LINUX_STOCK'
|
||
List of space-separated early initrd images to be loaded from
|
||
'/boot'. This is for loading things like CPU microcode, firmware,
|
||
ACPI tables, crypto keys, and so on. These early images will be
|
||
loaded in the order declared, and all will be loaded before the
|
||
actual functional initrd image.
|
||
|
||
'VAS_EBOOT_EARLY_INITRD_LINUX_STOCK' is for your distribution to declare
|
||
images that are provided by the distribution. It should not be
|
||
modified without understanding the consequences. They will be
|
||
loaded first.
|
||
|
||
'VAS_EBOOT_EARLY_INITRD_LINUX_CUSTOM' is for your custom created images.
|
||
|
||
The default stock images are as follows, though they may be
|
||
overridden by your distribution:
|
||
intel-uc.img intel-ucode.img amd-uc.img amd-ucode.img early_ucode.cpio microcode.cpio
|
||
|
||
'VAS_EBOOT_DISABLE_LINUX_UUID'
|
||
Normally, 'VasEBoot-mkconfig' will generate menu entries that use
|
||
universally-unique identifiers (UUIDs) to identify the root
|
||
filesystem to the Linux kernel, using a 'root=UUID=...' kernel
|
||
parameter. This is usually more reliable, but in some cases it may
|
||
not be appropriate. To disable the use of UUIDs, set this option
|
||
to 'true'.
|
||
|
||
'VAS_EBOOT_DISABLE_LINUX_PARTUUID'
|
||
If 'VasEBoot-mkconfig' cannot identify the root filesystem via its
|
||
universally-unique indentifier (UUID), 'VasEBoot-mkconfig' can use the
|
||
UUID of the partition containing the filesystem to identify the
|
||
root filesystem to the Linux kernel via a 'root=PARTUUID=...'
|
||
kernel parameter. This is not as reliable as using the filesystem
|
||
UUID, but is more reliable than using the Linux device names. When
|
||
'VAS_EBOOT_DISABLE_LINUX_PARTUUID' is set to 'false', the Linux kernel
|
||
version must be 2.6.37 (3.10 for systems using the MSDOS partition
|
||
scheme) or newer. This option defaults to 'true'. To enable the
|
||
use of partition UUIDs, set this option to 'false'.
|
||
|
||
'VAS_EBOOT_DISABLE_RECOVERY'
|
||
If this option is set to 'true', disable the generation of recovery
|
||
mode menu entries.
|
||
|
||
'VAS_EBOOT_DISABLE_UUID'
|
||
Normally, 'VasEBoot-mkconfig' will generate menu entries that use
|
||
universally-unique identifiers (UUIDs) to identify various
|
||
filesystems to search for files. This is usually more reliable,
|
||
but in some cases it may not be appropriate. To disable this use
|
||
of UUIDs, set this option to 'true'. Setting this option to
|
||
'true', will also set the options 'VAS_EBOOT_DISABLE_LINUX_UUID' and
|
||
'VAS_EBOOT_DISABLE_LINUX_PARTUUID' to 'true', unless they have been
|
||
explicitly set to 'false'.
|
||
|
||
'VAS_EBOOT_VIDEO_BACKEND'
|
||
If graphical video support is required, either because the
|
||
'gfxterm' graphical terminal is in use or because
|
||
'VAS_EBOOT_GFXPAYLOAD_LINUX' is set, then 'VasEBoot-mkconfig' will normally
|
||
load all available VAS_EBOOT video drivers and use the one most
|
||
appropriate for your hardware. If you need to override this for
|
||
some reason, then you can set this option.
|
||
|
||
After 'VasEBoot-install' has been run, the available video drivers are
|
||
listed in '/boot/VasEBoot/video.lst'.
|
||
|
||
'VAS_EBOOT_GFXMODE'
|
||
Set the resolution used on the 'gfxterm' graphical terminal. Note
|
||
that you can only use modes which your graphics card supports via
|
||
VESA BIOS Extensions (VBE), so for example native LCD panel
|
||
resolutions may not be available. The default is 'auto', which
|
||
tries to select a preferred resolution. *Note gfxmode::.
|
||
|
||
'VAS_EBOOT_BACKGROUND'
|
||
Set a background image for use with the 'gfxterm' graphical
|
||
terminal. The value of this option must be a file readable by VAS_EBOOT
|
||
at boot time, and it must end with '.png', '.tga', '.jpg', or
|
||
'.jpeg'. The image will be scaled if necessary to fit the screen.
|
||
Image height and width will be restricted by an artificial limit of
|
||
16384.
|
||
|
||
'VAS_EBOOT_THEME'
|
||
Set a theme for use with the 'gfxterm' graphical terminal.
|
||
|
||
'VAS_EBOOT_GFXPAYLOAD_LINUX'
|
||
Set to 'text' to force the Linux kernel to boot in normal text
|
||
mode, 'keep' to preserve the graphics mode set using
|
||
'VAS_EBOOT_GFXMODE', 'WIDTHxHEIGHT'['xDEPTH'] to set a particular
|
||
graphics mode, or a sequence of these separated by commas or
|
||
semicolons to try several modes in sequence. *Note gfxpayload::.
|
||
|
||
Depending on your kernel, your distribution, your graphics card,
|
||
and the phase of the moon, note that using this option may cause
|
||
GNU/Linux to suffer from various display problems, particularly
|
||
during the early part of the boot sequence. If you have problems,
|
||
set this option to 'text' and VAS_EBOOT will tell Linux to boot in
|
||
normal text mode.
|
||
|
||
'VAS_EBOOT_DISABLE_OS_PROBER'
|
||
The 'VasEBoot-mkconfig' has a feature to use the external 'os-prober'
|
||
program to discover other operating systems installed on the same
|
||
machine and generate appropriate menu entries for them. It is
|
||
disabled by default since automatic and silent execution of
|
||
'os-prober', and creating boot entries based on that data, is a
|
||
potential attack vector. Set this option to 'false' to enable this
|
||
feature in the 'VasEBoot-mkconfig' command.
|
||
|
||
'VAS_EBOOT_OS_PROBER_SKIP_LIST'
|
||
List of space-separated case insensitive UUIDs of filesystems to be
|
||
ignored from os-prober output. For EFI chainloaders it's
|
||
<UUID>@<EFI FILE>. For backward compatibility with previous
|
||
behaviour, <UUID>@/dev/* is also accepted for non-EFI chainloaders
|
||
even if the device does not match, and comma and semicolon are also
|
||
accepted as separator.
|
||
|
||
'VAS_EBOOT_DISABLE_SUBMENU'
|
||
Normally, 'VasEBoot-mkconfig' will generate top level menu entry for
|
||
the kernel with highest version number and put all other found
|
||
kernels or alternative menu entries for recovery mode in submenu.
|
||
For entries returned by 'os-prober' first entry will be put on top
|
||
level and all others in submenu. If this option is set to 'true',
|
||
flat menu with all entries on top level will be generated instead.
|
||
Changing this option will require changing existing values of
|
||
'VAS_EBOOT_DEFAULT', 'fallback' (*note fallback::) and 'default' (*note
|
||
default::) environment variables as well as saved default entry
|
||
using 'VasEBoot-set-default' and value used with 'VasEBoot-reboot'.
|
||
|
||
'VAS_EBOOT_ENABLE_CRYPTODISK'
|
||
If set to 'y', 'VasEBoot-mkconfig' and 'VasEBoot-install' will check for
|
||
encrypted disks and generate additional commands needed to access
|
||
them during boot. Note that in this case unattended boot is not
|
||
possible because VAS_EBOOT will wait for passphrase to unlock encrypted
|
||
container.
|
||
|
||
'VAS_EBOOT_INIT_TUNE'
|
||
Play a tune on the speaker when VAS_EBOOT starts. This is particularly
|
||
useful for users unable to see the screen. The value of this
|
||
option is passed directly to *note play::.
|
||
|
||
'VAS_EBOOT_BADRAM'
|
||
If this option is set, VAS_EBOOT will issue a *note badram:: command to
|
||
filter out specified regions of RAM.
|
||
|
||
'VAS_EBOOT_PRELOAD_MODULES'
|
||
This option may be set to a list of VAS_EBOOT module names separated by
|
||
spaces. Each module will be loaded as early as possible, at the
|
||
start of 'VasEBoot.cfg'.
|
||
|
||
The following options are still accepted for compatibility with
|
||
existing configurations, but have better replacements:
|
||
|
||
'VAS_EBOOT_HIDDEN_TIMEOUT'
|
||
Wait this many seconds before displaying the menu. If <ESC> or
|
||
<F4> are pressed, or <SHIFT> is held down during that time, display
|
||
the menu and wait for input according to 'VAS_EBOOT_TIMEOUT'. If a
|
||
hotkey associated with a menu entry is pressed, boot the associated
|
||
menu entry immediately. If the timeout expires before either of
|
||
these happens, display the menu for the number of seconds specified
|
||
in 'VAS_EBOOT_TIMEOUT' before booting the default entry.
|
||
|
||
If you set 'VAS_EBOOT_HIDDEN_TIMEOUT', you should also set
|
||
'VAS_EBOOT_TIMEOUT=0' so that the menu is not displayed at all unless
|
||
<ESC> or <F4> are pressed, or <SHIFT> is held down.
|
||
|
||
This option is unset by default, and is deprecated in favour of the
|
||
less confusing 'VAS_EBOOT_TIMEOUT_STYLE=countdown' or
|
||
'VAS_EBOOT_TIMEOUT_STYLE=hidden'.
|
||
|
||
'VAS_EBOOT_HIDDEN_TIMEOUT_QUIET'
|
||
In conjunction with 'VAS_EBOOT_HIDDEN_TIMEOUT', set this to 'true' to
|
||
suppress the verbose countdown while waiting for a key to be
|
||
pressed before displaying the menu.
|
||
|
||
This option is unset by default, and is deprecated in favour of the
|
||
less confusing 'VAS_EBOOT_TIMEOUT_STYLE=countdown'.
|
||
|
||
'VAS_EBOOT_HIDDEN_TIMEOUT_BUTTON'
|
||
Variant of 'VAS_EBOOT_HIDDEN_TIMEOUT', used to support vendor-specific
|
||
power buttons. *Note Vendor power-on keys::.
|
||
|
||
This option is unset by default, and is deprecated in favour of the
|
||
less confusing 'VAS_EBOOT_TIMEOUT_STYLE=countdown' or
|
||
'VAS_EBOOT_TIMEOUT_STYLE=hidden'.
|
||
|
||
'VAS_EBOOT_FORCE_EFI_ALL_VIDEO'
|
||
When set to true, this will allow VasEBoot-mkconfig to generate a VAS_EBOOT
|
||
config that supports loading the all_video module on the EFI
|
||
platform instead of just the efi_gop and efi_uga modules.
|
||
|
||
This option is unset by default.
|
||
|
||
For more detailed customisation of 'VasEBoot-mkconfig''s output, you may
|
||
edit the scripts in '/etc/VasEBoot.d' directly. '/etc/VasEBoot.d/40_custom' is
|
||
particularly useful for adding entire custom menu entries; simply type
|
||
the menu entries you want to add at the end of that file, making sure to
|
||
leave at least the first two lines intact.
|
||
|
||
|
||
File: VasEBoot.info, Node: Root Identification Heuristics, Next: Shell-like scripting, Prev: Simple configuration, Up: Configuration
|
||
|
||
6.2 Root Identification Heuristics
|
||
==================================
|
||
|
||
If the target operating system uses the Linux kernel, 'VasEBoot-mkconfig'
|
||
attempts to identify the root file system via a heuristic algoirthm.
|
||
This algorithm selects the identification method of the root file system
|
||
by considering three factors. The first is if an initrd for the target
|
||
operating system is also present. The second is
|
||
'VAS_EBOOT_DISABLE_LINUX_UUID' and if set to 'true', prevents 'VasEBoot-mkconfig'
|
||
from identifying the root file system by its UUID. The third is
|
||
'VAS_EBOOT_DISABLE_LINUX_PARTUUID' and if set to 'true', prevents
|
||
'VasEBoot-mkconfig' from identifying the root file system via the UUID of
|
||
its enclosing partition. If the variables are assigned any other value,
|
||
that value is considered equivalent to 'false'. The variables are also
|
||
considered to be set to 'false' if they are not set.
|
||
|
||
When booting, the Linux kernel will delegate the task of mounting the
|
||
root filesystem to the initrd. Most initrd images determine the root
|
||
file system by checking the Linux kernel's command-line for the 'root'
|
||
key and use its value as the identification method of the root file
|
||
system. To improve the reliability of booting, most initrd images also
|
||
allow the root file system to be identified by its UUID. Because of this
|
||
behavior, the 'VasEBoot-mkconfig' command will set 'root' to 'root=UUID=...'
|
||
to provide the initrd with the filesystem UUID of the root file system.
|
||
|
||
If no initrd is detected or 'VAS_EBOOT_DISABLE_LINUX_UUID' is set to
|
||
'true' then 'VasEBoot-command' will identify the root filesystem by setting
|
||
the kernel command-line variable 'root' to 'root=PARTUUID=...' unless
|
||
'VAS_EBOOT_DISABLE_LINUX_PARTUUID' is also set to 'true'. If
|
||
'VAS_EBOOT_DISABLE_LINUX_PARTUUID' is also set to 'true', 'VasEBoot-command' will
|
||
identify by its Linux device name.
|
||
|
||
The following table summarizes the behavior of the 'VasEBoot-mkconfig'
|
||
command.
|
||
|
||
Initrd VAS_EBOOT_DISABLE_LINUX_PARTUUID VAS_EBOOT_DISABLE_LINUX_UUID Linux Root
|
||
detected Set To Set To ID Method
|
||
--------------------------------------------------------------------------------
|
||
false false false part UUID
|
||
false false true part UUID
|
||
false true false dev name
|
||
false true true dev name
|
||
true false false fs UUID
|
||
true false true part UUID
|
||
true true false fs UUID
|
||
true true true dev name
|
||
|
||
Remember, 'VAS_EBOOT_DISABLE_LINUX_PARTUUID' and 'VAS_EBOOT_DISABLE_LINUX_UUID'
|
||
are also considered to be set to 'true' and 'false', respectively, when
|
||
they are unset.
|
||
|
||
|
||
File: VasEBoot.info, Node: Shell-like scripting, Next: Multi-boot manual config, Prev: Root Identification Heuristics, Up: Configuration
|
||
|
||
6.3 Writing full configuration files directly
|
||
=============================================
|
||
|
||
'VasEBoot.cfg' is written in VAS_EBOOT's built-in scripting language, which has a
|
||
syntax quite similar to that of GNU Bash and other Bourne shell
|
||
derivatives.
|
||
|
||
Words
|
||
=====
|
||
|
||
A "word" is a sequence of characters considered as a single unit by
|
||
VAS_EBOOT. Words are separated by "metacharacters", which are the following
|
||
plus space, tab, and newline:
|
||
|
||
{ } | & $ ; < >
|
||
|
||
Quoting may be used to include metacharacters in words; see below.
|
||
|
||
Reserved words
|
||
==============
|
||
|
||
Reserved words have a special meaning to VAS_EBOOT. The following words are
|
||
recognised as reserved when unquoted and either the first word of a
|
||
simple command or the third word of a 'for' command:
|
||
|
||
! [[ ]] { }
|
||
case do done elif else esac fi for function
|
||
if in menuentry select then time until while
|
||
|
||
Not all of these reserved words have a useful purpose yet; some are
|
||
reserved for future expansion.
|
||
|
||
Quoting
|
||
=======
|
||
|
||
Quoting is used to remove the special meaning of certain characters or
|
||
words. It can be used to treat metacharacters as part of a word, to
|
||
prevent reserved words from being recognised as such, and to prevent
|
||
variable expansion.
|
||
|
||
There are three quoting mechanisms: the escape character, single
|
||
quotes, and double quotes.
|
||
|
||
A non-quoted backslash (\) is the "escape character". It preserves
|
||
the literal value of the next character that follows, with the exception
|
||
of newline.
|
||
|
||
Enclosing characters in single quotes preserves the literal value of
|
||
each character within the quotes. A single quote may not occur between
|
||
single quotes, even when preceded by a backslash.
|
||
|
||
Enclosing characters in double quotes preserves the literal value of
|
||
all characters within the quotes, with the exception of '$' and '\'.
|
||
The '$' character retains its special meaning within double quotes. The
|
||
backslash retains its special meaning only when followed by one of the
|
||
following characters: '$', '"', '\', or newline. A backslash-newline
|
||
pair is treated as a line continuation (that is, it is removed from the
|
||
input stream and effectively ignored(1) (*note Shell-like
|
||
scripting-Footnote-1::)). A double quote may be quoted within double
|
||
quotes by preceding it with a backslash.
|
||
|
||
Variable expansion
|
||
==================
|
||
|
||
The '$' character introduces variable expansion. The variable name to
|
||
be expanded may be enclosed in braces, which are optional but serve to
|
||
protect the variable to be expanded from characters immediately
|
||
following it which could be interpreted as part of the name.
|
||
|
||
Normal variable names begin with an alphabetic character, followed by
|
||
zero or more alphanumeric characters. These names refer to entries in
|
||
the VAS_EBOOT environment (*note Environment::).
|
||
|
||
Positional variable names consist of one or more digits. They
|
||
represent parameters passed to function calls, with '$1' representing
|
||
the first parameter, and so on.
|
||
|
||
The special variable name '?' expands to the exit status of the most
|
||
recently executed command. When positional variable names are active,
|
||
other special variable names '@', '*' and '#' are defined and they
|
||
expand to all positional parameters with necessary quoting, positional
|
||
parameters without any quoting, and positional parameter count
|
||
respectively.
|
||
|
||
Comments
|
||
========
|
||
|
||
A word beginning with '#' causes that word and all remaining characters
|
||
on that line to be ignored.
|
||
|
||
Simple commands
|
||
===============
|
||
|
||
A "simple command" is a sequence of words separated by spaces or tabs
|
||
and terminated by a semicolon or a newline. The first word specifies
|
||
the command to be executed. The remaining words are passed as arguments
|
||
to the invoked command.
|
||
|
||
The return value of a simple command is its exit status. If the
|
||
reserved word '!' precedes the command, then the return value is instead
|
||
the logical negation of the command's exit status.
|
||
|
||
Compound commands
|
||
=================
|
||
|
||
A "compound command" is one of the following:
|
||
|
||
for NAME in WORD ...; do LIST; done
|
||
The list of words following 'in' is expanded, generating a list of
|
||
items. The variable NAME is set to each element of this list in
|
||
turn, and LIST is executed each time. The return value is the exit
|
||
status of the last command that executes. If the expansion of the
|
||
items following 'in' results in an empty list, no commands are
|
||
executed, and the return status is 0.
|
||
|
||
if LIST; then LIST; [elif LIST; then LIST;] ... [else LIST;] fi
|
||
The 'if' LIST is executed, where LIST is a series of "simple
|
||
command"s separated by a ";". If its exit status of the last
|
||
command is zero, the 'then' LIST is executed. Otherwise, each
|
||
'elif' LIST is executed in turn, and if its last command's exit
|
||
status is zero, the corresponding 'then' LIST is executed and the
|
||
command completes. Otherwise, the 'else' LIST is executed, if
|
||
present. The exit status is the exit status of the last command
|
||
executed, or zero if no condition tested true.
|
||
|
||
while COND; do LIST; done
|
||
until COND; do LIST; done
|
||
The 'while' command continuously executes the 'do' LIST as long as
|
||
the last command in COND returns an exit status of zero, where COND
|
||
is a list of "simple command"s separated by a ";". The 'until'
|
||
command is identical to the 'while' command, except that the test
|
||
is negated; the 'do' LIST is executed as long as the last command
|
||
in COND returns a non-zero exit status. The exit status of the
|
||
'while' and 'until' commands is the exit status of the last 'do'
|
||
LIST command executed, or zero if none was executed.
|
||
|
||
function NAME { COMMAND; ... }
|
||
This defines a function named NAME. The "body" of the function is
|
||
the list of commands within braces, each of which must be
|
||
terminated with a semicolon or a newline. This list of commands
|
||
will be executed whenever NAME is specified as the name of a simple
|
||
command. Function definitions do not affect the exit status in
|
||
'$?'. When executed, the exit status of a function is the exit
|
||
status of the last command executed in the body.
|
||
|
||
menuentry TITLE ['--class=class' ...] ['--users=users'] ['--unrestricted'] ['--hotkey=key'] ['--id=id'] { COMMAND; ... }
|
||
*Note menuentry::.
|
||
|
||
Built-in Commands
|
||
=================
|
||
|
||
Some built-in commands are also provided by VAS_EBOOT script to help script
|
||
writers perform actions that are otherwise not possible. For example,
|
||
these include commands to jump out of a loop without fully completing
|
||
it, etc.
|
||
|
||
break ['n']
|
||
Exit from within a 'for', 'while', or 'until' loop. If 'n' is
|
||
specified, break 'n' levels. 'n' must be greater than or equal to
|
||
1. If 'n' is greater than the number of enclosing loops, all
|
||
enclosing loops are exited. The return value is 0 unless 'n' is
|
||
not greater than or equal to 1.
|
||
|
||
continue ['n']
|
||
Resume the next iteration of the enclosing 'for', 'while' or
|
||
'until' loop. If 'n' is specified, resume at the 'n'th enclosing
|
||
loop. 'n' must be greater than or equal to 1. If 'n' is greater
|
||
than the number of enclosing loops, the last enclosing loop (the
|
||
"top-level" loop) is resumed. The return value is 0 unless 'n' is
|
||
not greater than or equal to 1.
|
||
|
||
return ['n']
|
||
Causes a function to exit with the return value specified by 'n'.
|
||
If 'n' is omitted, the return status is that of the last command
|
||
executed in the function body. If used outside a function the
|
||
return status is false.
|
||
|
||
setparams ['arg'] ...
|
||
Replace positional parameters starting with '$1' with arguments to
|
||
'setparams'.
|
||
|
||
shift ['n']
|
||
The positional parameters from 'n'+1 ... are renamed to '$1'....
|
||
Parameters represented by the numbers '$#' down to '$#'-'n'+1 are
|
||
unset. 'n' must be a non-negative number less than or equal to
|
||
'$#'. If 'n' is 0, no parameters are changed. If 'n' is not
|
||
given, it is assumed to be 1. If 'n' is greater than '$#', the
|
||
positional parameters are not changed. The return status is
|
||
greater than zero if 'n' is greater than '$#' or less than zero;
|
||
otherwise 0.
|
||
|
||
|
||
File: VasEBoot.info, Node: Shell-like scripting-Footnotes, Up: Shell-like scripting
|
||
|
||
(1) Currently a backslash-newline pair within a variable name is not
|
||
handled properly, so use this feature with some care.
|
||
|
||
|
||
File: VasEBoot.info, Node: Multi-boot manual config, Next: Embedded configuration, Prev: Shell-like scripting, Up: Configuration
|
||
|
||
6.4 Multi-boot manual config
|
||
============================
|
||
|
||
Currently autogenerating config files for multi-boot environments
|
||
depends on os-prober and has several shortcomings. Due to that it is
|
||
disabled by default. It is advised to use the power of VAS_EBOOT syntax and
|
||
do it yourself. A possible configuration is detailed here, feel free to
|
||
adjust to your needs.
|
||
|
||
First create a separate VAS_EBOOT partition, big enough to hold VAS_EBOOT. Some
|
||
of the following entries show how to load OS installer images from this
|
||
same partition, for that you obviously need to make the partition large
|
||
enough to hold those images as well. Mount this partition on/mnt/boot
|
||
and disable VAS_EBOOT in all OSes and manually install self-compiled latest
|
||
VAS_EBOOT with:
|
||
|
||
'VasEBoot-install --boot-directory=/mnt/boot /dev/sda'
|
||
|
||
In all the OSes install VAS_EBOOT tools but disable installing VAS_EBOOT in
|
||
bootsector, so you'll have menu.lst and VasEBoot.cfg available for use.
|
||
Also disable os-prober use by setting:
|
||
|
||
'VAS_EBOOT_DISABLE_OS_PROBER=true'
|
||
|
||
in /etc/default/VasEBoot
|
||
|
||
Then write a VasEBoot.cfg (/mnt/boot/VasEBoot/VasEBoot.cfg):
|
||
|
||
|
||
menuentry "OS using VasEBoot2" {
|
||
insmod xfs
|
||
search --set=root --label OS1 --hint hd0,msdos8
|
||
configfile /boot/VasEBoot/VasEBoot.cfg
|
||
}
|
||
|
||
menuentry "OS using VasEBoot2-legacy" {
|
||
insmod ext2
|
||
search --set=root --label OS2 --hint hd0,msdos6
|
||
legacy_configfile /boot/VasEBoot/menu.lst
|
||
}
|
||
|
||
menuentry "Windows XP" {
|
||
insmod ntfs
|
||
search --set=root --label WINDOWS_XP --hint hd0,msdos1
|
||
ntldr /ntldr
|
||
}
|
||
|
||
menuentry "Windows 7" {
|
||
insmod ntfs
|
||
search --set=root --label WINDOWS_7 --hint hd0,msdos2
|
||
ntldr /bootmgr
|
||
}
|
||
|
||
menuentry "FreeBSD" {
|
||
insmod zfs
|
||
search --set=root --label freepool --hint hd0,msdos7
|
||
kfreebsd /freebsd@/boot/kernel/kernel
|
||
kfreebsd_module_elf /freebsd@/boot/kernel/opensolaris.ko
|
||
kfreebsd_module_elf /freebsd@/boot/kernel/zfs.ko
|
||
kfreebsd_module /freebsd@/boot/zfs/zpool.cache type=/boot/zfs/zpool.cache
|
||
set kFreeBSD.vfs.root.mountfrom=zfs:freepool/freebsd
|
||
set kFreeBSD.hw.psm.synaptics_support=1
|
||
}
|
||
|
||
menuentry "experimental VAS_EBOOT" {
|
||
search --set=root --label VAS_EBOOT --hint hd0,msdos5
|
||
multiboot /experimental/VasEBoot/i386-pc/core.img
|
||
}
|
||
|
||
menuentry "Fedora 16 installer" {
|
||
search --set=root --label VAS_EBOOT --hint hd0,msdos5
|
||
linux /fedora/vmlinuz lang=en_US keymap=sg resolution=1280x800
|
||
initrd /fedora/initrd.img
|
||
}
|
||
|
||
menuentry "Fedora rawhide installer" {
|
||
search --set=root --label VAS_EBOOT --hint hd0,msdos5
|
||
linux /fedora/vmlinuz repo=ftp://mirror.switch.ch/mirror/fedora/linux/development/rawhide/x86_64 lang=en_US keymap=sg resolution=1280x800
|
||
initrd /fedora/initrd.img
|
||
}
|
||
|
||
menuentry "Debian sid installer" {
|
||
search --set=root --label VAS_EBOOT --hint hd0,msdos5
|
||
linux /debian/dists/sid/main/installer-amd64/current/images/hd-media/vmlinuz
|
||
initrd /debian/dists/sid/main/installer-amd64/current/images/hd-media/initrd.gz
|
||
}
|
||
|
||
|
||
Notes:
|
||
* Argument to search after -label is FS LABEL. You can also use UUIDs
|
||
with -fs-uuid UUID instead of -label LABEL. You could also use
|
||
direct 'root=hd0,msdosX' but this is not recommended due to device
|
||
name instability.
|
||
|
||
|
||
File: VasEBoot.info, Node: Embedded configuration, Prev: Multi-boot manual config, Up: Configuration
|
||
|
||
6.5 Embedding a configuration file into VAS_EBOOT
|
||
============================================
|
||
|
||
VAS_EBOOT supports embedding a configuration file directly into the core
|
||
image, so that it is loaded before entering normal mode. This is
|
||
useful, for example, when it is not straightforward to find the real
|
||
configuration file, or when you need to debug problems with loading that
|
||
file. 'VasEBoot-install' uses this feature when it is not using BIOS disk
|
||
functions or when installing to a different disk from the one containing
|
||
'/boot/VasEBoot', in which case it needs to use the 'search' command (*note
|
||
search::) to find '/boot/VasEBoot'.
|
||
|
||
To embed a configuration file, use the '-c' option to 'VasEBoot-mkimage'.
|
||
The file is copied into the core image, so it may reside anywhere on the
|
||
file system, and may be removed after running 'VasEBoot-mkimage'.
|
||
|
||
After the embedded configuration file (if any) is executed, VAS_EBOOT will
|
||
load the 'normal' module (*note normal::), which will then read the real
|
||
configuration file from '$prefix/VasEBoot.cfg'. By this point, the 'root'
|
||
variable will also have been set to the root device name. For example,
|
||
'prefix' might be set to '(hd0,1)/boot/VasEBoot', and 'root' might be set to
|
||
'hd0,1'. Thus, in most cases, the embedded configuration file only
|
||
needs to set the 'prefix' and 'root' variables, and then drop through to
|
||
VAS_EBOOT's normal processing. A typical example of this might look like
|
||
this:
|
||
|
||
search.fs_uuid 01234567-89ab-cdef-0123-456789abcdef root
|
||
set prefix=($root)/boot/VasEBoot
|
||
|
||
(The 'search_fs_uuid' module must be included in the core image for
|
||
this example to work.)
|
||
|
||
In more complex cases, it may be useful to read other configuration
|
||
files directly from the embedded configuration file. This allows such
|
||
things as reading files not called 'VasEBoot.cfg', or reading files from a
|
||
directory other than that where VAS_EBOOT's loadable modules are installed.
|
||
To do this, include the 'configfile' and 'normal' modules in the core
|
||
image, and embed a configuration file that uses the 'configfile' command
|
||
to load another file. The following example of this also requires the
|
||
'echo', 'search_label', and 'test' modules to be included in the core
|
||
image:
|
||
|
||
search.fs_label VasEBoot root
|
||
if [ -e /boot/VasEBoot/example/test1.cfg ]; then
|
||
set prefix=($root)/boot/VasEBoot
|
||
configfile /boot/VasEBoot/example/test1.cfg
|
||
else
|
||
if [ -e /boot/VasEBoot/example/test2.cfg ]; then
|
||
set prefix=($root)/boot/VasEBoot
|
||
configfile /boot/VasEBoot/example/test2.cfg
|
||
else
|
||
echo "Could not find an example configuration file!"
|
||
fi
|
||
fi
|
||
|
||
The embedded configuration file may not contain menu entries
|
||
directly, but may only read them from elsewhere using 'configfile'.
|
||
|
||
|
||
File: VasEBoot.info, Node: Theme file format, Next: Network, Prev: Configuration, Up: Top
|
||
|
||
7 Theme file format
|
||
*******************
|
||
|
||
7.1 Introduction
|
||
================
|
||
|
||
The VAS_EBOOT graphical menu supports themes that can customize the layout
|
||
and appearance of the VAS_EBOOT boot menu. The theme is configured through a
|
||
plain text file that specifies the layout of the various GUI components
|
||
(including the boot menu, timeout progress bar, and text messages) as
|
||
well as the appearance using colors, fonts, and images. Example is
|
||
available in docs/example_theme.txt
|
||
|
||
7.2 Theme Elements
|
||
==================
|
||
|
||
7.2.1 Colors
|
||
------------
|
||
|
||
Colors can be specified in several ways:
|
||
|
||
* HTML-style "#RRGGBB" or "#RGB" format, where *R*, *G*, and *B* are
|
||
hexadecimal digits (e.g., "#8899FF")
|
||
* as comma-separated decimal RGB values (e.g., "128, 128, 255")
|
||
* with "SVG 1.0 color names" (e.g., "cornflowerblue") which must be
|
||
specified in lowercase.
|
||
|
||
7.2.2 Fonts
|
||
-----------
|
||
|
||
The fonts VAS_EBOOT uses "PFF2 font format" bitmap fonts. Fonts are
|
||
specified with full font names. Currently there is no provision for a
|
||
preference list of fonts, or deriving one font from another. Fonts are
|
||
loaded with the "loadfont" command in VAS_EBOOT (*note loadfont::). To see
|
||
the list of loaded fonts, execute the "lsfonts" command (*note
|
||
lsfonts::). If there are too many fonts to fit on screen, do "set
|
||
pager=1" before executing "lsfonts".
|
||
|
||
7.2.3 Progress Bar
|
||
------------------
|
||
|
||
Figure 7.1
|
||
|
||
Figure 7.2
|
||
|
||
Progress bars are used to display the remaining time before VAS_EBOOT boots
|
||
the default menu entry. To create a progress bar that will display the
|
||
remaining time before automatic boot, simply create a "progress_bar"
|
||
component with the id "__timeout__". This indicates to VAS_EBOOT that the
|
||
progress bar should be updated as time passes, and it should be made
|
||
invisible if the countdown to automatic boot is interrupted by the user.
|
||
|
||
Progress bars may optionally have text displayed on them. This text
|
||
is controlled by variable "text" which contains a printf template with
|
||
the only argument %d is the number of seconds remaining. Additionally
|
||
special values "@TIMEOUT_NOTIFICATION_SHORT@",
|
||
"@TIMEOUT_NOTIFICATION_MIDDLE@", "@TIMEOUT_NOTIFICATION_LONG@" are
|
||
replaced with standard and translated templates.
|
||
|
||
7.2.4 Circular Progress Indicator
|
||
---------------------------------
|
||
|
||
The circular progress indicator functions similarly to the progress bar.
|
||
When given an id of "__timeout__", VAS_EBOOT updates the circular progress
|
||
indicator's value to indicate the time remaining. For the circular
|
||
progress indicator, there are two images used to render it: the *center*
|
||
image, and the *tick* image. The center image is rendered in the center
|
||
of the component, while the tick image is used to render each mark along
|
||
the circumference of the indicator.
|
||
|
||
7.2.5 Labels
|
||
------------
|
||
|
||
Text labels can be placed on the boot screen. The font, color, and
|
||
horizontal alignment can be specified for labels. If a label is given
|
||
the id "__timeout__", then the "text" property for that label is also
|
||
updated with a message informing the user of the number of seconds
|
||
remaining until automatic boot. This is useful in case you want the
|
||
text displayed somewhere else instead of directly on the progress bar.
|
||
|
||
7.2.6 Boot Menu
|
||
---------------
|
||
|
||
The boot menu where VAS_EBOOT displays the menu entries from the "VasEBoot.cfg"
|
||
file. It is a list of items, where each item has a title and an
|
||
optional icon. The icon is selected based on the *classes* specified
|
||
for the menu entry. If there is a PNG file named "myclass.png" in the
|
||
"VasEBoot/themes/icons" directory, it will be displayed for items which have
|
||
the class *myclass*. The boot menu can be customized in several ways,
|
||
such as the font and color used for the menu entry title, and by
|
||
specifying styled boxes for the menu itself and for the selected item
|
||
highlight.
|
||
|
||
7.2.7 Styled Boxes
|
||
------------------
|
||
|
||
One of the most important features for customizing the layout is the use
|
||
of *styled boxes*. A styled box is composed of 9 rectangular (and
|
||
potentially empty) regions, which are used to seamlessly draw the styled
|
||
box on screen:
|
||
|
||
Northwest (nw) North (n) Northeast (ne)
|
||
West (w) Center (c) East (e)
|
||
Southwest (sw) South (s) Southeast (se)
|
||
|
||
To support any size of box on screen, the center slice and the slices
|
||
for the top, bottom, and sides are all scaled to the correct size for
|
||
the component on screen, using the following rules:
|
||
|
||
1. The edge slices (north, south, east, and west) are scaled in the
|
||
direction of the edge they are adjacent to. For instance, the west
|
||
slice is scaled vertically.
|
||
2. The corner slices (northwest, northeast, southeast, and southwest)
|
||
are not scaled.
|
||
3. The center slice is scaled to fill the remaining space in the
|
||
middle.
|
||
|
||
As an example of how an image might be sliced up, consider the styled
|
||
box used for a terminal view.
|
||
|
||
Figure 7.3
|
||
|
||
7.2.8 Creating Styled Box Images
|
||
--------------------------------
|
||
|
||
The Inkscape_ scalable vector graphics editor is a very useful tool for
|
||
creating styled box images. One process that works well for slicing a
|
||
drawing into the necessary image slices is:
|
||
|
||
1. Create or open the drawing you'd like use.
|
||
2. Create a new layer on the top of the layer stack. Make it visible.
|
||
Select this layer as the current layer.
|
||
3. Draw 9 rectangles on your drawing where you'd like the slices to
|
||
be. Clear the fill option, and set the stroke to 1 pixel wide
|
||
solid stroke. The corners of the slices must meet precisely; if it
|
||
is off by a single pixel, it will probably be evident when the
|
||
styled box is rendered in the VAS_EBOOT menu. You should probably go to
|
||
File | Document Properties | Grids and enable a grid or create a
|
||
guide (click on one of the rulers next to the drawing and drag over
|
||
the drawing; release the mouse button to place the guide) to help
|
||
place the rectangles precisely.
|
||
4. Right click on the center slice rectangle and choose Object
|
||
Properties. Change the "Id" to "slice_c" and click Set. Repeat
|
||
this for the remaining 8 rectangles, giving them Id values of
|
||
"slice_n", "slice_ne", "slice_e", and so on according to the
|
||
location.
|
||
5. Save the drawing.
|
||
6. Select all the slice rectangles. With the slice layer selected,
|
||
you can simply press Ctrl+A to select all rectangles. The status
|
||
bar should indicate that 9 rectangles are selected.
|
||
7. Click the layer hide icon for the slice layer in the layer palette.
|
||
The rectangles will remain selected, even though they are hidden.
|
||
8. Choose File | Export Bitmap and check the *Batch export 9 selected
|
||
objects* box. Make sure that *Hide all except selected* is
|
||
unchecked. click *Export*. This will create PNG files in the same
|
||
directory as the drawing, named after the slices. These can now be
|
||
used for a styled box in a VAS_EBOOT theme.
|
||
|
||
7.3 Theme File Manual
|
||
=====================
|
||
|
||
The theme file is a plain text file. Lines that begin with "#" are
|
||
ignored and considered comments. (Note: This may not be the case if the
|
||
previous line ended where a value was expected.)
|
||
|
||
The theme file contains two types of statements:
|
||
1. Global properties.
|
||
2. Component construction.
|
||
|
||
7.3.1 Global Properties
|
||
-----------------------
|
||
|
||
7.3.2 Format
|
||
------------
|
||
|
||
Global properties are specified with the simple format:
|
||
* name1: value1
|
||
* name2: "value which may contain spaces"
|
||
* name3: #88F
|
||
|
||
In this example, name3 is assigned a color value.
|
||
|
||
7.3.3 Global Property List
|
||
--------------------------
|
||
|
||
title-text Specifies the text to display at the top
|
||
center of the screen as a title.
|
||
title-font Defines the font used for the title
|
||
message at the top of the screen.
|
||
title-color Defines the color of the title message.
|
||
message-font Currently unused. Left for backward
|
||
compatibility.
|
||
message-color Currently unused. Left for backward
|
||
compatibility.
|
||
message-bg-color Currently unused. Left for backward
|
||
compatibility.
|
||
desktop-image Specifies the image to use as the
|
||
background. It will be scaled to fit the
|
||
screen size or proportionally scaled
|
||
depending on the scale method.
|
||
desktop-image-scale-methodSpecifies the scaling method for the
|
||
*desktop-image*. Options are "stretch",
|
||
"crop", "padding", "fitwidth",
|
||
"fitheight". "stretch" for fitting the
|
||
screen size. Otherwise it is
|
||
proportional scaling of a part of
|
||
*desktop-image* to the part of the
|
||
screen. "crop" part of the
|
||
*desktop-image* will be proportionally
|
||
scaled to fit the screen sizes.
|
||
"padding" the entire *desktop-image* will
|
||
be contained on the screen. "fitwidth"
|
||
for fitting the *desktop-image*'s width
|
||
with screen width. "fitheight" for
|
||
fitting the *desktop-image*'s height with
|
||
the screen height. Default is "stretch".
|
||
desktop-image-h-align Specifies the horizontal alignment of the
|
||
*desktop-image* if
|
||
*desktop-image-scale-method* isn't equeal
|
||
to "stretch". Options are "left",
|
||
"center", "right". Default is "center".
|
||
desktop-image-v-align Specifies the vertical alignment of the
|
||
*desktop-image* if
|
||
*desktop-image-scale-method* isn't equeal
|
||
to "stretch". Options are "top",
|
||
"center", "bottom". Default is "center".
|
||
desktop-color Specifies the color for the background if
|
||
*desktop-image* is not specified.
|
||
terminal-box Specifies the file name pattern for the
|
||
styled box slices used for the command
|
||
line terminal window. For example,
|
||
"terminal-box: terminal_*.png" will use
|
||
the images "terminal_c.png" as the center
|
||
area, "terminal_n.png" as the north (top)
|
||
edge, "terminal_nw.png" as the northwest
|
||
(upper left) corner, and so on. If the
|
||
image for any slice is not found, it will
|
||
simply be left empty.
|
||
terminal-border Specifies the border width of the
|
||
terminal window.
|
||
terminal-left Specifies the left coordinate of the
|
||
terminal window.
|
||
terminal-top Specifies the top coordinate of the
|
||
terminal window.
|
||
terminal-width Specifies the width of the terminal
|
||
window.
|
||
terminal-height Specifies the height of the terminal
|
||
window.
|
||
|
||
7.3.4 Component Construction
|
||
----------------------------
|
||
|
||
Greater customizability comes is provided by components. A tree of
|
||
components forms the user interface. *Containers* are components that
|
||
can contain other components, and there is always a single root
|
||
component which is an instance of a *canvas* container.
|
||
|
||
Components are created in the theme file by prefixing the type of
|
||
component with a '+' sign:
|
||
|
||
' + label { text="VAS_EBOOT" font="aqui 11" color="#8FF" } '
|
||
|
||
properties of a component are specified as "name = value" (whitespace
|
||
surrounding tokens is optional and is ignored) where *value* may be:
|
||
* a single word (e.g., "align = center", "color = #FF8080"),
|
||
* a quoted string (e.g., "text = "Hello, World!""), or
|
||
* a tuple (e.g., "preferred_size = (120, 80)").
|
||
|
||
7.3.5 Component List
|
||
--------------------
|
||
|
||
The following is a list of the components and the properties they
|
||
support.
|
||
|
||
* label A label displays a line of text.
|
||
|
||
Properties:
|
||
id Set to "__timeout__" to display the time elapsed
|
||
to an automatical boot of the default entry.
|
||
text The text to display. If "id" is set to
|
||
"__timeout__" and no "text" property is set then
|
||
the amount of seconds will be shown. If set to
|
||
"@KEYMAP_SHORT@", "@KEYMAP_MIDDLE@" or
|
||
"@KEYMAP_LONG@" then predefined hotkey
|
||
information will be shown.
|
||
font The font to use for text display.
|
||
color The color of the text.
|
||
align The horizontal alignment of the text within the
|
||
component. Options are "left", "center" and
|
||
"right".
|
||
visible Set to "false" to hide the label.
|
||
|
||
* image A component that displays an image. The image is scaled to
|
||
fit the component.
|
||
|
||
Properties:
|
||
|
||
file The full path to the image file to load.
|
||
|
||
* progress_bar Displays a horizontally oriented progress bar. It can
|
||
be rendered using simple solid filled rectangles, or using a pair
|
||
of pixmap styled boxes.
|
||
|
||
Properties:
|
||
|
||
id Set to "__timeout__" to display the time elapsed
|
||
to an automatical boot of the default entry.
|
||
fg_color The foreground color for plain solid color
|
||
rendering.
|
||
bg_color The background color for plain solid color
|
||
rendering.
|
||
border_color The border color for plain solid color
|
||
rendering.
|
||
text_color The text color.
|
||
bar_style The styled box specification for the frame of
|
||
the progress bar. Example:
|
||
"progress_frame_*.png" If the value is equal to
|
||
"highlight_style" then no styled boxes will be
|
||
shown.
|
||
highlight_styleThe styled box specification for the highlighted
|
||
region of the progress bar. This box will be
|
||
used to paint just the highlighted region of the
|
||
bar, and will be increased in size as the bar
|
||
nears completion. Example: "progress_hl_*.png".
|
||
If the value is equal to "bar_style" then no
|
||
styled boxes will be shown.
|
||
highlight_overlayIf this option is set to "true" then the
|
||
highlight box side slices (every slice except
|
||
the center slice) will overlay the frame box
|
||
side slices. And the center slice of the
|
||
highlight box can move all the way (from top to
|
||
bottom), being drawn on the center slice of the
|
||
frame box. That way we can make a progress bar
|
||
with round-shaped edges so there won't be a free
|
||
space from the highlight to the frame in top and
|
||
bottom scrollbar positions. Default is "false".
|
||
font The font to use for progress bar.
|
||
text The text to display on the progress bar. If the
|
||
progress bar's ID is set to "__timeout__" and
|
||
the value of this property is set to
|
||
"@TIMEOUT_NOTIFICATION_SHORT@",
|
||
"@TIMEOUT_NOTIFICATION_MIDDLE@" or
|
||
"@TIMEOUT_NOTIFICATION_LONG@", then VAS_EBOOT will
|
||
update this property with an informative message
|
||
as the timeout approaches.
|
||
|
||
* circular_progress Displays a circular progress indicator. The
|
||
appearance of this component is determined by two images: the
|
||
*center* image and the *tick* image. The center image is generally
|
||
larger and will be drawn in the center of the component. Around
|
||
the circumference of a circle within the component, the tick image
|
||
will be drawn a certain number of times, depending on the
|
||
properties of the component.
|
||
|
||
Properties:
|
||
|
||
id Set to "__timeout__" to display the time
|
||
elapsed to an automatical boot of the
|
||
default entry.
|
||
center_bitmap The file name of the image to draw in the
|
||
center of the component.
|
||
tick_bitmap The file name of the image to draw for
|
||
the tick marks.
|
||
num_ticks The number of ticks that make up a full
|
||
circle.
|
||
ticks_disappear Boolean value indicating whether tick
|
||
marks should progressively appear, or
|
||
progressively disappear as *value*
|
||
approaches *end*. Specify "true" or
|
||
"false". Default is "false".
|
||
start_angle The position of the first tick mark to
|
||
appear or disappear. Measured in
|
||
"parrots", 1 "parrot" = 1 / 256 of the
|
||
full circle. Use values "xxx deg" or
|
||
"xxx \xc2\xb0" to set the angle in
|
||
degrees.
|
||
|
||
* boot_menu Displays the VAS_EBOOT boot menu. It allows selecting items
|
||
and executing them.
|
||
|
||
Properties:
|
||
|
||
item_font The font to use for the menu item
|
||
titles.
|
||
selected_item_font The font to use for the selected
|
||
menu item, or "inherit" (the
|
||
default) to use "item_font" for
|
||
the selected menu item as well.
|
||
item_color The color to use for the menu item
|
||
titles.
|
||
selected_item_color The color to use for the selected
|
||
menu item, or "inherit" (the
|
||
default) to use "item_color" for
|
||
the selected menu item as well.
|
||
icon_width The width of menu item icons.
|
||
Icons are scaled to the specified
|
||
size.
|
||
icon_height The height of menu item icons.
|
||
item_height The height of each menu item in
|
||
pixels.
|
||
item_padding The amount of space in pixels to
|
||
leave on each side of the menu
|
||
item contents.
|
||
item_icon_space The space between an item's icon
|
||
and the title text, in pixels.
|
||
item_spacing The amount of space to leave
|
||
between menu items, in pixels.
|
||
menu_pixmap_style The image file pattern for the
|
||
menu frame styled box. Example:
|
||
"menu_*.png" (this will use images
|
||
such as "menu_c.png",
|
||
"menu_w.png", 'menu_nw.png", etc.)
|
||
item_pixmap_style The image file pattern for the
|
||
item styled box.
|
||
selected_item_pixmap_style The image file pattern for the
|
||
selected item highlight styled
|
||
box.
|
||
scrollbar Boolean value indicating whether
|
||
the scroll bar should be drawn if
|
||
the frame and thumb styled boxes
|
||
are configured.
|
||
scrollbar_frame The image file pattern for the
|
||
entire scroll bar. Example:
|
||
"scrollbar_*.png"
|
||
scrollbar_thumb The image file pattern for the
|
||
scroll bar thumb (the part of the
|
||
scroll bar that moves as scrolling
|
||
occurs). Example:
|
||
"scrollbar_thumb_*.png"
|
||
scrollbar_thumb_overlay If this option is set to "true"
|
||
then the scrollbar thumb side
|
||
slices (every slice except the
|
||
center slice) will overlay the
|
||
scrollbar frame side slices. And
|
||
the center slice of the
|
||
scrollbar_thumb can move all the
|
||
way (from top to bottom), being
|
||
drawn on the center slice of the
|
||
scrollbar frame. That way we can
|
||
make a scrollbar with round-shaped
|
||
edges so there won't be a free
|
||
space from the thumb to the frame
|
||
in top and bottom scrollbar
|
||
positions. Default is "false".
|
||
scrollbar_slice The menu frame styled box's slice
|
||
in which the scrollbar will be
|
||
drawn. Possible values are
|
||
"west", "center", "east"
|
||
(default). "west" - the scrollbar
|
||
will be drawn in the west slice
|
||
(right-aligned). "east" - the
|
||
scrollbar will be drawn in the
|
||
east slice (left-aligned).
|
||
"center" - the scrollbar will be
|
||
drawn in the center slice. Note:
|
||
in case of "center" slice: a) If
|
||
the scrollbar should be drawn then
|
||
boot menu entry's width is
|
||
decreased by the scrollbar's width
|
||
and the scrollbar is drawn at the
|
||
right side of the center slice.
|
||
b) If the scrollbar won't be drawn
|
||
then the boot menu entry's width
|
||
is the width of the center slice.
|
||
c) We don't necessary need the
|
||
menu pixmap box to display the
|
||
scrollbar.
|
||
scrollbar_left_pad The left scrollbar padding in
|
||
pixels. Unused if
|
||
"scrollbar_slice" is "west".
|
||
scrollbar_right_pad The right scrollbar padding in
|
||
pixels. Unused if
|
||
"scrollbar_slice" is "east".
|
||
scrollbar_top_pad The top scrollbar padding in
|
||
pixels.
|
||
scrollbar_bottom_pad The bottom scrollbar padding in
|
||
pixels.
|
||
visible Set to "false" to hide the boot
|
||
menu.
|
||
|
||
* canvas Canvas is a container that allows manual placement of
|
||
components within it. It does not alter the positions of its child
|
||
components. It assigns all child components their preferred sizes.
|
||
|
||
* hbox The *hbox* container lays out its children from left to right,
|
||
giving each one its preferred width. The height of each child is
|
||
set to the maximum of the preferred heights of all children.
|
||
|
||
* vbox The *vbox* container lays out its children from top to bottom,
|
||
giving each one its preferred height. The width of each child is
|
||
set to the maximum of the preferred widths of all children.
|
||
|
||
7.3.6 Common properties
|
||
-----------------------
|
||
|
||
The following properties are supported by all components:
|
||
'left'
|
||
The distance from the left border of container to left border of
|
||
the object in either of three formats:
|
||
x Value in pixels
|
||
p% Percentage
|
||
p%+x mixture of both
|
||
'top'
|
||
The distance from the left border of container to left border of
|
||
the object in same format.
|
||
'width'
|
||
The width of object in same format.
|
||
'height'
|
||
The height of object in same format.
|
||
'id'
|
||
The identifier for the component. This can be any arbitrary
|
||
string. The ID can be used by scripts to refer to various
|
||
components in the GUI component tree. Currently, there is one
|
||
special ID value that VAS_EBOOT recognizes:
|
||
|
||
"__timeout__" Component with this ID will be updated by VAS_EBOOT
|
||
and will indicate time elapsed to an automatical
|
||
boot of the default entry. Affected components:
|
||
"label", "circular_progress", "progress_bar".
|
||
|
||
|
||
File: VasEBoot.info, Node: Network, Next: Serial terminal, Prev: Theme file format, Up: Top
|
||
|
||
8 Booting VAS_EBOOT from the network
|
||
*******************************
|
||
|
||
The following instructions don't work for *-emu, i386-qemu,
|
||
i386-coreboot, i386-multiboot, mips_loongson, mips-arc and
|
||
mips_qemu_mips
|
||
|
||
To generate a netbootable directory, run:
|
||
|
||
VasEBoot-mknetdir --net-directory=/srv/tftp --subdir=/boot/VasEBoot -d /usr/lib/VasEBoot/<platform>
|
||
|
||
E.g. for i386-pc:
|
||
|
||
VasEBoot-mknetdir --net-directory=/srv/tftp --subdir=/boot/VasEBoot -d /usr/lib/VasEBoot/i386-pc
|
||
|
||
Then follow instructions printed out by VasEBoot-mknetdir on configuring
|
||
your DHCP server.
|
||
|
||
The VasEBoot.cfg file is placed in the same directory as the path output
|
||
by VasEBoot-mknetdir hereafter referred to as FWPATH. VAS_EBOOT will search for
|
||
its configuration files in order using the following rules where the
|
||
appended value corresponds to a value on the client machine.
|
||
|
||
'(FWPATH)'/VasEBoot.cfg-'(UUID OF MACHINE)'
|
||
'(FWPATH)'/VasEBoot.cfg-01-'(MAC ADDRESS OF NIC)'
|
||
'(FWPATH)'/VasEBoot.cfg-'(IPv4 OR IPv6 ADDRESS)'
|
||
'(FWPATH)'/VasEBoot.cfg
|
||
|
||
The UUID is the Client Machine Identifier Option Definition as
|
||
specified in RFC 4578. The client will only attempt to look up a UUID
|
||
config file if it was provided by the DHCP server.
|
||
|
||
The client will only attempt to look up an IPv6 address config once,
|
||
however, it will try the IPv4 multiple times. The concrete example
|
||
below shows what would happen under the IPv4 case.
|
||
|
||
UUID: 7726a678-7fc0-4853-a4f6-c85ac36a120a
|
||
MAC: 52:54:00:ec:33:81
|
||
IPV4: 10.0.0.130 (0A000082)
|
||
|
||
'(FWPATH)'/VasEBoot.cfg-7726a678-7fc0-4853-a4f6-c85ac36a120a
|
||
'(FWPATH)'/VasEBoot.cfg-01-52-54-00-ec-33-81
|
||
'(FWPATH)'/VasEBoot.cfg-0A000082
|
||
'(FWPATH)'/VasEBoot.cfg-0A00008
|
||
'(FWPATH)'/VasEBoot.cfg-0A0000
|
||
'(FWPATH)'/VasEBoot.cfg-0A000
|
||
'(FWPATH)'/VasEBoot.cfg-0A00
|
||
'(FWPATH)'/VasEBoot.cfg-0A0
|
||
'(FWPATH)'/VasEBoot.cfg-0A
|
||
'(FWPATH)'/VasEBoot.cfg-0
|
||
'(FWPATH)'/VasEBoot.cfg
|
||
|
||
This feature is enabled by default but it can be disabled by setting
|
||
the 'feature_net_search_cfg' to 'n'. Since this happens before the
|
||
configuration file is read by VAS_EBOOT, this option has to be disabled in an
|
||
embedded configuration file (*note Embedded configuration::).
|
||
|
||
After VAS_EBOOT has started, files on the TFTP server will be accessible
|
||
via the '(tftp)' device.
|
||
|
||
The server IP address can be controlled by changing the '(tftp)'
|
||
device name to '(tftp,SERVER-IP)'. Note that this should be changed
|
||
both in the prefix and in any references to the device name in the
|
||
configuration file.
|
||
|
||
VAS_EBOOT provides several environment variables which may be used to
|
||
inspect or change the behaviour of the PXE device. In the following
|
||
description <INTERFACE> is placeholder for the name of network interface
|
||
(platform dependent):
|
||
|
||
'net_<INTERFACE>_ip'
|
||
The network interface's IP address. Read-only.
|
||
|
||
'net_<INTERFACE>_mac'
|
||
The network interface's MAC address. Read-only.
|
||
|
||
'net_<INTERFACE>_clientid'
|
||
The client id provided by DHCP. Read-only.
|
||
|
||
'net_<INTERFACE>_clientuuid'
|
||
The client uuid provided by DHCP. Read-only.
|
||
|
||
'net_<INTERFACE>_hostname'
|
||
The client host name provided by DHCP. Read-only.
|
||
|
||
'net_<INTERFACE>_domain'
|
||
The client domain name provided by DHCP. Read-only.
|
||
|
||
'net_<INTERFACE>_rootpath'
|
||
The path to the client's root disk provided by DHCP. Read-only.
|
||
|
||
'net_<INTERFACE>_extensionspath'
|
||
The path to additional DHCP vendor extensions provided by DHCP.
|
||
Read-only.
|
||
|
||
'net_<INTERFACE>_boot_file'
|
||
The boot file name provided by DHCP. Read-only.
|
||
|
||
'net_<INTERFACE>_dhcp_server_name'
|
||
The name of the DHCP server responsible for these boot parameters.
|
||
Read-only.
|
||
|
||
'net_<INTERFACE>_next_server'
|
||
The IP address of the next (usually, TFTP) server provided by DHCP.
|
||
Read-only.
|
||
|
||
'net_default_interface'
|
||
Initially set to name of network interface that was used to load
|
||
VasEBoot. Read-write, although setting it affects only interpretation
|
||
of 'net_default_ip' and 'net_default_mac'
|
||
|
||
'net_default_ip'
|
||
The IP address of default interface. Read-only. This is alias for
|
||
the 'net_${net_default_interface}_ip'.
|
||
|
||
'net_default_mac'
|
||
The default interface's MAC address. Read-only. This is alias for
|
||
the 'net_${net_default_interface}_mac'.
|
||
|
||
'net_default_server'
|
||
The default server used by network drives (*note Device syntax::).
|
||
Read-write, although setting this is only useful before opening a
|
||
network device.
|
||
|
||
'pxe_default_server'
|
||
This performs the same function as 'net_default_server'.
|
||
|
||
|
||
File: VasEBoot.info, Node: Serial terminal, Next: Vendor power-on keys, Prev: Network, Up: Top
|
||
|
||
9 Using VAS_EBOOT via a serial line
|
||
******************************
|
||
|
||
This chapter describes how to use the serial terminal support in VAS_EBOOT.
|
||
|
||
If you have many computers or computers with no display/keyboard, it
|
||
could be very useful to control the computers through serial
|
||
communications. To connect one computer with another via a serial line,
|
||
you need to prepare a null-modem (cross) serial cable, and you may need
|
||
to have multiport serial boards, if your computer doesn't have extra
|
||
serial ports. In addition, a terminal emulator is also required, such
|
||
as minicom. Refer to a manual of your operating system, for more
|
||
information.
|
||
|
||
As for VAS_EBOOT, the instruction to set up a serial terminal is quite
|
||
simple. Here is an example:
|
||
|
||
VasEBoot> serial --unit=0 --speed=9600
|
||
VasEBoot> terminal_input serial; terminal_output serial
|
||
|
||
The command 'serial' initializes the serial unit 0 with the speed
|
||
9600bps. The serial unit 0 is usually called 'COM1', so, if you want to
|
||
use COM2, you must specify '--unit=1' instead. This command accepts
|
||
many other options, *note serial:: for more details.
|
||
|
||
Without argument or with '--port=auto', VAS_EBOOT will attempt to use ACPI
|
||
when available to auto-detect the default serial port and its
|
||
configuration.
|
||
|
||
The commands 'terminal_input' (*note terminal_input::) and
|
||
'terminal_output' (*note terminal_output::) choose which type of
|
||
terminal you want to use. In the case above, the terminal will be a
|
||
serial terminal, but you can also pass 'console' to the command, as
|
||
'terminal_input serial console'. In this case, a terminal in which you
|
||
press any key will be selected as a VAS_EBOOT terminal. In the example
|
||
above, note that you need to put both commands on the same command line,
|
||
as you will lose the ability to type commands on the console after the
|
||
first command.
|
||
|
||
However, note that VAS_EBOOT assumes that your terminal emulator is
|
||
compatible with VT100 by default. This is true for most terminal
|
||
emulators nowadays. However if your terminal emulator is not
|
||
VT100-compatible or implements few VT100 escape sequences, you shoud
|
||
tell VAS_EBOOT that the terminal is dumb using the 'terminfo' (*note
|
||
terminfo::) command. This will have VAS_EBOOT provide you with an
|
||
alternative menu interface, because the normal menu requires several
|
||
fancy features of your terminal.
|
||
|
||
|
||
File: VasEBoot.info, Node: Vendor power-on keys, Next: Images, Prev: Serial terminal, Up: Top
|
||
|
||
10 Using VAS_EBOOT with vendor power-on keys
|
||
***************************************
|
||
|
||
Some laptop vendors provide an additional power-on button which boots
|
||
another OS. VAS_EBOOT supports such buttons with the 'VAS_EBOOT_TIMEOUT_BUTTON',
|
||
'VAS_EBOOT_TIMEOUT_STYLE_BUTTON', 'VAS_EBOOT_DEFAULT_BUTTON', and
|
||
'VAS_EBOOT_BUTTON_CMOS_ADDRESS' variables in default/VasEBoot (*note Simple
|
||
configuration::). 'VAS_EBOOT_TIMEOUT_BUTTON', 'VAS_EBOOT_TIMEOUT_STYLE_BUTTON',
|
||
and 'VAS_EBOOT_DEFAULT_BUTTON' are used instead of the corresponding
|
||
variables without the '_BUTTON' suffix when powered on using the special
|
||
button. 'VAS_EBOOT_BUTTON_CMOS_ADDRESS' is vendor-specific and partially
|
||
model-specific. Values known to the VAS_EBOOT team are:
|
||
|
||
<Dell XPS M1330M>
|
||
121:3
|
||
<Dell XPS M1530>
|
||
85:3
|
||
<Dell Latitude E4300>
|
||
85:3
|
||
<Asus EeePC 1005PE>
|
||
84:1 (unconfirmed)
|
||
<LENOVO ThinkPad T410s (2912W1C)>
|
||
101:3
|
||
|
||
To take full advantage of this function, install VAS_EBOOT into the MBR
|
||
(*note Installing VAS_EBOOT using VasEBoot-install::).
|
||
|
||
If you have a laptop which has a similar feature and not in the above
|
||
list could you figure your address and contribute? To discover the
|
||
address do the following:
|
||
* boot normally
|
||
* sudo modprobe nvram
|
||
sudo cat /dev/nvram | xxd > normal_button.txt
|
||
* boot using vendor button
|
||
* sudo modprobe nvram
|
||
sudo cat /dev/nvram | xxd > normal_vendor.txt
|
||
|
||
Then compare these text files and find where a bit was toggled. E.g.
|
||
in case of Dell XPS it was:
|
||
byte 0x47: 20 --> 28
|
||
It's a bit number 3 as seen from following table:
|
||
0 01
|
||
1 02
|
||
2 04
|
||
3 08
|
||
4 10
|
||
5 20
|
||
6 40
|
||
7 80
|
||
|
||
0x47 is decimal 71. Linux nvram implementation cuts first 14 bytes
|
||
of CMOS. So the real byte address in CMOS is 71+14=85 So complete
|
||
address is 85:3
|
||
|
||
|
||
File: VasEBoot.info, Node: Images, Next: Core image size limitation, Prev: Vendor power-on keys, Up: Top
|
||
|
||
11 VAS_EBOOT image files
|
||
*******************
|
||
|
||
VAS_EBOOT consists of several images: a variety of bootstrap images for
|
||
starting VAS_EBOOT in various ways, a kernel image, and a set of modules
|
||
which are combined with the kernel image to form a core image. Here is
|
||
a short overview of them.
|
||
|
||
'boot.img'
|
||
On PC BIOS systems, this image is the first part of VAS_EBOOT to start.
|
||
It is written to a master boot record (MBR) or to the boot sector
|
||
of a partition. Because a PC boot sector is 512 bytes, the size of
|
||
this image is exactly 512 bytes.
|
||
|
||
The sole function of 'boot.img' is to read the first sector of the
|
||
core image from a local disk and jump to it. Because of the size
|
||
restriction, 'boot.img' cannot understand any file system
|
||
structure, so 'VasEBoot-install' hardcodes the location of the first
|
||
sector of the core image into 'boot.img' when installing VAS_EBOOT.
|
||
|
||
'diskboot.img'
|
||
This image is used as the first sector of the core image when
|
||
booting from a hard disk. It reads the rest of the core image into
|
||
memory and starts the kernel. Since file system handling is not
|
||
yet available, it encodes the location of the core image using a
|
||
block list format.
|
||
|
||
'cdboot.img'
|
||
This image is used as the first sector of the core image when
|
||
booting from a CD-ROM drive. It performs a similar function to
|
||
'diskboot.img'.
|
||
|
||
'pxeboot.img'
|
||
This image is used as the start of the core image when booting from
|
||
the network using PXE. *Note Network::.
|
||
|
||
'lnxboot.img'
|
||
This image may be placed at the start of the core image in order to
|
||
make VAS_EBOOT look enough like a Linux kernel that it can be booted by
|
||
LILO using an 'image=' section.
|
||
|
||
'kernel.img'
|
||
This image contains VAS_EBOOT's basic run-time facilities: frameworks
|
||
for device and file handling, environment variables, the rescue
|
||
mode command-line parser, and so on. It is rarely used directly,
|
||
but is built into all core images.
|
||
|
||
'core.img'
|
||
This is the core image of VAS_EBOOT. It is built dynamically from the
|
||
kernel image and an arbitrary list of modules by the 'VasEBoot-mkimage'
|
||
program. Usually, it contains enough modules to access
|
||
'/boot/VasEBoot', and loads everything else (including menu handling,
|
||
the ability to load target operating systems, and so on) from the
|
||
file system at run-time. The modular design allows the core image
|
||
to be kept small, since the areas of disk where it must be
|
||
installed are often as small as 32KB.
|
||
|
||
*Note BIOS installation::, for details on where the core image can
|
||
be installed on PC systems.
|
||
|
||
'*.mod'
|
||
Everything else in VAS_EBOOT resides in dynamically loadable modules.
|
||
These are often loaded automatically, or built into the core image
|
||
if they are essential, but may also be loaded manually using the
|
||
'insmod' command (*note insmod::).
|
||
|
||
For VAS_EBOOT Legacy users
|
||
=====================
|
||
|
||
VAS_EBOOT 2 has a different design from VAS_EBOOT Legacy, and so correspondences
|
||
with the images it used cannot be exact. Nevertheless, VAS_EBOOT Legacy
|
||
users often ask questions in the terms they are familiar with, and so
|
||
here is a brief guide to how VAS_EBOOT 2's images relate to that.
|
||
|
||
'stage1'
|
||
Stage 1 from VAS_EBOOT Legacy was very similar to 'boot.img' in VAS_EBOOT 2,
|
||
and they serve the same function.
|
||
|
||
'*_stage1_5'
|
||
In VAS_EBOOT Legacy, Stage 1.5's function was to include enough
|
||
filesystem code to allow the much larger Stage 2 to be read from an
|
||
ordinary filesystem. In this respect, its function was similar to
|
||
'core.img' in VAS_EBOOT 2. However, 'core.img' is much more capable
|
||
than Stage 1.5 was; since it offers a rescue shell, it is sometimes
|
||
possible to recover manually in the event that it is unable to load
|
||
any other modules, for example if partition numbers have changed.
|
||
'core.img' is built in a more flexible way, allowing VAS_EBOOT 2 to
|
||
support reading modules from advanced disk types such as LVM and
|
||
RAID.
|
||
|
||
VAS_EBOOT Legacy could run with only Stage 1 and Stage 2 in some limited
|
||
configurations, while VAS_EBOOT 2 requires 'core.img' and cannot work
|
||
without it.
|
||
|
||
'stage2'
|
||
VAS_EBOOT 2 has no single Stage 2 image. Instead, it loads modules from
|
||
'/boot/VasEBoot' at run-time.
|
||
|
||
'stage2_eltorito'
|
||
In VAS_EBOOT 2, images for booting from CD-ROM drives are now
|
||
constructed using 'cdboot.img' and 'core.img', making sure that the
|
||
core image contains the 'iso9660' module. It is usually best to
|
||
use the 'VasEBoot-mkrescue' program for this.
|
||
|
||
'nbVasEBoot'
|
||
There is as yet no equivalent for 'nbVasEBoot' in VAS_EBOOT 2; it was used
|
||
by Etherboot and some other network boot loaders.
|
||
|
||
'pxeVasEBoot'
|
||
In VAS_EBOOT 2, images for PXE network booting are now constructed using
|
||
'pxeboot.img' and 'core.img', making sure that the core image
|
||
contains the 'pxe' and 'pxecmd' modules. *Note Network::.
|
||
|
||
|
||
File: VasEBoot.info, Node: Core image size limitation, Next: Filesystem, Prev: Images, Up: Top
|
||
|
||
12 Core image size limitation
|
||
*****************************
|
||
|
||
Heavily limited platforms:
|
||
* i386-pc (normal and PXE): the core image size (compressed) is
|
||
limited by 458240 bytes. kernel.img (.text + .data + .bss,
|
||
uncompressed) is limited by 392704 bytes. module size
|
||
(uncompressed) + kernel.img (.text + .data, uncompressed) is
|
||
limited by the size of contiguous chunk at 1M address.
|
||
* sparc64-ieee1275: kernel.img (.text + .data + .bss) + modules +
|
||
256K (stack) + 2M (heap) is limited by space available at 0x4400.
|
||
On most platforms it's just 3 or 4M since ieee1275 maps only so
|
||
much.
|
||
* i386-ieee1275: kernel.img (.text + .data + .bss) + modules is
|
||
limited by memory available at 0x10000, at most 596K
|
||
|
||
Lightly limited platforms:
|
||
|
||
* *-xen: limited only by address space and RAM size.
|
||
* i386-qemu: kernel.img (.text + .data + .bss) is limited by 392704
|
||
bytes. (core.img would be limited by ROM size but it's unlimited
|
||
on qemu
|
||
* All EFI platforms: limited by contiguous RAM size and possibly
|
||
firmware bugs
|
||
* Coreboot and multiboot. kernel.img (.text + .data + .bss) is
|
||
limited by 392704 bytes. module size is limited by the size of
|
||
contiguous chunk at 1M address.
|
||
* mipsel-loongson (ELF), mips(el)-qemu_mips (ELF): if uncompressed:
|
||
kernel.img (.text + .data) + modules is limited by the space from
|
||
80200000 forward if compressed: kernel.img (.text + .data,
|
||
uncompressed) + modules (uncompressed) + (modules + kernel.img
|
||
(.text + .data)) (compressed) + decompressor is limited by the
|
||
space from 80200000 forward
|
||
* mipsel-loongson (Flash), mips(el)-qemu_mips (Flash): kernel.img
|
||
(.text + .data) + modules is limited by the space from 80200000
|
||
forward core.img (final) is limited by flash size (512K on yeeloong
|
||
and fulooong)
|
||
* mips-arc: if uncompressed: kernel.img (.text + .data) is limited by
|
||
the space from 8bd00000 forward modules + dummy decompressor is
|
||
limited by the space from 8bd00000 backward if compressed:
|
||
kernel.img (.text + .data, uncompressed) is limited by the space
|
||
from 8bd00000 forward modules (uncompressed) + (modules +
|
||
kernel.img (.text + .data)) (compressed, aligned to 1M) + 1M
|
||
(decompressor + scratch space) is limited by the space from
|
||
8bd00000 backward
|
||
* powerpc-ieee1275: kernel.img (.text + .data + .bss) + modules is
|
||
limited by space available at 0x200000
|
||
|
||
|
||
File: VasEBoot.info, Node: Filesystem, Next: Interface, Prev: Core image size limitation, Up: Top
|
||
|
||
13 Filesystem syntax and semantics
|
||
**********************************
|
||
|
||
VAS_EBOOT uses a special syntax for specifying disk drives which can be
|
||
accessed by BIOS. Because of BIOS limitations, VAS_EBOOT cannot distinguish
|
||
between IDE, ESDI, SCSI, or others. You must know yourself which BIOS
|
||
device is equivalent to which OS device. Normally, that will be clear
|
||
if you see the files in a device or use the command 'search' (*note
|
||
search::).
|
||
|
||
* Menu:
|
||
|
||
* Device syntax:: How to specify devices
|
||
* File name syntax:: How to specify files
|
||
* Block list syntax:: How to specify block lists
|
||
|
||
|
||
File: VasEBoot.info, Node: Device syntax, Next: File name syntax, Up: Filesystem
|
||
|
||
13.1 How to specify devices
|
||
===========================
|
||
|
||
The device syntax is like this:
|
||
|
||
(DEVICE[,PARTMAP-NAME1PART-NUM1[,PARTMAP-NAME2PART-NUM2[,...]]])
|
||
|
||
'[]' means the parameter is optional. DEVICE depends on the disk
|
||
driver in use. BIOS and EFI disks use either 'fd' or 'hd' followed by a
|
||
digit, like 'fd0', or 'cd'. AHCI, PATA (ata), crypto, USB use the name
|
||
of driver followed by a number. Memdisk and host are limited to one
|
||
disk and so it's referred just by driver name. RAID (md), ofdisk
|
||
(ieee1275 and nand), LVM (lvm), LDM, virtio (vdsk) and arcdisk (arc) use
|
||
intrinsic name of disk prefixed by driver name. Additionally just
|
||
"nand" refers to the disk aliased as "nand". Conflicts are solved by
|
||
suffixing a number if necessary. Commas need to be escaped. Loopback
|
||
uses whatever name specified to 'loopback' command. Hostdisk uses names
|
||
specified in device.map as long as it's of the form [fhc]d[0-9]* or
|
||
hostdisk/<OS DEVICE>. For crypto and RAID (md) additionally you can use
|
||
the syntax <driver name>uuid/<uuid>. For LVM additionally you can use
|
||
the syntax lvmid/<volume-group-uuid>/<volume-uuid>.
|
||
|
||
(fd0)
|
||
(hd0)
|
||
(cd)
|
||
(ahci0)
|
||
(ata0)
|
||
(crypto0)
|
||
(usb0)
|
||
(cryptouuid/123456789abcdef0123456789abcdef0)
|
||
(mduuid/123456789abcdef0123456789abcdef0)
|
||
(lvm/system-root)
|
||
(lvmid/F1ikgD-2RES-306G-il9M-7iwa-4NKW-EbV1NV/eLGuCQ-L4Ka-XUgR-sjtJ-ffch-bajr-fCNfz5)
|
||
(md/myraid)
|
||
(md/0)
|
||
(ieee1275/disk2)
|
||
(ieee1275//pci@1f\,0/ide@d/disk@2)
|
||
(nand)
|
||
(memdisk)
|
||
(host)
|
||
(myloop)
|
||
(hostdisk//dev/sda)
|
||
|
||
PART-NUM represents the partition number of DEVICE, starting from
|
||
one. PARTNAME is optional but is recommended since disk may have
|
||
several top-level partmaps. Specifying third and later component you
|
||
can access to subpartitions.
|
||
|
||
The syntax '(hd0)' represents using the entire disk (or the MBR when
|
||
installing VAS_EBOOT), while the syntax '(hd0,1)' represents using the first
|
||
partition of the disk (or the boot sector of the partition when
|
||
installing VAS_EBOOT).
|
||
|
||
(hd0,msdos1)
|
||
(hd0,msdos1,msdos5)
|
||
(hd0,msdos1,bsd3)
|
||
(hd0,netbsd1)
|
||
(hd0,gpt1)
|
||
(hd0,1,3)
|
||
|
||
If you enabled the network support, the special drives
|
||
'(PROTOCOL[,SERVER])' are also available. Supported protocols are
|
||
'http' and 'tftp'. If SERVER is omitted, value of environment variable
|
||
'net_default_server' is used. Before using the network drive, you must
|
||
initialize the network. *Note Network::, for more information.
|
||
|
||
When using 'http' or 'tftp', ports other than '80' can be specified
|
||
using a colon (':') after the address. To avoid parsing conflicts, when
|
||
using IPv6 addresses with custom ports, the addresses must be enclosed
|
||
with square brackets ('[]'), as is standard practice.
|
||
|
||
(http,VasEBoot.example.com:31337)
|
||
(http,192.0.2.1:339)
|
||
(http,[2001:db8::1]:11235)
|
||
|
||
If you boot VAS_EBOOT from a CD-ROM, '(cd)' is available. *Note Making a
|
||
VAS_EBOOT bootable CD-ROM::, for details.
|
||
|
||
|
||
File: VasEBoot.info, Node: File name syntax, Next: Block list syntax, Prev: Device syntax, Up: Filesystem
|
||
|
||
13.2 How to specify files
|
||
=========================
|
||
|
||
There are two ways to specify files, by "absolute file name" and by
|
||
"block list".
|
||
|
||
An absolute file name resembles a Unix absolute file name, using '/'
|
||
for the directory separator (not '\' as in DOS). One example is
|
||
'(hd0,1)/boot/VasEBoot/VasEBoot.cfg'. This means the file '/boot/VasEBoot/VasEBoot.cfg'
|
||
in the first partition of the first hard disk. If you omit the device
|
||
name in an absolute file name, VAS_EBOOT uses VAS_EBOOT's "root device"
|
||
implicitly. So if you set the root device to, say, '(hd1,1)' by the
|
||
command 'set root=(hd1,1)' (*note set::), then '/boot/kernel' is the
|
||
same as '(hd1,1)/boot/kernel'.
|
||
|
||
On ZFS filesystem the first path component must be
|
||
VOLUME'@'[SNAPSHOT]. So '/rootvol@snap-129/boot/VasEBoot/VasEBoot.cfg' refers
|
||
to file '/boot/VasEBoot/VasEBoot.cfg' in snapshot of volume 'rootvol' with name
|
||
'snap-129'. Trailing '@' after volume name is mandatory even if
|
||
snapshot name is omitted.
|
||
|
||
|
||
File: VasEBoot.info, Node: Block list syntax, Prev: File name syntax, Up: Filesystem
|
||
|
||
13.3 How to specify block lists
|
||
===============================
|
||
|
||
A block list is used for specifying a file that doesn't appear in the
|
||
filesystem, like a chainloader. The syntax is
|
||
'[OFFSET]+[LENGTH][,[OFFSET]+[LENGTH]]...'. Here is an example:
|
||
|
||
0+100,200+1,300+300,800+
|
||
|
||
This represents that VAS_EBOOT should read blocks 0 through 99, block 200,
|
||
blocks 300 through 599, and blocks 800 until the end of the device. If
|
||
you omit an offset, then VAS_EBOOT assumes the offset is zero. If the length
|
||
is omitted, then VAS_EBOOT assumes the block list extends until the end of
|
||
the device.
|
||
|
||
Like the file name syntax (*note File name syntax::), if a blocklist
|
||
does not contain a device name, then VAS_EBOOT uses VAS_EBOOT's "root device". So
|
||
'(hd0,2)+1' is the same as '+1' when the root device is '(hd0,2)'.
|
||
|
||
|
||
File: VasEBoot.info, Node: Interface, Next: Environment, Prev: Filesystem, Up: Top
|
||
|
||
14 VAS_EBOOT's user interface
|
||
************************
|
||
|
||
VAS_EBOOT has both a simple menu interface for choosing preset entries from a
|
||
configuration file, and a highly flexible command-line for performing
|
||
any desired combination of boot commands.
|
||
|
||
VAS_EBOOT looks for its configuration file as soon as it is loaded. If
|
||
one is found, then the full menu interface is activated using whatever
|
||
entries were found in the file. If you choose the "command-line" menu
|
||
option, or if the configuration file was not found, then VAS_EBOOT drops to
|
||
the command-line interface.
|
||
|
||
* Menu:
|
||
|
||
* Command-line interface:: The flexible command-line interface
|
||
* Menu interface:: The simple menu interface
|
||
* Menu entry editor:: Editing a menu entry
|
||
|
||
|
||
File: VasEBoot.info, Node: Command-line interface, Next: Menu interface, Up: Interface
|
||
|
||
14.1 The flexible command-line interface
|
||
========================================
|
||
|
||
The command-line interface provides a prompt and after it an editable
|
||
text area much like a command-line in Unix or DOS. Each command is
|
||
immediately executed after it is entered(1) (*note Command-line
|
||
interface-Footnote-1::). The commands (*note Commands::) are a subset
|
||
of those available in the configuration file, used with exactly the same
|
||
syntax.
|
||
|
||
Cursor movement and editing of the text on the line can be done via a
|
||
subset of the functions available in the Bash shell:
|
||
|
||
<C-f>
|
||
<PC right key>
|
||
Move forward one character.
|
||
|
||
<C-b>
|
||
<PC left key>
|
||
Move back one character.
|
||
|
||
<C-a>
|
||
<HOME>
|
||
Move to the start of the line.
|
||
|
||
<C-e>
|
||
<END>
|
||
Move the the end of the line.
|
||
|
||
<C-d>
|
||
<DEL>
|
||
Delete the character underneath the cursor.
|
||
|
||
<C-h>
|
||
<BS>
|
||
Delete the character to the left of the cursor.
|
||
|
||
<C-k>
|
||
Kill the text from the current cursor position to the end of the
|
||
line.
|
||
|
||
<C-u>
|
||
Kill backward from the cursor to the beginning of the line.
|
||
|
||
<C-y>
|
||
Yank the killed text back into the buffer at the cursor.
|
||
|
||
<C-p>
|
||
<PC up key>
|
||
Move up through the history list.
|
||
|
||
<C-n>
|
||
<PC down key>
|
||
Move down through the history list.
|
||
|
||
When typing commands interactively, if the cursor is within or before
|
||
the first word in the command-line, pressing the <TAB> key (or <C-i>)
|
||
will display a listing of the available commands, and if the cursor is
|
||
after the first word, the '<TAB>' will provide a completion listing of
|
||
disks, partitions, and file names depending on the context. Note that
|
||
to obtain a list of drives, one must open a parenthesis, as 'root ('.
|
||
|
||
Note that you cannot use the completion functionality in the TFTP
|
||
filesystem. This is because TFTP doesn't support file name listing for
|
||
the security.
|
||
|
||
|
||
File: VasEBoot.info, Node: Command-line interface-Footnotes, Up: Command-line interface
|
||
|
||
(1) However, this behavior will be changed in the future version, in
|
||
a user-invisible way.
|
||
|
||
|
||
File: VasEBoot.info, Node: Menu interface, Next: Menu entry editor, Prev: Command-line interface, Up: Interface
|
||
|
||
14.2 The simple menu interface
|
||
==============================
|
||
|
||
The menu interface is quite easy to use. Its commands are both
|
||
reasonably intuitive and described on screen.
|
||
|
||
Basically, the menu interface provides a list of "boot entries" to
|
||
the user to choose from. Use the arrow keys to select the entry of
|
||
choice, then press <RET> to run it. An optional timeout is available to
|
||
boot the default entry (the first one if not set), which is aborted by
|
||
pressing any key.
|
||
|
||
Commands are available to enter a bare command-line by pressing <c>
|
||
(which operates exactly like the non-config-file version of VAS_EBOOT, but
|
||
allows one to return to the menu if desired by pressing <ESC>) or to
|
||
edit any of the "boot entries" by pressing <e>.
|
||
|
||
If you protect the menu interface with a password (*note Security::),
|
||
all you can do is choose an entry by pressing <RET>, or press <p> to
|
||
enter the password.
|
||
|
||
Pressing <Ctrl-l> will refresh the menu, which can be useful when
|
||
connecting via serial after the menu has been drawn.
|
||
|
||
|
||
File: VasEBoot.info, Node: Menu entry editor, Prev: Menu interface, Up: Interface
|
||
|
||
14.3 Editing a menu entry
|
||
=========================
|
||
|
||
The menu entry editor looks much like the main menu interface, but the
|
||
lines in the menu are individual commands in the selected entry instead
|
||
of entry names.
|
||
|
||
If an <ESC> is pressed in the editor, it aborts all the changes made
|
||
to the configuration entry and returns to the main menu interface.
|
||
|
||
Each line in the menu entry can be edited freely, and you can add new
|
||
lines by pressing <RET> at the end of a line. To boot the edited entry,
|
||
press <Ctrl-x>.
|
||
|
||
Although VAS_EBOOT unfortunately does not support "undo", you can do
|
||
almost the same thing by just returning to the main menu using <ESC>.
|
||
|
||
|
||
File: VasEBoot.info, Node: Environment, Next: Modules, Prev: Interface, Up: Top
|
||
|
||
15 VAS_EBOOT environment variables
|
||
*****************************
|
||
|
||
VAS_EBOOT supports environment variables which are rather like those offered
|
||
by all Unix-like systems. Environment variables have a name, which is
|
||
unique and is usually a short identifier, and a value, which is an
|
||
arbitrary string of characters. They may be set (*note set::), unset
|
||
(*note unset::), or looked up (*note Shell-like scripting::) by name.
|
||
|
||
A number of environment variables have special meanings to various
|
||
parts of VAS_EBOOT. Others may be used freely in VAS_EBOOT configuration files.
|
||
|
||
* Menu:
|
||
|
||
* Special environment variables::
|
||
* Environment block::
|
||
* Special environment block variables::
|
||
* Passing environment variables through Xen::
|
||
|
||
|
||
File: VasEBoot.info, Node: Special environment variables, Next: Environment block, Up: Environment
|
||
|
||
15.1 Special environment variables
|
||
==================================
|
||
|
||
These variables have special meaning to VAS_EBOOT.
|
||
|
||
* Menu:
|
||
|
||
* appendedsig_key_mgmt::
|
||
* biosnum::
|
||
* blsuki_save_default::
|
||
* check_appended_signatures::
|
||
* check_signatures::
|
||
* chosen::
|
||
* cmdpath::
|
||
* color_highlight::
|
||
* color_normal::
|
||
* config_directory::
|
||
* config_file::
|
||
* cryptodisk_passphrase_tries::
|
||
* debug::
|
||
* default::
|
||
* fallback::
|
||
* gfxmode::
|
||
* gfxpayload::
|
||
* gfxterm_font::
|
||
* VasEBoot_cpu::
|
||
* VasEBoot_platform::
|
||
* icondir::
|
||
* lang::
|
||
* locale_dir::
|
||
* lockdown::
|
||
* menu_color_highlight::
|
||
* menu_color_normal::
|
||
* net_<INTERFACE>_boot_file::
|
||
* net_<INTERFACE>_clientid::
|
||
* net_<INTERFACE>_clientuuid::
|
||
* net_<INTERFACE>_dhcp_server_name::
|
||
* net_<INTERFACE>_domain::
|
||
* net_<INTERFACE>_extensionspath::
|
||
* net_<INTERFACE>_hostname::
|
||
* net_<INTERFACE>_ip::
|
||
* net_<INTERFACE>_mac::
|
||
* net_<INTERFACE>_next_server::
|
||
* net_<INTERFACE>_rootpath::
|
||
* net_default_interface::
|
||
* net_default_ip::
|
||
* net_default_mac::
|
||
* net_default_server::
|
||
* pager::
|
||
* prefix::
|
||
* pxe_default_server::
|
||
* root::
|
||
* shim_lock::
|
||
* superusers::
|
||
* theme::
|
||
* timeout::
|
||
* timeout_style::
|
||
* tpm_fail_fatal::
|
||
|
||
|
||
File: VasEBoot.info, Node: appendedsig_key_mgmt, Next: biosnum, Up: Special environment variables
|
||
|
||
15.1.1 appendedsig_key_mgmt
|
||
---------------------------
|
||
|
||
This variable controls whether VAS_EBOOT enforces appended signature
|
||
validation using either 'static' or 'dynamic' key management. It is
|
||
automatically set by VAS_EBOOT to either 'static' or 'dynamic' based on the
|
||
*'ibm,secure-boot'* device tree property and Platform KeyStore (PKS).
|
||
Also, it can be explicitly set to either 'static' or 'dynamic' by
|
||
setting the 'appendedsig_key_mgmt' variable from the VAS_EBOOT console when
|
||
the VAS_EBOOT is not locked down.
|
||
|
||
*Note Using appended signatures:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: biosnum, Next: blsuki_save_default, Prev: appendedsig_key_mgmt, Up: Special environment variables
|
||
|
||
15.1.2 biosnum
|
||
--------------
|
||
|
||
When chain-loading another boot loader (*note Chain-loading::), VAS_EBOOT may
|
||
need to know what BIOS drive number corresponds to the root device
|
||
(*note root::) so that it can set up registers properly. If the BIOSNUM
|
||
variable is set, it overrides VAS_EBOOT's own means of guessing this.
|
||
|
||
For an alternative approach which also changes BIOS drive mappings
|
||
for the chain-loaded system, *note drivemap::.
|
||
|
||
|
||
File: VasEBoot.info, Node: blsuki_save_default, Next: check_appended_signatures, Prev: biosnum, Up: Special environment variables
|
||
|
||
15.1.3 blsuki_save_default
|
||
--------------------------
|
||
|
||
If this variable is set, menu entries generated from BLS config files
|
||
(*note blscfg::) or UKI files (*note uki::) will be set as the default
|
||
boot entry when selected.
|
||
|
||
|
||
File: VasEBoot.info, Node: check_appended_signatures, Next: check_signatures, Prev: blsuki_save_default, Up: Special environment variables
|
||
|
||
15.1.4 check_appended_signatures
|
||
--------------------------------
|
||
|
||
This variable controls whether VAS_EBOOT enforces appended signature
|
||
validation on loaded kernel and VAS_EBOOT module files. It is automatically
|
||
set by VAS_EBOOT to either 'no' or 'yes' based on the *'ibm,secure-boot'*
|
||
device tree property. Also, it can be explicitly set to either 'no' or
|
||
'yes' by setting the 'check_appended_signatures' variable from the VAS_EBOOT
|
||
console when the VAS_EBOOT is not locked down.
|
||
|
||
*Note Using appended signatures:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: check_signatures, Next: chosen, Prev: check_appended_signatures, Up: Special environment variables
|
||
|
||
15.1.5 check_signatures
|
||
-----------------------
|
||
|
||
This variable controls whether VAS_EBOOT enforces GPG-style digital signature
|
||
validation on loaded files. *Note Using GPG-style digital signatures::.
|
||
|
||
|
||
File: VasEBoot.info, Node: chosen, Next: cmdpath, Prev: check_signatures, Up: Special environment variables
|
||
|
||
15.1.6 chosen
|
||
-------------
|
||
|
||
When executing a menu entry, VAS_EBOOT sets the CHOSEN variable to the title
|
||
of the entry being executed.
|
||
|
||
If the menu entry is in one or more submenus, then CHOSEN is set to
|
||
the titles of each of the submenus starting from the top level followed
|
||
by the title of the menu entry itself, separated by '>'.
|
||
|
||
|
||
File: VasEBoot.info, Node: cmdpath, Next: color_highlight, Prev: chosen, Up: Special environment variables
|
||
|
||
15.1.7 cmdpath
|
||
--------------
|
||
|
||
The location from which 'core.img' was loaded as an absolute directory
|
||
name (*note File name syntax::). This is set by VAS_EBOOT at startup based
|
||
on information returned by platform firmware. Not every platform
|
||
provides this information and some may return only device without path
|
||
name.
|
||
|
||
|
||
File: VasEBoot.info, Node: color_highlight, Next: color_normal, Prev: cmdpath, Up: Special environment variables
|
||
|
||
15.1.8 color_highlight
|
||
----------------------
|
||
|
||
This variable contains the "highlight" foreground and background
|
||
terminal colors, separated by a slash ('/'). Setting this variable
|
||
changes those colors. For the available color names, *note
|
||
color_normal::.
|
||
|
||
The default is 'black/light-gray'.
|
||
|
||
|
||
File: VasEBoot.info, Node: color_normal, Next: config_directory, Prev: color_highlight, Up: Special environment variables
|
||
|
||
15.1.9 color_normal
|
||
-------------------
|
||
|
||
This variable contains the "normal" foreground and background terminal
|
||
colors, separated by a slash ('/'). Setting this variable changes those
|
||
colors. Each color must be a name from the following list:
|
||
|
||
* black
|
||
* blue
|
||
* green
|
||
* cyan
|
||
* red
|
||
* magenta
|
||
* brown
|
||
* light-gray
|
||
* dark-gray
|
||
* light-blue
|
||
* light-green
|
||
* light-cyan
|
||
* light-red
|
||
* light-magenta
|
||
* yellow
|
||
* white
|
||
|
||
The default is 'light-gray/black'.
|
||
|
||
The color support support varies from terminal to terminal.
|
||
|
||
'morse' has no color support at all.
|
||
|
||
'mda_text' color support is limited to highlighting by black/white
|
||
reversal.
|
||
|
||
'console' on ARC, EMU and IEEE1275, 'serial_*' and 'spkmodem' are
|
||
governed by terminfo and support only 8 colors if in modes 'vt100-color'
|
||
(default for console on emu), 'arc' (default for console on ARC),
|
||
'ieee1275' (default for console on IEEE1275). When in mode 'vt100' then
|
||
the color support is limited to highlighting by black/white reversal.
|
||
When in mode 'dumb' there is no color support.
|
||
|
||
When console supports no colors this setting is ignored. When
|
||
console supports 8 colors, then the colors from the second half of the
|
||
previous list are mapped to the matching colors of first half.
|
||
|
||
'console' on EFI and BIOS and 'vga_text' support all 16 colors.
|
||
|
||
'gfxterm' supports all 16 colors and would be theoretically
|
||
extendable to support whole rgb24 palette but currently there is no
|
||
compelling reason to go beyond the current 16 colors.
|
||
|
||
|
||
File: VasEBoot.info, Node: config_directory, Next: config_file, Prev: color_normal, Up: Special environment variables
|
||
|
||
15.1.10 config_directory
|
||
------------------------
|
||
|
||
This variable is automatically set by VAS_EBOOT to the directory part of
|
||
current configuration file name (*note config_file::).
|
||
|
||
|
||
File: VasEBoot.info, Node: config_file, Next: cryptodisk_passphrase_tries, Prev: config_directory, Up: Special environment variables
|
||
|
||
15.1.11 config_file
|
||
-------------------
|
||
|
||
This variable is automatically set by VAS_EBOOT to the name of configuration
|
||
file that is being processed by commands 'configfile' (*note
|
||
configfile::) or 'normal' (*note normal::). It is restored to the
|
||
previous value when command completes.
|
||
|
||
|
||
File: VasEBoot.info, Node: cryptodisk_passphrase_tries, Next: debug, Prev: config_file, Up: Special environment variables
|
||
|
||
15.1.12 cryptodisk_passphrase_tries
|
||
-----------------------------------
|
||
|
||
When prompting the user for a cryptodisk passphrase, allow this many
|
||
attempts before giving up. Defaults to '3' if unset or set to an
|
||
invalid value. (The user can give up early by entering an empty
|
||
passphrase.)
|
||
|
||
|
||
File: VasEBoot.info, Node: debug, Next: default, Prev: cryptodisk_passphrase_tries, Up: Special environment variables
|
||
|
||
15.1.13 debug
|
||
-------------
|
||
|
||
This variable may be set to enable debugging output from various
|
||
components of VAS_EBOOT. The value is an ordered list of debug facility names
|
||
separated by whitespace or ','. If the special facility named 'all' is
|
||
present then debugging output of all facility names is enabled at the
|
||
start of processing the value of this variable. A facility's debug
|
||
output can then be disabled by prefixing its name with a '-'. The last
|
||
occurence facility name with or without a leading '-' takes precendent
|
||
over any previous occurence. This allows the easy enabling or disabling
|
||
of facilities by appending a ',' and then the facility name with or
|
||
without the leading '-', which will preserve the state of the rest of
|
||
the facilities. The facility names are the first argument to
|
||
VasEBoot_dprintf. Consult the source for more details.
|
||
|
||
|
||
File: VasEBoot.info, Node: default, Next: fallback, Prev: debug, Up: Special environment variables
|
||
|
||
15.1.14 default
|
||
---------------
|
||
|
||
If this variable is set, it identifies a menu entry that should be
|
||
selected by default, possibly after a timeout (*note timeout::). The
|
||
entry may be identified by number (starting from 0 at each level of the
|
||
hierarchy), by title, or by id.
|
||
|
||
For example, if you have:
|
||
|
||
menuentry 'Example GNU/Linux distribution' --class gnu-linux --id example-gnu-linux {
|
||
...
|
||
}
|
||
|
||
then you can make this the default using:
|
||
|
||
default=example-gnu-linux
|
||
|
||
If the entry is in a submenu, then it must be identified using the
|
||
number, title, or id of each of the submenus starting from the top
|
||
level, followed by the number, title, or id of the menu entry itself,
|
||
with each element separated by '>'. For example, take the following
|
||
menu structure:
|
||
|
||
GNU/Hurd --id gnu-hurd
|
||
Standard Boot --id=gnu-hurd-std
|
||
Rescue shell --id=gnu-hurd-rescue
|
||
Other platforms --id=other
|
||
Minix --id=minix
|
||
Version 3.4.0 --id=minix-3.4.0
|
||
Version 3.3.0 --id=minix-3.3.0
|
||
VAS_EBOOT Invaders --id=VasEBoot-invaders
|
||
|
||
The more recent release of Minix would then be identified as 'Other
|
||
platforms>Minix>Version 3.4.0', or as '1>0>0', or as
|
||
'other>minix>minix-3.4.0'.
|
||
|
||
This variable is often set by 'VAS_EBOOT_DEFAULT' (*note Simple
|
||
configuration::), 'VasEBoot-set-default', or 'VasEBoot-reboot'.
|
||
|
||
|
||
File: VasEBoot.info, Node: fallback, Next: gfxmode, Prev: default, Up: Special environment variables
|
||
|
||
15.1.15 fallback
|
||
----------------
|
||
|
||
If this variable is set, it identifies a menu entry that should be
|
||
selected if the default menu entry fails to boot. Entries are
|
||
identified in the same way as for 'default' (*note default::).
|
||
|
||
|
||
File: VasEBoot.info, Node: gfxmode, Next: gfxpayload, Prev: fallback, Up: Special environment variables
|
||
|
||
15.1.16 gfxmode
|
||
---------------
|
||
|
||
If this variable is set, it sets the resolution used on the 'gfxterm'
|
||
graphical terminal. Note that you can only use modes which your
|
||
graphics card supports via VESA BIOS Extensions (VBE), so for example
|
||
native LCD panel resolutions may not be available. The default is
|
||
'auto', which selects a platform-specific default that should look
|
||
reasonable. Supported modes can be listed by 'videoinfo' command in
|
||
VAS_EBOOT.
|
||
|
||
The resolution may be specified as a sequence of one or more modes,
|
||
separated by commas (',') or semicolons (';'); each will be tried in
|
||
turn until one is found. Each mode should be either 'auto',
|
||
'WIDTHxHEIGHT', or 'WIDTHxHEIGHTxDEPTH'.
|
||
|
||
|
||
File: VasEBoot.info, Node: gfxpayload, Next: gfxterm_font, Prev: gfxmode, Up: Special environment variables
|
||
|
||
15.1.17 gfxpayload
|
||
------------------
|
||
|
||
If this variable is set, it controls the video mode in which the Linux
|
||
kernel starts up, replacing the 'vga=' boot option (*note linux::). It
|
||
may be set to 'text' to force the Linux kernel to boot in normal text
|
||
mode, 'keep' to preserve the graphics mode set using 'gfxmode', or any
|
||
of the permitted values for 'gfxmode' to set a particular graphics mode
|
||
(*note gfxmode::).
|
||
|
||
Depending on your kernel, your distribution, your graphics card, and
|
||
the phase of the moon, note that using this option may cause GNU/Linux
|
||
to suffer from various display problems, particularly during the early
|
||
part of the boot sequence. If you have problems, set this variable to
|
||
'text' and VAS_EBOOT will tell Linux to boot in normal text mode.
|
||
|
||
The default is platform-specific. On platforms with a native text
|
||
mode (such as PC BIOS platforms), the default is 'text'. Otherwise the
|
||
default may be 'auto' or a specific video mode.
|
||
|
||
This variable is often set by 'VAS_EBOOT_GFXPAYLOAD_LINUX' (*note Simple
|
||
configuration::).
|
||
|
||
|
||
File: VasEBoot.info, Node: gfxterm_font, Next: VasEBoot_cpu, Prev: gfxpayload, Up: Special environment variables
|
||
|
||
15.1.18 gfxterm_font
|
||
--------------------
|
||
|
||
If this variable is set, it names a font to use for text on the
|
||
'gfxterm' graphical terminal. Otherwise, 'gfxterm' may use any
|
||
available font.
|
||
|
||
|
||
File: VasEBoot.info, Node: VasEBoot_cpu, Next: VasEBoot_platform, Prev: gfxterm_font, Up: Special environment variables
|
||
|
||
15.1.19 VasEBoot_cpu
|
||
----------------
|
||
|
||
In normal mode (*note normal::), VAS_EBOOT sets the 'VasEBoot_cpu' variable to
|
||
the CPU type for which VAS_EBOOT was built (e.g. 'i386' or 'powerpc').
|
||
|
||
|
||
File: VasEBoot.info, Node: VasEBoot_platform, Next: icondir, Prev: VasEBoot_cpu, Up: Special environment variables
|
||
|
||
15.1.20 VasEBoot_platform
|
||
---------------------
|
||
|
||
In normal mode (*note normal::), VAS_EBOOT sets the 'VasEBoot_platform' variable
|
||
to the platform for which VAS_EBOOT was built (e.g. 'pc' or 'efi').
|
||
|
||
|
||
File: VasEBoot.info, Node: icondir, Next: lang, Prev: VasEBoot_platform, Up: Special environment variables
|
||
|
||
15.1.21 icondir
|
||
---------------
|
||
|
||
If this variable is set, it names a directory in which the VAS_EBOOT
|
||
graphical menu should look for icons after looking in the theme's
|
||
'icons' directory. *Note Theme file format::.
|
||
|
||
|
||
File: VasEBoot.info, Node: lang, Next: locale_dir, Prev: icondir, Up: Special environment variables
|
||
|
||
15.1.22 lang
|
||
------------
|
||
|
||
If this variable is set, it names the language code that the 'gettext'
|
||
command (*note gettext::) uses to translate strings. For example,
|
||
French would be named as 'fr', and Simplified Chinese as 'zh_CN'.
|
||
|
||
'VasEBoot-mkconfig' (*note Simple configuration::) will try to set a
|
||
reasonable default for this variable based on the system locale.
|
||
|
||
|
||
File: VasEBoot.info, Node: locale_dir, Next: lockdown, Prev: lang, Up: Special environment variables
|
||
|
||
15.1.23 locale_dir
|
||
------------------
|
||
|
||
If this variable is set, it names the directory where translation files
|
||
may be found (*note gettext::), usually '/boot/VasEBoot/locale'. Otherwise,
|
||
internationalization is disabled.
|
||
|
||
'VasEBoot-mkconfig' (*note Simple configuration::) will set a reasonable
|
||
default for this variable if internationalization is needed and any
|
||
translation files are available.
|
||
|
||
|
||
File: VasEBoot.info, Node: lockdown, Next: menu_color_highlight, Prev: locale_dir, Up: Special environment variables
|
||
|
||
15.1.24 lockdown
|
||
----------------
|
||
|
||
If this variable is set to 'y', it means that VAS_EBOOT has entered *note
|
||
Lockdown:: mode.
|
||
|
||
|
||
File: VasEBoot.info, Node: menu_color_highlight, Next: menu_color_normal, Prev: lockdown, Up: Special environment variables
|
||
|
||
15.1.25 menu_color_highlight
|
||
----------------------------
|
||
|
||
This variable contains the foreground and background colors to be used
|
||
for the highlighted menu entry, separated by a slash ('/'). Setting
|
||
this variable changes those colors. For the available color names,
|
||
*note color_normal::.
|
||
|
||
The default is the value of 'color_highlight' (*note
|
||
color_highlight::).
|
||
|
||
|
||
File: VasEBoot.info, Node: menu_color_normal, Next: net_<INTERFACE>_boot_file, Prev: menu_color_highlight, Up: Special environment variables
|
||
|
||
15.1.26 menu_color_normal
|
||
-------------------------
|
||
|
||
This variable contains the foreground and background colors to be used
|
||
for non-highlighted menu entries, separated by a slash ('/'). Setting
|
||
this variable changes those colors. For the available color names,
|
||
*note color_normal::.
|
||
|
||
The default is the value of 'color_normal' (*note color_normal::).
|
||
|
||
|
||
File: VasEBoot.info, Node: net_<INTERFACE>_boot_file, Next: net_<INTERFACE>_clientid, Prev: menu_color_normal, Up: Special environment variables
|
||
|
||
15.1.27 net_<INTERFACE>_boot_file
|
||
---------------------------------
|
||
|
||
*Note Network::.
|
||
|
||
|
||
File: VasEBoot.info, Node: net_<INTERFACE>_clientid, Next: net_<INTERFACE>_clientuuid, Prev: net_<INTERFACE>_boot_file, Up: Special environment variables
|
||
|
||
15.1.28 net_<INTERFACE>_clientid
|
||
--------------------------------
|
||
|
||
*Note Network::.
|
||
|
||
|
||
File: VasEBoot.info, Node: net_<INTERFACE>_clientuuid, Next: net_<INTERFACE>_dhcp_server_name, Prev: net_<INTERFACE>_clientid, Up: Special environment variables
|
||
|
||
15.1.29 net_<INTERFACE>_clientuuid
|
||
----------------------------------
|
||
|
||
*Note Network::.
|
||
|
||
|
||
File: VasEBoot.info, Node: net_<INTERFACE>_dhcp_server_name, Next: net_<INTERFACE>_domain, Prev: net_<INTERFACE>_clientuuid, Up: Special environment variables
|
||
|
||
15.1.30 net_<INTERFACE>_dhcp_server_name
|
||
----------------------------------------
|
||
|
||
*Note Network::.
|
||
|
||
|
||
File: VasEBoot.info, Node: net_<INTERFACE>_domain, Next: net_<INTERFACE>_extensionspath, Prev: net_<INTERFACE>_dhcp_server_name, Up: Special environment variables
|
||
|
||
15.1.31 net_<INTERFACE>_domain
|
||
------------------------------
|
||
|
||
*Note Network::.
|
||
|
||
|
||
File: VasEBoot.info, Node: net_<INTERFACE>_extensionspath, Next: net_<INTERFACE>_hostname, Prev: net_<INTERFACE>_domain, Up: Special environment variables
|
||
|
||
15.1.32 net_<INTERFACE>_extensionspath
|
||
--------------------------------------
|
||
|
||
*Note Network::.
|
||
|
||
|
||
File: VasEBoot.info, Node: net_<INTERFACE>_hostname, Next: net_<INTERFACE>_ip, Prev: net_<INTERFACE>_extensionspath, Up: Special environment variables
|
||
|
||
15.1.33 net_<INTERFACE>_hostname
|
||
--------------------------------
|
||
|
||
*Note Network::.
|
||
|
||
|
||
File: VasEBoot.info, Node: net_<INTERFACE>_ip, Next: net_<INTERFACE>_mac, Prev: net_<INTERFACE>_hostname, Up: Special environment variables
|
||
|
||
15.1.34 net_<INTERFACE>_ip
|
||
--------------------------
|
||
|
||
*Note Network::.
|
||
|
||
|
||
File: VasEBoot.info, Node: net_<INTERFACE>_mac, Next: net_<INTERFACE>_next_server, Prev: net_<INTERFACE>_ip, Up: Special environment variables
|
||
|
||
15.1.35 net_<INTERFACE>_mac
|
||
---------------------------
|
||
|
||
*Note Network::.
|
||
|
||
|
||
File: VasEBoot.info, Node: net_<INTERFACE>_next_server, Next: net_<INTERFACE>_rootpath, Prev: net_<INTERFACE>_mac, Up: Special environment variables
|
||
|
||
15.1.36 net_<INTERFACE>_next_server
|
||
-----------------------------------
|
||
|
||
*Note Network::.
|
||
|
||
|
||
File: VasEBoot.info, Node: net_<INTERFACE>_rootpath, Next: net_default_interface, Prev: net_<INTERFACE>_next_server, Up: Special environment variables
|
||
|
||
15.1.37 net_<INTERFACE>_rootpath
|
||
--------------------------------
|
||
|
||
*Note Network::.
|
||
|
||
|
||
File: VasEBoot.info, Node: net_default_interface, Next: net_default_ip, Prev: net_<INTERFACE>_rootpath, Up: Special environment variables
|
||
|
||
15.1.38 net_default_interface
|
||
-----------------------------
|
||
|
||
*Note Network::.
|
||
|
||
|
||
File: VasEBoot.info, Node: net_default_ip, Next: net_default_mac, Prev: net_default_interface, Up: Special environment variables
|
||
|
||
15.1.39 net_default_ip
|
||
----------------------
|
||
|
||
*Note Network::.
|
||
|
||
|
||
File: VasEBoot.info, Node: net_default_mac, Next: net_default_server, Prev: net_default_ip, Up: Special environment variables
|
||
|
||
15.1.40 net_default_mac
|
||
-----------------------
|
||
|
||
*Note Network::.
|
||
|
||
|
||
File: VasEBoot.info, Node: net_default_server, Next: pager, Prev: net_default_mac, Up: Special environment variables
|
||
|
||
15.1.41 net_default_server
|
||
--------------------------
|
||
|
||
*Note Network::.
|
||
|
||
|
||
File: VasEBoot.info, Node: pager, Next: prefix, Prev: net_default_server, Up: Special environment variables
|
||
|
||
15.1.42 pager
|
||
-------------
|
||
|
||
If set to '1', pause output after each screenful and wait for keyboard
|
||
input. The default is not to pause output.
|
||
|
||
|
||
File: VasEBoot.info, Node: prefix, Next: pxe_default_server, Prev: pager, Up: Special environment variables
|
||
|
||
15.1.43 prefix
|
||
--------------
|
||
|
||
The location of the '/boot/VasEBoot' directory as an absolute file name
|
||
(*note File name syntax::). This is normally set by VAS_EBOOT at startup
|
||
based on information provided by 'VasEBoot-install'. VAS_EBOOT modules are
|
||
dynamically loaded from this directory, so it must be set correctly in
|
||
order for many parts of VAS_EBOOT to work.
|
||
|
||
|
||
File: VasEBoot.info, Node: pxe_default_server, Next: root, Prev: prefix, Up: Special environment variables
|
||
|
||
15.1.44 pxe_default_server
|
||
--------------------------
|
||
|
||
*Note Network::.
|
||
|
||
|
||
File: VasEBoot.info, Node: root, Next: shim_lock, Prev: pxe_default_server, Up: Special environment variables
|
||
|
||
15.1.45 root
|
||
------------
|
||
|
||
The root device name (*note Device syntax::). Any file names that do
|
||
not specify an explicit device name are read from this device. The
|
||
default is normally set by VAS_EBOOT at startup based on the value of
|
||
'prefix' (*note prefix::).
|
||
|
||
For example, if VAS_EBOOT was installed to the first partition of the
|
||
first hard disk, then 'prefix' might be set to '(hd0,msdos1)/boot/VasEBoot'
|
||
and 'root' to 'hd0,msdos1'.
|
||
|
||
|
||
File: VasEBoot.info, Node: shim_lock, Next: superusers, Prev: root, Up: Special environment variables
|
||
|
||
15.1.46 shim_lock
|
||
-----------------
|
||
|
||
If this variable is set to 'y', it means that the shim_lock verifier is
|
||
registered (see *note UEFI secure boot and shim::).
|
||
|
||
|
||
File: VasEBoot.info, Node: superusers, Next: theme, Prev: shim_lock, Up: Special environment variables
|
||
|
||
15.1.47 superusers
|
||
------------------
|
||
|
||
This variable may be set to a list of superuser names to enable
|
||
authentication support. *Note Security::.
|
||
|
||
|
||
File: VasEBoot.info, Node: theme, Next: timeout, Prev: superusers, Up: Special environment variables
|
||
|
||
15.1.48 theme
|
||
-------------
|
||
|
||
This variable may be set to a directory containing a VAS_EBOOT graphical menu
|
||
theme. *Note Theme file format::.
|
||
|
||
This variable is often set by 'VAS_EBOOT_THEME' (*note Simple
|
||
configuration::).
|
||
|
||
|
||
File: VasEBoot.info, Node: timeout, Next: timeout_style, Prev: theme, Up: Special environment variables
|
||
|
||
15.1.49 timeout
|
||
---------------
|
||
|
||
If this variable is set, it specifies the time in seconds to wait for
|
||
keyboard input before booting the default menu entry. A timeout of '0'
|
||
means to boot the default entry immediately without displaying the menu;
|
||
a timeout of '-1' (or unset) means to wait indefinitely.
|
||
|
||
If 'timeout_style' (*note timeout_style::) is set to 'countdown' or
|
||
'hidden', the timeout is instead counted before the menu is displayed.
|
||
|
||
This variable is often set by 'VAS_EBOOT_TIMEOUT' (*note Simple
|
||
configuration::).
|
||
|
||
|
||
File: VasEBoot.info, Node: timeout_style, Next: tpm_fail_fatal, Prev: timeout, Up: Special environment variables
|
||
|
||
15.1.50 timeout_style
|
||
---------------------
|
||
|
||
This variable may be set to 'menu', 'countdown', or 'hidden' to control
|
||
the way in which the timeout (*note timeout::) interacts with displaying
|
||
the menu. See the documentation of 'VAS_EBOOT_TIMEOUT_STYLE' (*note Simple
|
||
configuration::) for details.
|
||
|
||
|
||
File: VasEBoot.info, Node: tpm_fail_fatal, Prev: timeout_style, Up: Special environment variables
|
||
|
||
15.1.51 tpm_fail_fatal
|
||
----------------------
|
||
|
||
If this variable is set and true (i.e., not set to "0", "false",
|
||
"disable", or "no"), TPM measurements that fail will be treated as
|
||
fatal. Otherwise, they will merely be debug-logged and boot will
|
||
continue.
|
||
|
||
Call to EFI firmware, like hash_log_extend_event(), can return an
|
||
unknown error, i.e. due to bug present in firmware. When this variable
|
||
is set and true (same values as with TPM measurements) this situation
|
||
will be considered to be fatal and error-logged as "unknown TPM error".
|
||
If not set, booting the OS will be enabled.
|
||
|
||
|
||
File: VasEBoot.info, Node: Environment block, Next: Special environment block variables, Prev: Special environment variables, Up: Environment
|
||
|
||
15.2 The VAS_EBOOT environment block
|
||
===============================
|
||
|
||
It is often useful to be able to remember a small amount of information
|
||
from one boot to the next. For example, you might want to set the
|
||
default menu entry based on what was selected the last time. VAS_EBOOT
|
||
deliberately does not implement support for writing files in order to
|
||
minimise the possibility of the boot loader being responsible for file
|
||
system corruption, so a VAS_EBOOT configuration file cannot just create a
|
||
file in the ordinary way. However, VAS_EBOOT provides an "environment block"
|
||
which can be used to save a small amount of state.
|
||
|
||
The environment block is a preallocated 1024-byte file, which
|
||
normally lives in '/boot/VasEBoot/VasEBootenv' (although you should not assume
|
||
this). At boot time, the 'load_env' command (*note load_env::) loads
|
||
environment variables from it, and the 'save_env' (*note save_env::)
|
||
command saves environment variables to it. From a running system, the
|
||
'VasEBoot-editenv' utility can be used to edit the environment block.
|
||
|
||
For safety reasons, this storage is only available when installed on
|
||
a plain disk (no LVM or RAID), using a non-checksumming filesystem (no
|
||
ZFS), and using BIOS or EFI functions (no ATA, USB or IEEE1275).
|
||
|
||
On Btrfs filesystems, a reserved area in the filesystem header may be
|
||
used to store the environment block. This static block avoids the
|
||
problems of updating a normal file on a copy-on-write filesystem, where
|
||
writing raw block is not stable and requires metadata update. The
|
||
reserved area provides a fixed location that VAS_EBOOT can update directly,
|
||
allowing commands such as 'VasEBoot-reboot' and 'VAS_EBOOT_SAVEDEFAULT' to
|
||
function correctly on Btrfs volumes.
|
||
|
||
'VasEBoot-mkconfig' uses this facility to implement 'VAS_EBOOT_SAVEDEFAULT'
|
||
(*note Simple configuration::).
|
||
|
||
|
||
File: VasEBoot.info, Node: Special environment block variables, Next: Passing environment variables through Xen, Prev: Environment block, Up: Environment
|
||
|
||
15.3 Special environment block variables
|
||
========================================
|
||
|
||
These special variables are usually written to the environment block
|
||
(*note Environment block::) to customize the behavior of 'VasEBoot.cfg'
|
||
generated by 'VasEBoot-mkconfig'.
|
||
|
||
* Menu:
|
||
|
||
* saved_entry::
|
||
* next_entry::
|
||
* env_block::
|
||
|
||
|
||
File: VasEBoot.info, Node: saved_entry, Next: next_entry, Up: Special environment block variables
|
||
|
||
15.3.1 saved_entry
|
||
------------------
|
||
|
||
The SAVED_ENTRY variable sets the default boot entry in 'VasEBoot.cfg'
|
||
created by 'VasEBoot-mkconfig'. It can be set with 'VasEBoot-set-default' to
|
||
choose a default entry, or at runtime with the 'savedefault' function in
|
||
VasEBoot.cfg to save the current entry as the new default. This may require
|
||
write access by VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: next_entry, Next: env_block, Prev: saved_entry, Up: Special environment block variables
|
||
|
||
15.3.2 next_entry
|
||
-----------------
|
||
|
||
The NEXT_ENTRY variable sets the boot entry for the next boot only.
|
||
After it is used, VAS_EBOOT clears the value so it is not reused. This
|
||
requires write access to the environment block (*note Environment
|
||
block::) at runtime. The 'VasEBoot-reboot' command is usually used instead
|
||
of changing this variable directly.
|
||
|
||
|
||
File: VasEBoot.info, Node: env_block, Prev: next_entry, Up: Special environment block variables
|
||
|
||
15.3.3 env_block
|
||
----------------
|
||
|
||
If the filesystem is Btrfs and the disk is not an abstracted device such
|
||
as LVM, RAID, or encryption, the reserved space in the Btrfs header can
|
||
be used as the environment block (*note Environment block::). This
|
||
provides a fixed raw block that VAS_EBOOT can reliably write to. The
|
||
ENV_BLOCK records this location in VAS_EBOOT blocklist syntax (*note Block
|
||
list syntax::) so that 'VasEBoot-editenv' and 'VasEBoot.cfg' know how to access
|
||
and use the external raw block.
|
||
|
||
This variable is initialized when 'VasEBootenv' is first created by
|
||
'VasEBoot-editenv' and is treated as read-only to avoid being overwritten
|
||
with an unpredictable value.
|
||
|
||
|
||
File: VasEBoot.info, Node: Passing environment variables through Xen, Prev: Special environment block variables, Up: Environment
|
||
|
||
15.4 Passing environment variables through Xen
|
||
==============================================
|
||
|
||
If you are using a VAS_EBOOT image as the kernel for a PV or PVH Xen virtual
|
||
machine, you can pass environment variables from Xen's dom0 to the VM
|
||
through the Xen-provided kernel command line. When combined with a
|
||
properly configured guest, this can be used to customize the guest's
|
||
behavior on bootup via the VM's Xen configuration file.
|
||
|
||
VAS_EBOOT will parse the kernel command line passed to it by Xen during
|
||
bootup. The command line will be split into space-delimited words.
|
||
Single and double quotes may be used to quote words or portions of words
|
||
that contain spaces. Single quotes will be considered part of a word if
|
||
inside double quotes, and vice versa. Arbitrary characters may be
|
||
backslash-escaped to make them a literal component of a word rather than
|
||
being parsed as quotes or word separators. The command line must
|
||
consist entirely of printable 7-bit ASCII characters and spaces. If a
|
||
non-printing ASCII character is found anywhere in the command line, the
|
||
entire command line will be ignored by VAS_EBOOT. (This splitter algorithm is
|
||
meant to behave somewhat like Bash's word splitting.)
|
||
|
||
Each word should be a variable assignment in the format "variable" or
|
||
"variable=value". Variable names must contain only the characters A-Z,
|
||
a-z, and underscore ("_"). Variable names must begin with the string
|
||
"xen_VasEBoot_env_". Variable values can contain arbitrary printable 7-bit
|
||
ASCII characters and space. If any variable contains an illegal name,
|
||
that variable will be ignored.
|
||
|
||
If a variable name and value are both specified, the variable will be
|
||
set to the specified value. If only a variable name is specified, the
|
||
variable's value will be set to "1".
|
||
|
||
The following is a simple example of how to use this functionality to
|
||
append arbitrary variables to a guest's kernel command line:
|
||
|
||
# In the Xen configuration file for the guest
|
||
name = "linux_vm"
|
||
type = "pvh"
|
||
kernel = "/path/to/VasEBoot-i386-xen_pvh.bin"
|
||
extra = "xen_VasEBoot_env_linux_append='loglevel=3'"
|
||
memory = 1024
|
||
disk = [ "file:/srv/vms/linux_vm.img,sda,w" ]
|
||
|
||
# In the guest's VAS_EBOOT configuration file
|
||
menuentry "Linux VM with dom0-specified kernel parameters" {
|
||
search --set=root --label linux_vm --hint hd0,msdos1
|
||
linux /boot/vmlinuz root=LABEL=linux_vm ${xen_VasEBoot_env_linux_append}
|
||
initrd /boot/initrd.img
|
||
}
|
||
|
||
|
||
File: VasEBoot.info, Node: Modules, Next: Commands, Prev: Environment, Up: Top
|
||
|
||
16 Modules
|
||
**********
|
||
|
||
In this chapter, we list all modules that are available in VAS_EBOOT.
|
||
|
||
Modules can be loaded via the 'insmod' (*note insmod::) command.
|
||
|
||
* Menu:
|
||
|
||
* acpi_module::
|
||
* adler32_module::
|
||
* affs_module::
|
||
* afs_module::
|
||
* afsplitter_module::
|
||
* ahci_module::
|
||
* all_video_module::
|
||
* aout_module::
|
||
* appleldr_module::
|
||
* archelp_module::
|
||
* argon2_module::
|
||
* argon2_test_module::
|
||
* at_keyboard_module::
|
||
* ata_module::
|
||
* backtrace_module::
|
||
* bfs_module::
|
||
* biosdisk_module::
|
||
* bitmap_module::
|
||
* bitmap_scale_module::
|
||
* bli_module::
|
||
* blocklist_module::
|
||
* boot_module::
|
||
* boottime_module::
|
||
* bsd_module::
|
||
* bswap_test_module::
|
||
* btrfs_module::
|
||
* bufio_module::
|
||
* cacheinfo_module::
|
||
* cat_module::
|
||
* cbfs_module::
|
||
* cbls_module::
|
||
* cbmemc_module::
|
||
* cbtable_module::
|
||
* cbtime_module::
|
||
* chain_module::
|
||
* cmdline_cat_test_module::
|
||
* cmosdump_module::
|
||
* cmostest_module::
|
||
* cmp_module::
|
||
* cmp_test_module::
|
||
* configfile_module::
|
||
* cpio_module::
|
||
* cpio_be_module::
|
||
* cpuid_module::
|
||
* crc64_module::
|
||
* crypto_cipher_mode_test_module::
|
||
* crypto_module::
|
||
* cryptodisk_module::
|
||
* cs5536_module::
|
||
* ctz_test_module::
|
||
* date_module::
|
||
* datehook_module::
|
||
* datetime_module::
|
||
* disk_module::
|
||
* diskfilter_module::
|
||
* div_module::
|
||
* div_test_module::
|
||
* dm_nv_module::
|
||
* drivemap_module::
|
||
* dsa_sexp_test_module::
|
||
* echo_module::
|
||
* efi_gop_module::
|
||
* efi_uga_module::
|
||
* efiemu_module::
|
||
* efifwsetup_module::
|
||
* efinet_module::
|
||
* efitextmode_module::
|
||
* ehci_module::
|
||
* elf_module::
|
||
* emunet_module::
|
||
* emupci_module::
|
||
* erofs_module::
|
||
* escc_module::
|
||
* eval_module::
|
||
* exfat_module::
|
||
* exfctest_module::
|
||
* ext2_module::
|
||
* extcmd_module::
|
||
* f2fs_module::
|
||
* fat_module::
|
||
* fdt_module::
|
||
* file_module::
|
||
* fixvideo_module::
|
||
* font_module::
|
||
* freedos_module::
|
||
* fshelp_module::
|
||
* functional_test_module::
|
||
* gcry_arcfour_module::
|
||
* gcry_aria_module::
|
||
* gcry_blake2_module::
|
||
* gcry_blowfish_module::
|
||
* gcry_camellia_module::
|
||
* gcry_cast5_module::
|
||
* gcry_crc_module::
|
||
* gcry_des_module::
|
||
* gcry_dsa_module::
|
||
* gcry_gost28147_module::
|
||
* gcry_gostr3411_94_module::
|
||
* gcry_idea_module::
|
||
* gcry_keccak_module::
|
||
* gcry_md4_module::
|
||
* gcry_md5_module::
|
||
* gcry_rfc2268_module::
|
||
* gcry_rijndael_module::
|
||
* gcry_rmd160_module::
|
||
* gcry_rsa_module::
|
||
* gcry_salsa20_module::
|
||
* gcry_seed_module::
|
||
* gcry_serpent_module::
|
||
* gcry_sha1_module::
|
||
* gcry_sha256_module::
|
||
* gcry_sha512_module::
|
||
* gcry_sm3_module::
|
||
* gcry_sm4_module::
|
||
* gcry_stribog_module::
|
||
* gcry_tiger_module::
|
||
* gcry_twofish_module::
|
||
* gcry_whirlpool_module::
|
||
* gdb_module::
|
||
* geli_module::
|
||
* gettext_module::
|
||
* gfxmenu_module::
|
||
* gfxterm_module::
|
||
* gfxterm_background_module::
|
||
* gfxterm_menu_module::
|
||
* gptsync_module::
|
||
* gzio_module::
|
||
* halt_module::
|
||
* hashsum_module::
|
||
* hdparm_module::
|
||
* hello_module::
|
||
* help_module::
|
||
* hexdump_module::
|
||
* hfs_module::
|
||
* hfsplus_module::
|
||
* hfspluscomp_module::
|
||
* http_module::
|
||
* ieee1275_fb_module::
|
||
* iorw_module::
|
||
* iso9660_module::
|
||
* jfs_module::
|
||
* jpeg_module::
|
||
* json_module::
|
||
* keylayouts_module::
|
||
* keystatus_module::
|
||
* ldm_module::
|
||
* legacy_password_test_module::
|
||
* legacycfg_module::
|
||
* linux_module::
|
||
* linux16_module::
|
||
* loadbios_module::
|
||
* loadenv_module::
|
||
* loopback_module::
|
||
* ls_module::
|
||
* lsacpi_module::
|
||
* lsapm_module::
|
||
* lsdev_module::
|
||
* lsefi_module::
|
||
* lsefimmap_module::
|
||
* lsefisystab_module::
|
||
* lsmmap_module::
|
||
* lspci_module::
|
||
* lssal_module::
|
||
* lsspd_module::
|
||
* lsxen_module::
|
||
* luks_module::
|
||
* luks2_module::
|
||
* lvm_module::
|
||
* lzopio_module::
|
||
* macbless_module::
|
||
* macho_module::
|
||
* mda_text_module::
|
||
* mdraid09_module::
|
||
* mdraid09_be_module::
|
||
* mdraid1x_module::
|
||
* memdisk_module::
|
||
* memrw_module::
|
||
* memtools_module::
|
||
* minicmd_module::
|
||
* minix_module::
|
||
* minix2_module::
|
||
* minix2_be_module::
|
||
* minix3_module::
|
||
* minix3_be_module::
|
||
* minix_be_module::
|
||
* mmap_module::
|
||
* morse_module::
|
||
* mpi_module::
|
||
* msdospart_module::
|
||
* mul_test_module::
|
||
* multiboot_module::
|
||
* multiboot2_module::
|
||
* nand_module::
|
||
* nativedisk_module::
|
||
* net_module::
|
||
* newc_module::
|
||
* nilfs2_module::
|
||
* normal_module::
|
||
* ntfs_module::
|
||
* ntfscomp_module::
|
||
* ntldr_module::
|
||
* odc_module::
|
||
* offsetio_module::
|
||
* ofnet_module::
|
||
* ohci_module::
|
||
* part_acorn_module::
|
||
* part_amiga_module::
|
||
* part_apple_module::
|
||
* part_bsd_module::
|
||
* part_dfly_module::
|
||
* part_dvh_module::
|
||
* part_gpt_module::
|
||
* part_msdos_module::
|
||
* part_plan_module::
|
||
* part_sun_module::
|
||
* part_sunpc_module::
|
||
* parttool_module::
|
||
* password_module::
|
||
* password_pbkdf2_module::
|
||
* pata_module::
|
||
* pbkdf2_module::
|
||
* pbkdf2_test_module::
|
||
* pci_module::
|
||
* pcidump_module::
|
||
* pgp_module::
|
||
* plainmount_module::
|
||
* plan9_module::
|
||
* play_module::
|
||
* png_module::
|
||
* priority_queue_module::
|
||
* probe_module::
|
||
* procfs_module::
|
||
* progress_module::
|
||
* pubkey_module::
|
||
* pxe_module::
|
||
* pxechain_module::
|
||
* raid5rec_module::
|
||
* raid6rec_module::
|
||
* random_module::
|
||
* rdmsr_module::
|
||
* read_module::
|
||
* reboot_module::
|
||
* regexp_module::
|
||
* reiserfs_module::
|
||
* relocator_module::
|
||
* romfs_module::
|
||
* rsa_sexp_test_module::
|
||
* scsi_module::
|
||
* sdl_module::
|
||
* search_module::
|
||
* search_fs_file_module::
|
||
* search_fs_uuid_module::
|
||
* search_label_module::
|
||
* sendkey_module::
|
||
* serial_module::
|
||
* setjmp_module::
|
||
* setjmp_test_module::
|
||
* setpci_module::
|
||
* sfs_module::
|
||
* shift_test_module::
|
||
* signature_test_module::
|
||
* sleep_module::
|
||
* sleep_test_module::
|
||
* smbios_module::
|
||
* spkmodem_module::
|
||
* squash4_module::
|
||
* strtoull_test_module::
|
||
* suspend_module::
|
||
* syslinuxcfg_module::
|
||
* tar_module::
|
||
* terminal_module::
|
||
* terminfo_module::
|
||
* test_module::
|
||
* test_blockarg_module::
|
||
* testload_module::
|
||
* testspeed_module::
|
||
* tftp_module::
|
||
* tga_module::
|
||
* time_module::
|
||
* tpm_module::
|
||
* tr_module::
|
||
* trig_module::
|
||
* true_module::
|
||
* truecrypt_module::
|
||
* ubootnet_module::
|
||
* udf_module::
|
||
* ufs1_module::
|
||
* ufs1_be_module::
|
||
* ufs2_module::
|
||
* uhci_module::
|
||
* usb_module::
|
||
* usb_keyboard_module::
|
||
* usbms_module::
|
||
* usbserial_common_module::
|
||
* usbserial_ftdi_module::
|
||
* usbserial_pl2303_module::
|
||
* usbserial_usbdebug_module::
|
||
* usbtest_module::
|
||
* vbe_module::
|
||
* verifiers_module::
|
||
* vga_module::
|
||
* vga_text_module::
|
||
* video_module::
|
||
* video_bochs_module::
|
||
* video_cirrus_module::
|
||
* video_colors_module::
|
||
* video_fb_module::
|
||
* videoinfo_module::
|
||
* videotest_module::
|
||
* videotest_checksum_module::
|
||
* wrmsr_module::
|
||
* xen_boot_module::
|
||
* xfs_module::
|
||
* xnu_module::
|
||
* xnu_uuid_module::
|
||
* xnu_uuid_test_module::
|
||
* xzio_module::
|
||
* zfs_module::
|
||
* zfscrypt_module::
|
||
* zfsinfo_module::
|
||
* zstd_module::
|
||
|
||
|
||
File: VasEBoot.info, Node: acpi_module, Next: adler32_module, Up: Modules
|
||
|
||
16.1 acpi
|
||
=========
|
||
|
||
This module provides the command 'acpi' for loading / replacing Advanced
|
||
Configuration and Power Interface (ACPI) tables. Please *note acpi::
|
||
for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: adler32_module, Next: affs_module, Prev: acpi_module, Up: Modules
|
||
|
||
16.2 adler32
|
||
============
|
||
|
||
This module provides the library implementation for the adler32
|
||
checksum. This is used as part of LZO decompression / compression.
|
||
|
||
|
||
File: VasEBoot.info, Node: affs_module, Next: afs_module, Prev: adler32_module, Up: Modules
|
||
|
||
16.3 affs
|
||
=========
|
||
|
||
This module provides support for the Amiga Fast FileSystem (AFFS). Note:
|
||
This module is not allowed in lockdown mode, *note Lockdown:: for more
|
||
information.
|
||
|
||
|
||
File: VasEBoot.info, Node: afs_module, Next: afsplitter_module, Prev: affs_module, Up: Modules
|
||
|
||
16.4 afs
|
||
========
|
||
|
||
This module provides support for the AtheOS File System (AFS). Note:
|
||
This module is not allowed in lockdown mode, *note Lockdown:: for more
|
||
information.
|
||
|
||
|
||
File: VasEBoot.info, Node: afsplitter_module, Next: ahci_module, Prev: afs_module, Up: Modules
|
||
|
||
16.5 afsplitter
|
||
===============
|
||
|
||
This module provides library support for the Anti forensic information
|
||
splitter (AFS) operation 'AF_merge'. This is used by LUKS and LUKS2.
|
||
|
||
|
||
File: VasEBoot.info, Node: ahci_module, Next: all_video_module, Prev: afsplitter_module, Up: Modules
|
||
|
||
16.6 ahci
|
||
=========
|
||
|
||
This module provides support for the Advanced Host Controller Interface
|
||
protocol to access disks supporting this standard. AHCI is often an
|
||
option for Serial ATA (SATA) controllers (meant to replace the older IDE
|
||
protocol).
|
||
|
||
|
||
File: VasEBoot.info, Node: all_video_module, Next: aout_module, Prev: ahci_module, Up: Modules
|
||
|
||
16.7 all_video
|
||
==============
|
||
|
||
This is a "dummy module" with no actual function except to load all
|
||
other video modules as dependencies (a convenient way to load all video
|
||
modules).
|
||
|
||
|
||
File: VasEBoot.info, Node: aout_module, Next: appleldr_module, Prev: all_video_module, Up: Modules
|
||
|
||
16.8 aout
|
||
=========
|
||
|
||
This module provides support for loading files packaged in the "a.out"
|
||
format. The "a.out" format is considered to be an older format than
|
||
some alternatives such as "ELF", for example support for the "a.out"
|
||
format was removed from the Linux kernel in 5.18.
|
||
|
||
|
||
File: VasEBoot.info, Node: appleldr_module, Next: archelp_module, Prev: aout_module, Up: Modules
|
||
|
||
16.9 appleldr
|
||
=============
|
||
|
||
This module provides support for loading files on a BIOS / EFI based
|
||
Apple Mac computer (Intel based Macs).
|
||
|
||
|
||
File: VasEBoot.info, Node: archelp_module, Next: argon2_module, Prev: appleldr_module, Up: Modules
|
||
|
||
16.10 archelp
|
||
=============
|
||
|
||
This module provides Archive Helper functions for archive based file
|
||
systems such as TAR and CPIO archives.
|
||
|
||
|
||
File: VasEBoot.info, Node: argon2_module, Next: argon2_test_module, Prev: archelp_module, Up: Modules
|
||
|
||
16.11 argon2
|
||
============
|
||
|
||
This module provides support for the Argon2 key derivation function.
|
||
|
||
|
||
File: VasEBoot.info, Node: argon2_test_module, Next: at_keyboard_module, Prev: argon2_module, Up: Modules
|
||
|
||
16.12 argon2_test
|
||
=================
|
||
|
||
This module is intended for performing a functional test of the Argon2
|
||
operation in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: at_keyboard_module, Next: ata_module, Prev: argon2_test_module, Up: Modules
|
||
|
||
16.13 at_keyboard
|
||
=================
|
||
|
||
This module provides support for the AT keyboard input for the VAS_EBOOT
|
||
terminal.
|
||
|
||
|
||
File: VasEBoot.info, Node: ata_module, Next: backtrace_module, Prev: at_keyboard_module, Up: Modules
|
||
|
||
16.14 ata
|
||
=========
|
||
|
||
This modules provides support for direct ATA and ATAPI access to
|
||
compatible disks.
|
||
|
||
|
||
File: VasEBoot.info, Node: backtrace_module, Next: bfs_module, Prev: ata_module, Up: Modules
|
||
|
||
16.15 backtrace
|
||
===============
|
||
|
||
This module provides the command 'backtrace' for printing a backtrace to
|
||
the terminal for the current call stack.
|
||
|
||
|
||
File: VasEBoot.info, Node: bfs_module, Next: biosdisk_module, Prev: backtrace_module, Up: Modules
|
||
|
||
16.16 bfs
|
||
=========
|
||
|
||
This module provides support for the BeOS "Be File System" (BFS). Note:
|
||
This module is not allowed in lockdown mode, *note Lockdown:: for more
|
||
information.
|
||
|
||
|
||
File: VasEBoot.info, Node: biosdisk_module, Next: bitmap_module, Prev: bfs_module, Up: Modules
|
||
|
||
16.17 biosdisk
|
||
==============
|
||
|
||
This module provides support for booting from a bootable removable disk
|
||
such as a CD-ROM, BD-ROM, etc.
|
||
|
||
|
||
File: VasEBoot.info, Node: bitmap_module, Next: bitmap_scale_module, Prev: biosdisk_module, Up: Modules
|
||
|
||
16.18 bitmap
|
||
============
|
||
|
||
This module provides support for reading and interacting with bitmap
|
||
image files.
|
||
|
||
|
||
File: VasEBoot.info, Node: bitmap_scale_module, Next: bli_module, Prev: bitmap_module, Up: Modules
|
||
|
||
16.19 bitmap_scale
|
||
==================
|
||
|
||
This module provides support for scaling bitmap image files.
|
||
|
||
|
||
File: VasEBoot.info, Node: bli_module, Next: blocklist_module, Prev: bitmap_scale_module, Up: Modules
|
||
|
||
16.20 bli
|
||
=========
|
||
|
||
This module provides basic support for the Boot Loader Interface. The
|
||
Boot Loader Interface specifies a set of EFI variables that are used to
|
||
communicate boot-time information between the bootloader and the
|
||
operating system.
|
||
|
||
The following variables are placed under the vendor UUID
|
||
'4a67b082-0a4c-41cf-b6c7-440b29bb8c4f' when the module is loaded:
|
||
|
||
The GPT partition UUID of the EFI System Partition used during boot
|
||
is published via the 'LoaderDevicePartUUID' variable. The Boot Loader
|
||
Interface specification requires GPT formatted drives. The bli module
|
||
ignores drives/partitions in any other format. If VAS_EBOOT is loaded from a
|
||
non-GPT partition, e.g. from an MSDOS formatted drive or network, this
|
||
variable will not be set.
|
||
|
||
A string identifying VAS_EBOOT as the active bootloader including the
|
||
version number is stored in 'LoaderInfo'.
|
||
|
||
This module is only available on UEFI platforms.
|
||
|
||
|
||
File: VasEBoot.info, Node: blocklist_module, Next: boot_module, Prev: bli_module, Up: Modules
|
||
|
||
16.21 blocklist
|
||
===============
|
||
|
||
This module provides support for the command 'blocklist' to list blocks
|
||
for a given file. Please *note blocklist:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: boot_module, Next: boottime_module, Prev: blocklist_module, Up: Modules
|
||
|
||
16.22 boot
|
||
==========
|
||
|
||
This module provides support for the command 'boot' to boot an operating
|
||
system. Please *note boot:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: boottime_module, Next: bsd_module, Prev: boot_module, Up: Modules
|
||
|
||
16.23 boottime
|
||
==============
|
||
|
||
This module provides support for the command 'boottime' to display time
|
||
taken to perform various VAS_EBOOT operations. This module is only available
|
||
when VAS_EBOOT is built with the conditional compile option
|
||
'BOOT_TIME_STATS'.
|
||
|
||
|
||
File: VasEBoot.info, Node: bsd_module, Next: bswap_test_module, Prev: boottime_module, Up: Modules
|
||
|
||
16.24 bsd
|
||
=========
|
||
|
||
This module provides support for loading BSD operating system images via
|
||
commands such as: 'kfreebsd_loadenv', 'kfreebsd_module_elf',
|
||
'kfreebsd_module', 'kfreebsd', 'knetbsd_module_elf', 'knetbsd_module',
|
||
'knetbsd', 'kopenbsd', and 'kopenbsd_ramdisk'. Please *note Loader
|
||
commands:: for more info.
|
||
|
||
|
||
File: VasEBoot.info, Node: bswap_test_module, Next: btrfs_module, Prev: bsd_module, Up: Modules
|
||
|
||
16.25 bswap_test
|
||
================
|
||
|
||
This module is intended for performing a functional test of the byte
|
||
swapping functionality of VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: btrfs_module, Next: bufio_module, Prev: bswap_test_module, Up: Modules
|
||
|
||
16.26 btrfs
|
||
===========
|
||
|
||
This module provides support for the B-Tree File System (BTRFS).
|
||
|
||
|
||
File: VasEBoot.info, Node: bufio_module, Next: cacheinfo_module, Prev: btrfs_module, Up: Modules
|
||
|
||
16.27 bufio
|
||
===========
|
||
|
||
This module is a library module for support buffered I/O of files to
|
||
support file reads performed in other modules.
|
||
|
||
|
||
File: VasEBoot.info, Node: cacheinfo_module, Next: cat_module, Prev: bufio_module, Up: Modules
|
||
|
||
16.28 cacheinfo
|
||
===============
|
||
|
||
This module provides support for the command 'cacheinfo' which provides
|
||
statistics on disk cache accesses. This module is only built if
|
||
'DISK_CACHE_STATS' is enabled.
|
||
|
||
|
||
File: VasEBoot.info, Node: cat_module, Next: cbfs_module, Prev: cacheinfo_module, Up: Modules
|
||
|
||
16.29 cat
|
||
=========
|
||
|
||
This module provides support for the command 'cat' which outputs the
|
||
content of a file to the terminal. Please *note cat:: for more info.
|
||
|
||
|
||
File: VasEBoot.info, Node: cbfs_module, Next: cbls_module, Prev: cat_module, Up: Modules
|
||
|
||
16.30 cbfs
|
||
==========
|
||
|
||
This module provides support for the Coreboot File System (CBFS) which
|
||
is an archive based file system. Note: This module is not allowed in
|
||
lockdown mode, *note Lockdown:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: cbls_module, Next: cbmemc_module, Prev: cbfs_module, Up: Modules
|
||
|
||
16.31 cbls
|
||
==========
|
||
|
||
This module provides support for the command 'lscoreboot' to list the
|
||
Coreboot tables.
|
||
|
||
|
||
File: VasEBoot.info, Node: cbmemc_module, Next: cbtable_module, Prev: cbls_module, Up: Modules
|
||
|
||
16.32 cbmemc
|
||
============
|
||
|
||
This module provides support for the command 'cbmemc' to show the
|
||
content of the Coreboot Memory console.
|
||
|
||
|
||
File: VasEBoot.info, Node: cbtable_module, Next: cbtime_module, Prev: cbmemc_module, Up: Modules
|
||
|
||
16.33 cbtable
|
||
=============
|
||
|
||
This module provides support for accessing the Coreboot tables.
|
||
|
||
|
||
File: VasEBoot.info, Node: cbtime_module, Next: chain_module, Prev: cbtable_module, Up: Modules
|
||
|
||
16.34 cbtime
|
||
============
|
||
|
||
This module provides support for the command 'coreboot_boottime' to show
|
||
the Coreboot boot time statistics.
|
||
|
||
|
||
File: VasEBoot.info, Node: chain_module, Next: cmdline_cat_test_module, Prev: cbtime_module, Up: Modules
|
||
|
||
16.35 chain
|
||
===========
|
||
|
||
This module provides support for the command 'chainloader' to boot
|
||
another bootloader. Please *note chainloader:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: cmdline_cat_test_module, Next: cmosdump_module, Prev: chain_module, Up: Modules
|
||
|
||
16.36 cmdline_cat_test
|
||
======================
|
||
|
||
This module is intended for performing a functional test of the 'cat'
|
||
command of VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: cmosdump_module, Next: cmostest_module, Prev: cmdline_cat_test_module, Up: Modules
|
||
|
||
16.37 cmosdump
|
||
==============
|
||
|
||
This module provides support for the command 'cmosdump' to show a raw
|
||
dump of the CMOS contents. Please *note cmosdump:: for more
|
||
information.
|
||
|
||
|
||
File: VasEBoot.info, Node: cmostest_module, Next: cmp_module, Prev: cmosdump_module, Up: Modules
|
||
|
||
16.38 cmostest
|
||
==============
|
||
|
||
This module provides support for the commands 'cmostest', 'cmosclean',
|
||
and 'cmosset' to interact with a CMOS. *Note cmostest:: / *note
|
||
cmosclean:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: cmp_module, Next: cmp_test_module, Prev: cmostest_module, Up: Modules
|
||
|
||
16.39 cmp
|
||
=========
|
||
|
||
This module provides support for the command 'cmp' to compare the
|
||
content of two files. *Note cmp:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: cmp_test_module, Next: configfile_module, Prev: cmp_module, Up: Modules
|
||
|
||
16.40 cmp_test
|
||
==============
|
||
|
||
This module is intended for performing a functional test of relational
|
||
operations in VAS_EBOOT. Note that this module is *not* associated with the
|
||
'cmp' command and does not test the 'cmp' command.
|
||
|
||
|
||
File: VasEBoot.info, Node: configfile_module, Next: cpio_module, Prev: cmp_test_module, Up: Modules
|
||
|
||
16.41 configfile
|
||
================
|
||
|
||
This module provides support for the commands: 'configfile', 'source',
|
||
'extract_entries_source', 'extract_entries_configfile', '.' (dot
|
||
command). *Note configfile:: / *note source::.
|
||
|
||
|
||
File: VasEBoot.info, Node: cpio_module, Next: cpio_be_module, Prev: configfile_module, Up: Modules
|
||
|
||
16.42 cpio
|
||
==========
|
||
|
||
This module provides support for the CPIO archive file format. This
|
||
module is for the "bin" version of CPIO (default of GNU CPIO) supporting
|
||
around 2GB.
|
||
|
||
|
||
File: VasEBoot.info, Node: cpio_be_module, Next: cpuid_module, Prev: cpio_module, Up: Modules
|
||
|
||
16.43 cpio_be
|
||
=============
|
||
|
||
This module provides support for the CPIO archive file format in
|
||
big-endian format. This module is for the "bin" version of CPIO
|
||
(default of GNU CPIO) supporting around 2GB.
|
||
|
||
|
||
File: VasEBoot.info, Node: cpuid_module, Next: crc64_module, Prev: cpio_be_module, Up: Modules
|
||
|
||
16.44 cpuid
|
||
===========
|
||
|
||
This module provides support for the command 'cpuid' to test for various
|
||
CPU features. *Note cpuid:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: crc64_module, Next: crypto_cipher_mode_test_module, Prev: cpuid_module, Up: Modules
|
||
|
||
16.45 crc64
|
||
===========
|
||
|
||
This module provides support for the CRC64 operation.
|
||
|
||
|
||
File: VasEBoot.info, Node: crypto_cipher_mode_test_module, Next: crypto_module, Prev: crc64_module, Up: Modules
|
||
|
||
16.46 crypto_cipher_mode_test
|
||
=============================
|
||
|
||
This module performs various cipher mode encryption/decryption tests
|
||
|
||
|
||
File: VasEBoot.info, Node: crypto_module, Next: cryptodisk_module, Prev: crypto_cipher_mode_test_module, Up: Modules
|
||
|
||
16.47 crypto
|
||
============
|
||
|
||
This module provides library support for various base cryptography
|
||
operations in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: cryptodisk_module, Next: cs5536_module, Prev: crypto_module, Up: Modules
|
||
|
||
16.48 cryptodisk
|
||
================
|
||
|
||
This module provides support for the command 'cryptomount' to interact
|
||
with encrypted file systems. *Note cryptomount:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: cs5536_module, Next: ctz_test_module, Prev: cryptodisk_module, Up: Modules
|
||
|
||
16.49 cs5536
|
||
============
|
||
|
||
This module provides support for the AMD Geode CS5536 companion device.
|
||
|
||
|
||
File: VasEBoot.info, Node: ctz_test_module, Next: date_module, Prev: cs5536_module, Up: Modules
|
||
|
||
16.50 ctz_test
|
||
==============
|
||
|
||
This module is intended for performing a functional test of the ctz
|
||
functions in VAS_EBOOT used to Count Trailing Zeros.
|
||
|
||
|
||
File: VasEBoot.info, Node: date_module, Next: datehook_module, Prev: ctz_test_module, Up: Modules
|
||
|
||
16.51 date
|
||
==========
|
||
|
||
This module provides support for the command 'date' to get the date/time
|
||
or set the date/time. *Note date:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: datehook_module, Next: datetime_module, Prev: date_module, Up: Modules
|
||
|
||
16.52 datehook
|
||
==============
|
||
|
||
This module provides support for populating / providing the environment
|
||
variables 'YEAR', 'MONTH', 'DAY', 'HOUR', 'MINUTE', 'SECOND', 'WEEKDAY'.
|
||
|
||
|
||
File: VasEBoot.info, Node: datetime_module, Next: disk_module, Prev: datehook_module, Up: Modules
|
||
|
||
16.53 datetime
|
||
==============
|
||
|
||
This module provides library support for getting and setting the date /
|
||
time from / to a hardware clock device.
|
||
|
||
|
||
File: VasEBoot.info, Node: disk_module, Next: diskfilter_module, Prev: datetime_module, Up: Modules
|
||
|
||
16.54 disk
|
||
==========
|
||
|
||
This module provides library support for writing to a storage disk.
|
||
|
||
|
||
File: VasEBoot.info, Node: diskfilter_module, Next: div_module, Prev: disk_module, Up: Modules
|
||
|
||
16.55 diskfilter
|
||
================
|
||
|
||
This module provides library support for reading a disk RAID array. It
|
||
also provides support for the command 'cryptocheck'. *Note
|
||
cryptocheck:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: div_module, Next: div_test_module, Prev: diskfilter_module, Up: Modules
|
||
|
||
16.56 div
|
||
=========
|
||
|
||
This module provides library support for some operations such as divmod.
|
||
|
||
|
||
File: VasEBoot.info, Node: div_test_module, Next: dm_nv_module, Prev: div_module, Up: Modules
|
||
|
||
16.57 div_test
|
||
==============
|
||
|
||
This module is intended for performing a functional test of the divmod
|
||
function in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: dm_nv_module, Next: drivemap_module, Prev: div_test_module, Up: Modules
|
||
|
||
16.58 dm_nv
|
||
===========
|
||
|
||
This module provides support for handling some Nvidia "fakeraid" disk
|
||
devices.
|
||
|
||
|
||
File: VasEBoot.info, Node: drivemap_module, Next: dsa_sexp_test_module, Prev: dm_nv_module, Up: Modules
|
||
|
||
16.59 drivemap
|
||
==============
|
||
|
||
This module provides support for the 'drivemap' to manage BIOS drive
|
||
mappings. *Note drivemap:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: dsa_sexp_test_module, Next: echo_module, Prev: drivemap_module, Up: Modules
|
||
|
||
16.60 dsa_sexp_test
|
||
===================
|
||
|
||
This module provides a test of the libgcrypt DSA functionality in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: echo_module, Next: efi_gop_module, Prev: dsa_sexp_test_module, Up: Modules
|
||
|
||
16.61 echo
|
||
==========
|
||
|
||
This module provides support for the 'echo' to display a line of text.
|
||
*Note echo:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: efi_gop_module, Next: efi_uga_module, Prev: echo_module, Up: Modules
|
||
|
||
16.62 efi_gop
|
||
=============
|
||
|
||
This module provides support for the UEFI video output protocol
|
||
"Graphics Output Protocol" (GOP).
|
||
|
||
|
||
File: VasEBoot.info, Node: efi_uga_module, Next: efiemu_module, Prev: efi_gop_module, Up: Modules
|
||
|
||
16.63 efi_uga
|
||
=============
|
||
|
||
This module provides support for the EFI video protocol "Universal
|
||
Graphic Adapter" (UGA).
|
||
|
||
|
||
File: VasEBoot.info, Node: efiemu_module, Next: efifwsetup_module, Prev: efi_uga_module, Up: Modules
|
||
|
||
16.64 efiemu
|
||
============
|
||
|
||
This module provides support for the commands 'efiemu_loadcore',
|
||
'efiemu_prepare', and 'efiemu_unload'. This provides an EFI emulation.
|
||
|
||
|
||
File: VasEBoot.info, Node: efifwsetup_module, Next: efinet_module, Prev: efiemu_module, Up: Modules
|
||
|
||
16.65 efifwsetup
|
||
================
|
||
|
||
This modules provides support for the command 'fwsetup' to reboot into
|
||
the firmware setup menu. *Note fwsetup:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: efinet_module, Next: efitextmode_module, Prev: efifwsetup_module, Up: Modules
|
||
|
||
16.66 efinet
|
||
============
|
||
|
||
This module provides support for UEFI Network Booting for loading images
|
||
and data from the network.
|
||
|
||
|
||
File: VasEBoot.info, Node: efitextmode_module, Next: ehci_module, Prev: efinet_module, Up: Modules
|
||
|
||
16.67 efitextmode
|
||
=================
|
||
|
||
This module provides support for command 'efitextmode' to get and set
|
||
output mode resolution. *Note efitextmode:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: ehci_module, Next: elf_module, Prev: efitextmode_module, Up: Modules
|
||
|
||
16.68 ehci
|
||
==========
|
||
|
||
This module provides support for the USB Enhanced Host Controller
|
||
Interface (EHCI) specification (USB 2.0).
|
||
|
||
|
||
File: VasEBoot.info, Node: elf_module, Next: emunet_module, Prev: ehci_module, Up: Modules
|
||
|
||
16.69 elf
|
||
=========
|
||
|
||
This module provides support for loading Executable and Linkable Format
|
||
(ELF) files.
|
||
|
||
|
||
File: VasEBoot.info, Node: emunet_module, Next: emupci_module, Prev: elf_module, Up: Modules
|
||
|
||
16.70 emunet
|
||
============
|
||
|
||
This module provides support for networking in VAS_EBOOT on the emu platform.
|
||
|
||
|
||
File: VasEBoot.info, Node: emupci_module, Next: erofs_module, Prev: emunet_module, Up: Modules
|
||
|
||
16.71 emupci
|
||
============
|
||
|
||
This module provides support for accessing the PCI bus in VAS_EBOOT on the
|
||
emu platform.
|
||
|
||
|
||
File: VasEBoot.info, Node: erofs_module, Next: escc_module, Prev: emupci_module, Up: Modules
|
||
|
||
16.72 erofs
|
||
===========
|
||
|
||
This module provides support for the Enhanced Read Only File System
|
||
(EROFS).
|
||
|
||
|
||
File: VasEBoot.info, Node: escc_module, Next: eval_module, Prev: erofs_module, Up: Modules
|
||
|
||
16.73 escc
|
||
==========
|
||
|
||
This module provides support for the "mac-io" terminal device on
|
||
PowerPC.
|
||
|
||
|
||
File: VasEBoot.info, Node: eval_module, Next: exfat_module, Prev: escc_module, Up: Modules
|
||
|
||
16.74 eval
|
||
==========
|
||
|
||
This module provides support for command 'eval' to evaluate the provided
|
||
input as a sequence of VAS_EBOOT commands. *Note eval:: for more
|
||
information.
|
||
|
||
|
||
File: VasEBoot.info, Node: exfat_module, Next: exfctest_module, Prev: eval_module, Up: Modules
|
||
|
||
16.75 exfat
|
||
===========
|
||
|
||
This module provides support for the Extensible File Allocation Table
|
||
(exFAT) file system in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: exfctest_module, Next: ext2_module, Prev: exfat_module, Up: Modules
|
||
|
||
16.76 exfctest
|
||
==============
|
||
|
||
This module is intended to provide an Example Functional Test of VAS_EBOOT
|
||
functions to use as a template for developing other VAS_EBOOT functional
|
||
tests.
|
||
|
||
|
||
File: VasEBoot.info, Node: ext2_module, Next: extcmd_module, Prev: exfctest_module, Up: Modules
|
||
|
||
16.77 ext2
|
||
==========
|
||
|
||
This module provides support for the Extended File System versions 2, 3,
|
||
and 4 (ext2, ext3, and ext4) file systems in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: extcmd_module, Next: f2fs_module, Prev: ext2_module, Up: Modules
|
||
|
||
16.78 extcmd
|
||
============
|
||
|
||
This module is a support module to provide wrapper functions for
|
||
registering other module commands depending on the state of the lockdown
|
||
variable.
|
||
|
||
|
||
File: VasEBoot.info, Node: f2fs_module, Next: fat_module, Prev: extcmd_module, Up: Modules
|
||
|
||
16.79 f2fs
|
||
==========
|
||
|
||
This module provides support for the Flash-Friendly File System (F2FS)
|
||
in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: fat_module, Next: fdt_module, Prev: f2fs_module, Up: Modules
|
||
|
||
16.80 fat
|
||
=========
|
||
|
||
This module provides support for the File Allocation Table 12-bit,
|
||
16-bit, and 32-bit (FAT12, FAT16, and FAT32) file systems in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: fdt_module, Next: file_module, Prev: fat_module, Up: Modules
|
||
|
||
16.81 fdt
|
||
=========
|
||
|
||
This module provides support for the commands 'fdtdump' and 'devicetree'
|
||
to dump the contents of a device tree blob (.dtb) to the console and to
|
||
load a device tree blob (.dtb) from a filesystem, for later use by a
|
||
Linux kernel, respectively. *Note devicetree:: and *note fdtdump:: for
|
||
more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: file_module, Next: fixvideo_module, Prev: fdt_module, Up: Modules
|
||
|
||
16.82 file
|
||
==========
|
||
|
||
This module provides support for the command 'file' to test if the
|
||
provided filename is of the specified type. *Note file:: for more
|
||
information.
|
||
|
||
|
||
File: VasEBoot.info, Node: fixvideo_module, Next: font_module, Prev: file_module, Up: Modules
|
||
|
||
16.83 fixvideo
|
||
==============
|
||
|
||
This module provides support for the command 'fix_video' to fix video
|
||
problems in specific PCIe video devices by "patching" specific device
|
||
register settings. Currently supports Intel 945GM (PCI ID '0x27a28086')
|
||
and Intel 965GM (PCI ID '0x2a028086').
|
||
|
||
|
||
File: VasEBoot.info, Node: font_module, Next: freedos_module, Prev: fixvideo_module, Up: Modules
|
||
|
||
16.84 font
|
||
==========
|
||
|
||
This module provides support for the commands 'loadfont' and 'lsfonts'
|
||
to load a given font or list the loaded fonts. *Note loadfont:: and
|
||
*note lsfonts:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: freedos_module, Next: fshelp_module, Prev: font_module, Up: Modules
|
||
|
||
16.85 freedos
|
||
=============
|
||
|
||
This module provides support for command 'freedos' for loading a FreeDOS
|
||
kernel.
|
||
|
||
|
||
File: VasEBoot.info, Node: fshelp_module, Next: functional_test_module, Prev: freedos_module, Up: Modules
|
||
|
||
16.86 fshelp
|
||
============
|
||
|
||
This module provides support functions (helper functions) for file
|
||
systems.
|
||
|
||
|
||
File: VasEBoot.info, Node: functional_test_module, Next: gcry_arcfour_module, Prev: fshelp_module, Up: Modules
|
||
|
||
16.87 functional_test
|
||
=====================
|
||
|
||
This module provides support for running the VAS_EBOOT functional tests using
|
||
commands 'functional_test' and 'all_functional_test'.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_arcfour_module, Next: gcry_aria_module, Prev: functional_test_module, Up: Modules
|
||
|
||
16.88 gcry_arcfour
|
||
==================
|
||
|
||
This module provides support for the arcfour stream cipher also known as
|
||
RC4. If security is a concern, RC4 / arcfour cipher is consider broken
|
||
(multiple known vulnerabilities make this insecure). This VAS_EBOOT module
|
||
is based on libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_aria_module, Next: gcry_blake2_module, Prev: gcry_arcfour_module, Up: Modules
|
||
|
||
16.89 gcry_aria
|
||
===============
|
||
|
||
This module provides support for the ARIA cipher. This VAS_EBOOT module is
|
||
based on libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_blake2_module, Next: gcry_blowfish_module, Prev: gcry_aria_module, Up: Modules
|
||
|
||
16.90 gcry_blake2
|
||
=================
|
||
|
||
This module provides support for the BLAKE2b and BLAKE2s message
|
||
digests. This VAS_EBOOT module is based on libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_blowfish_module, Next: gcry_camellia_module, Prev: gcry_blake2_module, Up: Modules
|
||
|
||
16.91 gcry_blowfish
|
||
===================
|
||
|
||
This module provides support for the Blowfish cipher. This VAS_EBOOT module
|
||
is based on libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_camellia_module, Next: gcry_cast5_module, Prev: gcry_blowfish_module, Up: Modules
|
||
|
||
16.92 gcry_camellia
|
||
===================
|
||
|
||
This module provides support for the Camellia cipher. This VAS_EBOOT module
|
||
is based on libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_cast5_module, Next: gcry_crc_module, Prev: gcry_camellia_module, Up: Modules
|
||
|
||
16.93 gcry_cast5
|
||
================
|
||
|
||
This module provides support for the CAST5 (RFC2144, also known as
|
||
CAST-128) cipher. This VAS_EBOOT module is based on libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_crc_module, Next: gcry_des_module, Prev: gcry_cast5_module, Up: Modules
|
||
|
||
16.94 gcry_crc
|
||
==============
|
||
|
||
This module provides support for the CRC32, CRC32 RFC1510, and CRC24
|
||
RFC2440 cyclic redundancy checks. This VAS_EBOOT module is based on
|
||
libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_des_module, Next: gcry_dsa_module, Prev: gcry_crc_module, Up: Modules
|
||
|
||
16.95 gcry_des
|
||
==============
|
||
|
||
This module provides support for the Data Encryption Standard (DES) and
|
||
Triple-DES ciphers. If security is a concern, DES has known
|
||
vulnerabilities and is not recommended, and Triple-DES is no longer
|
||
recommended by NIST. This VAS_EBOOT module is based on libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_dsa_module, Next: gcry_gost28147_module, Prev: gcry_des_module, Up: Modules
|
||
|
||
16.96 gcry_dsa
|
||
==============
|
||
|
||
This module provides support for the Digital Signature Algorithm (DSA)
|
||
cipher. This VAS_EBOOT module is based on libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_gost28147_module, Next: gcry_gostr3411_94_module, Prev: gcry_dsa_module, Up: Modules
|
||
|
||
16.97 gcry_gost28147
|
||
====================
|
||
|
||
This module provides support for the GOST 28147-89 cipher. This VAS_EBOOT
|
||
module is based on libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_gostr3411_94_module, Next: gcry_idea_module, Prev: gcry_gost28147_module, Up: Modules
|
||
|
||
16.98 gcry_gostr3411_94
|
||
=======================
|
||
|
||
This module provides support for the GOST R 34.11-94 message digest.
|
||
This VAS_EBOOT module is based on libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_idea_module, Next: gcry_keccak_module, Prev: gcry_gostr3411_94_module, Up: Modules
|
||
|
||
16.99 gcry_idea
|
||
===============
|
||
|
||
This module provides support for the International Data Encryption
|
||
Algorithm (IDEA) cipher. This VAS_EBOOT module is based on libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_keccak_module, Next: gcry_md4_module, Prev: gcry_idea_module, Up: Modules
|
||
|
||
16.100 gcry_keccak
|
||
==================
|
||
|
||
This module provides support for the SHA3 hash message digests
|
||
(including SHAKE128 and SHAKE256). This VAS_EBOOT module is based on
|
||
libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_md4_module, Next: gcry_md5_module, Prev: gcry_keccak_module, Up: Modules
|
||
|
||
16.101 gcry_md4
|
||
===============
|
||
|
||
This module provides support for the Message Digest 4 (MD4) message
|
||
digest. If security is a concern, MD4 has known vulnerabilities and is
|
||
not recommended. This VAS_EBOOT module is based on libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_md5_module, Next: gcry_rfc2268_module, Prev: gcry_md4_module, Up: Modules
|
||
|
||
16.102 gcry_md5
|
||
===============
|
||
|
||
This module provides support for the Message Digest 5 (MD5) message
|
||
digest. If security is a concern, MD5 has known vulnerabilities and is
|
||
not recommended. This VAS_EBOOT module is based on libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_rfc2268_module, Next: gcry_rijndael_module, Prev: gcry_md5_module, Up: Modules
|
||
|
||
16.103 gcry_rfc2268
|
||
===================
|
||
|
||
This module provides support for the RFC2268 (RC2 / Ron's Cipher 2)
|
||
cipher. If security is a concern, RC2 has known vulnerabilities and is
|
||
not recommended. This VAS_EBOOT module is based on libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_rijndael_module, Next: gcry_rmd160_module, Prev: gcry_rfc2268_module, Up: Modules
|
||
|
||
16.104 gcry_rijndael
|
||
====================
|
||
|
||
This module provides support for the Advanced Encryption Standard
|
||
(AES-128, AES-192, and AES-256) ciphers. This VAS_EBOOT module is based on
|
||
libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_rmd160_module, Next: gcry_rsa_module, Prev: gcry_rijndael_module, Up: Modules
|
||
|
||
16.105 gcry_rmd160
|
||
==================
|
||
|
||
This module provides support for the RIPEMD-160 message digest. This
|
||
VAS_EBOOT module is based on libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_rsa_module, Next: gcry_salsa20_module, Prev: gcry_rmd160_module, Up: Modules
|
||
|
||
16.106 gcry_rsa
|
||
===============
|
||
|
||
This module provides support for the Rivest–Shamir–Adleman (RSA) cipher.
|
||
This VAS_EBOOT module is based on libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_salsa20_module, Next: gcry_seed_module, Prev: gcry_rsa_module, Up: Modules
|
||
|
||
16.107 gcry_salsa20
|
||
===================
|
||
|
||
This module provides support for the Salsa20 cipher. This VAS_EBOOT module
|
||
is based on libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_seed_module, Next: gcry_serpent_module, Prev: gcry_salsa20_module, Up: Modules
|
||
|
||
16.108 gcry_seed
|
||
================
|
||
|
||
This module provides support for the SEED cipher. This VAS_EBOOT module is
|
||
based on libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_serpent_module, Next: gcry_sha1_module, Prev: gcry_seed_module, Up: Modules
|
||
|
||
16.109 gcry_serpent
|
||
===================
|
||
|
||
This module provides support for the Serpent (128, 192, and 256)
|
||
ciphers. This VAS_EBOOT module is based on libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_sha1_module, Next: gcry_sha256_module, Prev: gcry_serpent_module, Up: Modules
|
||
|
||
16.110 gcry_sha1
|
||
================
|
||
|
||
This module provides support for the Secure Hash Algorithm 1 (SHA-1)
|
||
message digest. If security is a concern, SHA-1 has known
|
||
vulnerabilities and is not recommended. This VAS_EBOOT module is based on
|
||
libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_sha256_module, Next: gcry_sha512_module, Prev: gcry_sha1_module, Up: Modules
|
||
|
||
16.111 gcry_sha256
|
||
==================
|
||
|
||
This module provides support for the Secure Hash Algorithm 2 (224 and
|
||
256 bit) (SHA-224 / SHA-256) message digests. This VAS_EBOOT module is based
|
||
on libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_sha512_module, Next: gcry_sm3_module, Prev: gcry_sha256_module, Up: Modules
|
||
|
||
16.112 gcry_sha512
|
||
==================
|
||
|
||
This module provides support for the Secure Hash Algorithm 2 (384 and
|
||
512 bit) (SHA-384 / SHA-512) message digests. This VAS_EBOOT module is based
|
||
on libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_sm3_module, Next: gcry_sm4_module, Prev: gcry_sha512_module, Up: Modules
|
||
|
||
16.113 gcry_sm3
|
||
===============
|
||
|
||
This module provides support for the SM3 message digest. This VAS_EBOOT
|
||
module is based on libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_sm4_module, Next: gcry_stribog_module, Prev: gcry_sm3_module, Up: Modules
|
||
|
||
16.114 gcry_sm4
|
||
===============
|
||
|
||
This module provides support for the SM4 cipher. This VAS_EBOOT module is
|
||
based on libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_stribog_module, Next: gcry_tiger_module, Prev: gcry_sm4_module, Up: Modules
|
||
|
||
16.115 gcry_stribog
|
||
===================
|
||
|
||
This module provides support for the GOST R 34.11-2012 (Stribog) message
|
||
digest. This VAS_EBOOT module is based on libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_tiger_module, Next: gcry_twofish_module, Prev: gcry_stribog_module, Up: Modules
|
||
|
||
16.116 gcry_tiger
|
||
=================
|
||
|
||
This module provides support for the Tiger, Tiger 1, and Tiger 2 message
|
||
digests. This VAS_EBOOT module is based on libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_twofish_module, Next: gcry_whirlpool_module, Prev: gcry_tiger_module, Up: Modules
|
||
|
||
16.117 gcry_twofish
|
||
===================
|
||
|
||
This module provides support for the Twofish (128 and 256) ciphers.
|
||
This VAS_EBOOT module is based on libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gcry_whirlpool_module, Next: gdb_module, Prev: gcry_twofish_module, Up: Modules
|
||
|
||
16.118 gcry_whirlpool
|
||
=====================
|
||
|
||
This module provides support for the Whirlpool message digest. This
|
||
VAS_EBOOT module is based on libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: gdb_module, Next: geli_module, Prev: gcry_whirlpool_module, Up: Modules
|
||
|
||
16.119 gdb
|
||
==========
|
||
|
||
This module provides support for remotely debugging VAS_EBOOT using the GNU
|
||
Debugger (GDB) over serial. This is typically done when troubleshooting
|
||
VAS_EBOOT during development and not required for normal VAS_EBOOT operation.
|
||
This module adds support for commands required by the GDB remote debug
|
||
function including 'gdbstub' to start GDB stub on given serial port,
|
||
'gdbstub_break' to break into GDB, 'gdbstub_stop' to stop the GDB stub.
|
||
|
||
|
||
File: VasEBoot.info, Node: geli_module, Next: gettext_module, Prev: gdb_module, Up: Modules
|
||
|
||
16.120 geli
|
||
===========
|
||
|
||
This module provides support for the GEOM ELI (GELI) disk encryption /
|
||
decryption protocol used by FreeBSD. This module supports the following
|
||
ciphers using the associated "gcry" modules: DES, Triple-DES, Blowfish,
|
||
CAST5, AES, and Camellia 128.
|
||
|
||
|
||
File: VasEBoot.info, Node: gettext_module, Next: gfxmenu_module, Prev: geli_module, Up: Modules
|
||
|
||
16.121 gettext
|
||
==============
|
||
|
||
This module provides support for the 'gettext' command to support
|
||
translating information displayed / output by VAS_EBOOT. *Note gettext:: for
|
||
more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: gfxmenu_module, Next: gfxterm_module, Prev: gettext_module, Up: Modules
|
||
|
||
16.122 gfxmenu
|
||
==============
|
||
|
||
This module provides support for displaying a graphical menu / user
|
||
interface from VAS_EBOOT. This includes features such as graphical font
|
||
support, theme support, image support, and icon support.
|
||
|
||
|
||
File: VasEBoot.info, Node: gfxterm_module, Next: gfxterm_background_module, Prev: gfxmenu_module, Up: Modules
|
||
|
||
16.123 gfxterm
|
||
==============
|
||
|
||
This module provides support for displaying a terminal and menu
|
||
interface from VAS_EBOOT using graphics mode.
|
||
|
||
|
||
File: VasEBoot.info, Node: gfxterm_background_module, Next: gfxterm_menu_module, Prev: gfxterm_module, Up: Modules
|
||
|
||
16.124 gfxterm_background
|
||
=========================
|
||
|
||
This module provides support for setting the gfxterm background color
|
||
and background image using commands 'background_color' and
|
||
'background_image'. *Note background_color:: and *note
|
||
background_image:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: gfxterm_menu_module, Next: gptsync_module, Prev: gfxterm_background_module, Up: Modules
|
||
|
||
16.125 gfxterm_menu
|
||
===================
|
||
|
||
This module is intended for performing a functional test of the gfxmenu
|
||
function in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: gptsync_module, Next: gzio_module, Prev: gfxterm_menu_module, Up: Modules
|
||
|
||
16.126 gptsync
|
||
==============
|
||
|
||
This module provides support for the 'gptsync' command.. *Note
|
||
gptsync:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: gzio_module, Next: halt_module, Prev: gptsync_module, Up: Modules
|
||
|
||
16.127 gzio
|
||
===========
|
||
|
||
This module provides support for decompression (inflate) of files
|
||
compressed with the GZ compression algorithm. This supports only the
|
||
"DEFLATE" method for GZIP. Unsupported flags (will result in failure to
|
||
inflate) include: 'VAS_EBOOT_GZ_CONTINUATION', 'VAS_EBOOT_GZ_ENCRYPTED',
|
||
'VAS_EBOOT_GZ_RESERVED', and 'VAS_EBOOT_GZ_EXTRA_FIELD'.
|
||
|
||
|
||
File: VasEBoot.info, Node: halt_module, Next: hashsum_module, Prev: gzio_module, Up: Modules
|
||
|
||
16.128 halt
|
||
===========
|
||
|
||
This module provides support for the 'halt' command to shutdown / halt
|
||
the system. *Note halt:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: hashsum_module, Next: hdparm_module, Prev: halt_module, Up: Modules
|
||
|
||
16.129 hashsum
|
||
==============
|
||
|
||
This module provide support for the commands 'hashsum', 'md5sum',
|
||
'sha1sum', 'sha256sum', 'sha512sum', and 'crc' to calculate or check
|
||
hashes of files using various methods. *Note hashsum::, *note md5sum::
|
||
*note sha1sum::, *note sha256sum::, *note sha512sum::, and *note crc::.
|
||
|
||
|
||
File: VasEBoot.info, Node: hdparm_module, Next: hello_module, Prev: hashsum_module, Up: Modules
|
||
|
||
16.130 hdparm
|
||
=============
|
||
|
||
This module provides support for the 'hdparm' command to get or set
|
||
various ATA disk parameters. This includes controlling Advanced Power
|
||
Management (APM), displaying power mode, freezing ATA security settings
|
||
until reset, displaying SMART status, controlling automatic acoustic
|
||
management, setting standby timeout, setting the drive to standby mode,
|
||
setting the drive to sleep mode, displaying the drive identification and
|
||
settings, and enable/disable SMART.
|
||
|
||
|
||
File: VasEBoot.info, Node: hello_module, Next: help_module, Prev: hdparm_module, Up: Modules
|
||
|
||
16.131 hello
|
||
============
|
||
|
||
This provides support for the 'hello' command to simply output "Hello
|
||
World". This is intended for testing VAS_EBOOT module loading /
|
||
functionality.
|
||
|
||
|
||
File: VasEBoot.info, Node: help_module, Next: hexdump_module, Prev: hello_module, Up: Modules
|
||
|
||
16.132 help
|
||
===========
|
||
|
||
This module provides support for the 'help' command to output help text.
|
||
*Note help:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: hexdump_module, Next: hfs_module, Prev: help_module, Up: Modules
|
||
|
||
16.133 hexdump
|
||
==============
|
||
|
||
This module provides support for the 'hexdump' command to dump the
|
||
contents of a file in hexadecimal. *Note hexdump:: for more
|
||
information.
|
||
|
||
|
||
File: VasEBoot.info, Node: hfs_module, Next: hfsplus_module, Prev: hexdump_module, Up: Modules
|
||
|
||
16.134 hfs
|
||
==========
|
||
|
||
This module provides support for the Hierarchical File System (HFS) file
|
||
system in VAS_EBOOT. Note: This module is not allowed in lockdown mode, *note
|
||
Lockdown:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: hfsplus_module, Next: hfspluscomp_module, Prev: hfs_module, Up: Modules
|
||
|
||
16.135 hfsplus
|
||
==============
|
||
|
||
This module provides support for the Hierarchical File System Plus
|
||
(HFS+) file system in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: hfspluscomp_module, Next: http_module, Prev: hfsplus_module, Up: Modules
|
||
|
||
16.136 hfspluscomp
|
||
==================
|
||
|
||
This module provides support for the Hierarchical File System Plus
|
||
Compressed (HFS+ Compressed) file system in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: http_module, Next: ieee1275_fb_module, Prev: hfspluscomp_module, Up: Modules
|
||
|
||
16.137 http
|
||
===========
|
||
|
||
This module provides support for getting data over the HTTP network
|
||
protocol in VAS_EBOOT (using the HTTP GET method). This may be used, for
|
||
example, to obtain an operating system over HTTP (network boot).
|
||
|
||
|
||
File: VasEBoot.info, Node: ieee1275_fb_module, Next: iorw_module, Prev: http_module, Up: Modules
|
||
|
||
16.138 ieee1275_fb
|
||
==================
|
||
|
||
This module provides support for the IEEE1275 video driver output for
|
||
PowerPC with a IEEE-1275 platform.
|
||
|
||
|
||
File: VasEBoot.info, Node: iorw_module, Next: iso9660_module, Prev: ieee1275_fb_module, Up: Modules
|
||
|
||
16.139 iorw
|
||
===========
|
||
|
||
This module provides support for commands 'inb', 'inw', 'inl', 'outb',
|
||
'outw', and 'outl' to read / write data to physical I/O ports. The "in"
|
||
commands accept one parameter to specify the source port. The "out"
|
||
commands require either two or three parameters, with the order: port,
|
||
value, <optional mask>.
|
||
|
||
|
||
File: VasEBoot.info, Node: iso9660_module, Next: jfs_module, Prev: iorw_module, Up: Modules
|
||
|
||
16.140 iso9660
|
||
==============
|
||
|
||
This module provides support for the ISO9660 file system (often
|
||
associated with optical disks such as CD-ROMs and DVD-ROMs, with
|
||
extensions: System Use Sharing Protocol (SUSP), Rock Ridge (UNIX style
|
||
permissions and longer names)
|
||
|
||
|
||
File: VasEBoot.info, Node: jfs_module, Next: jpeg_module, Prev: iso9660_module, Up: Modules
|
||
|
||
16.141 jfs
|
||
==========
|
||
|
||
This module provides support for the Journaled File System (JFS) file
|
||
system. Note: This module is not allowed in lockdown mode, *note
|
||
Lockdown:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: jpeg_module, Next: json_module, Prev: jfs_module, Up: Modules
|
||
|
||
16.142 jpeg
|
||
===========
|
||
|
||
This module provides support for reading JPEG image files in VAS_EBOOT, such
|
||
as to support displaying a JPEG image as a background image of the
|
||
gfxmenu.
|
||
|
||
|
||
File: VasEBoot.info, Node: json_module, Next: keylayouts_module, Prev: jpeg_module, Up: Modules
|
||
|
||
16.143 json
|
||
===========
|
||
|
||
This module provides library support for parsing / processing JavaScript
|
||
Object Notation (JSON) formatted data. This is used, for example, to
|
||
support LUKS2 disk encryption / decryption as metadata is encoded in
|
||
JSON.
|
||
|
||
|
||
File: VasEBoot.info, Node: keylayouts_module, Next: keystatus_module, Prev: json_module, Up: Modules
|
||
|
||
16.144 keylayouts
|
||
=================
|
||
|
||
This module provides support for the 'keymap' command. This command
|
||
accepts one parameter to specify either the LAYOUT_NAME or the FILENAME.
|
||
When specifying the LAYOUT_NAME, this command will attempt to open the
|
||
VAS_EBOOT keymap file based on the following logic:
|
||
|
||
Get the "prefix" from environment variable PREFIX
|
||
|
||
Open keymap file PREFIX/layouts/LAYOUT_NAME.gkb
|
||
|
||
When specifying the FILENAME, the full path to the ".gkb" file should
|
||
be provided. The ".gkb" file can be generated by VasEBoot-kbdcomp.
|
||
|
||
|
||
File: VasEBoot.info, Node: keystatus_module, Next: ldm_module, Prev: keylayouts_module, Up: Modules
|
||
|
||
16.145 keystatus
|
||
================
|
||
|
||
This module provides support for the 'keystatus' command to check key
|
||
modifier status. *Note keystatus:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: ldm_module, Next: legacy_password_test_module, Prev: keystatus_module, Up: Modules
|
||
|
||
16.146 ldm
|
||
==========
|
||
|
||
This module provides support for the Logical Disk Manager (LDM) disk
|
||
format. LDM is used to add support for logical volumes most often with
|
||
Microsoft Windows systems. A logical volume can be defined to span more
|
||
than one physical disk.
|
||
|
||
|
||
File: VasEBoot.info, Node: legacy_password_test_module, Next: legacycfg_module, Prev: ldm_module, Up: Modules
|
||
|
||
16.147 legacy_password_test
|
||
===========================
|
||
|
||
This module is intended for performing a functional test of the legacy
|
||
password function in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: legacycfg_module, Next: linux_module, Prev: legacy_password_test_module, Up: Modules
|
||
|
||
16.148 legacycfg
|
||
================
|
||
|
||
This module provides support for commands 'legacy_source',
|
||
'legacy_configfile', 'extract_legacy_entries_source',
|
||
'extract_legacy_entries_configfile', 'legacy_kernel', 'legacy_initrd',
|
||
'legacy_initrd_nounzip', 'legacy_password', and 'legacy_check_password'.
|
||
For new uses / configurations of VAS_EBOOT other commands / modules offer the
|
||
modern equivalents.
|
||
|
||
|
||
File: VasEBoot.info, Node: linux_module, Next: linux16_module, Prev: legacycfg_module, Up: Modules
|
||
|
||
16.149 linux
|
||
============
|
||
|
||
This module provides support for the commands 'linux' and 'initrd' to
|
||
load Linux and an Initial RAM Disk respectively. *Note linux:: and
|
||
*note initrd:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: linux16_module, Next: loadbios_module, Prev: linux_module, Up: Modules
|
||
|
||
16.150 linux16
|
||
==============
|
||
|
||
This module provides support for the commands 'linux16' and 'initrd16'
|
||
to load Linux in 16-bit mode and an Initial RAM Disk in 16-bit mode
|
||
respectively. *Note linux16:: and *note initrd16:: for more
|
||
information.
|
||
|
||
|
||
File: VasEBoot.info, Node: loadbios_module, Next: loadenv_module, Prev: linux16_module, Up: Modules
|
||
|
||
16.151 loadbios
|
||
===============
|
||
|
||
This module provides support for the commands 'fakebios' and 'loadbios'.
|
||
These commands may only be useful on platforms with issues requiring
|
||
work-arounds. Command 'fakebios' is used to create BIOS-like structures
|
||
for backward compatibility with existing OS. Command 'loadbios' is used
|
||
to load a BIOS dump.
|
||
|
||
|
||
File: VasEBoot.info, Node: loadenv_module, Next: loopback_module, Prev: loadbios_module, Up: Modules
|
||
|
||
16.152 loadenv
|
||
==============
|
||
|
||
This module provides support for commands 'load_env', 'list_env', and
|
||
'save_env'. These commands can be used to load environment variables
|
||
from a file, list environment variables in a file, and save environment
|
||
variables to a file. *Note load_env::, *note list_env::, and *note
|
||
save_env::.
|
||
|
||
|
||
File: VasEBoot.info, Node: loopback_module, Next: ls_module, Prev: loadenv_module, Up: Modules
|
||
|
||
16.153 loopback
|
||
===============
|
||
|
||
This module provides support for the 'loopback' command. *Note
|
||
loopback:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: ls_module, Next: lsacpi_module, Prev: loopback_module, Up: Modules
|
||
|
||
16.154 ls
|
||
=========
|
||
|
||
This module provides support for the 'ls' command. *Note ls:: for more
|
||
information.
|
||
|
||
|
||
File: VasEBoot.info, Node: lsacpi_module, Next: lsapm_module, Prev: ls_module, Up: Modules
|
||
|
||
16.155 lsacpi
|
||
=============
|
||
|
||
This module provides support for the 'lsacpi' command. This command can
|
||
be used to display Advanced Configuration and Power Interface (ACPI)
|
||
tables.
|
||
|
||
|
||
File: VasEBoot.info, Node: lsapm_module, Next: lsdev_module, Prev: lsacpi_module, Up: Modules
|
||
|
||
16.156 lsapm
|
||
============
|
||
|
||
This module provides support for the 'lsapm' command. This command can
|
||
be used to display Advanced power management (APM) information.
|
||
|
||
|
||
File: VasEBoot.info, Node: lsdev_module, Next: lsefi_module, Prev: lsapm_module, Up: Modules
|
||
|
||
16.157 lsdev
|
||
============
|
||
|
||
This module provides support for the 'lsdev' command. This command can
|
||
be used on MIPS Advanced RISC Computing (ARC) platforms to display
|
||
devices.
|
||
|
||
|
||
File: VasEBoot.info, Node: lsefi_module, Next: lsefimmap_module, Prev: lsdev_module, Up: Modules
|
||
|
||
16.158 lsefi
|
||
============
|
||
|
||
This module provides support for the 'lsefi' command. This command can
|
||
be used on EFI platforms to display EFI handles.
|
||
|
||
|
||
File: VasEBoot.info, Node: lsefimmap_module, Next: lsefisystab_module, Prev: lsefi_module, Up: Modules
|
||
|
||
16.159 lsefimmap
|
||
================
|
||
|
||
This module provides support for the 'lsefimmap' command. This command
|
||
can be used on EFI platforms to display the EFI memory map.
|
||
|
||
|
||
File: VasEBoot.info, Node: lsefisystab_module, Next: lsmmap_module, Prev: lsefimmap_module, Up: Modules
|
||
|
||
16.160 lsefisystab
|
||
==================
|
||
|
||
This module provides support for the 'lsefisystab' command. This
|
||
command can be used on EFI platforms to display the EFI system tables.
|
||
|
||
|
||
File: VasEBoot.info, Node: lsmmap_module, Next: lspci_module, Prev: lsefisystab_module, Up: Modules
|
||
|
||
16.161 lsmmap
|
||
=============
|
||
|
||
This module provides support for the 'lsmmap' command. This command can
|
||
be used to display the memory map provided by firmware.
|
||
|
||
|
||
File: VasEBoot.info, Node: lspci_module, Next: lssal_module, Prev: lsmmap_module, Up: Modules
|
||
|
||
16.162 lspci
|
||
============
|
||
|
||
This module provides support for the 'lspci' command. This command can
|
||
be used to display the PCI / PCIe devices.
|
||
|
||
|
||
File: VasEBoot.info, Node: lssal_module, Next: lsspd_module, Prev: lspci_module, Up: Modules
|
||
|
||
16.163 lssal
|
||
============
|
||
|
||
This module provides support for the 'lsefisystab' command. This
|
||
command can be used on Itanium (IA-64) EFI platforms to display the EFI
|
||
System Abstraction Layer system table.
|
||
|
||
|
||
File: VasEBoot.info, Node: lsspd_module, Next: lsxen_module, Prev: lssal_module, Up: Modules
|
||
|
||
16.164 lsspd
|
||
============
|
||
|
||
This module provides support for the 'lsspd' command. This command can
|
||
be used on MIPS Loongson platforms to display the DDR RAM Serial
|
||
Presence Detect (SPD) EEPROM data.
|
||
|
||
|
||
File: VasEBoot.info, Node: lsxen_module, Next: luks_module, Prev: lsspd_module, Up: Modules
|
||
|
||
16.165 lsxen
|
||
============
|
||
|
||
This module provides support for the commands 'xen_ls' and 'xen_cat' on
|
||
Xen platforms to list Xen storage.
|
||
|
||
|
||
File: VasEBoot.info, Node: luks_module, Next: luks2_module, Prev: lsxen_module, Up: Modules
|
||
|
||
16.166 luks
|
||
===========
|
||
|
||
This module provides support for the Linux Unified Key Setup (LUKS)
|
||
(version 1) disk encryption / decryption protocol.
|
||
|
||
|
||
File: VasEBoot.info, Node: luks2_module, Next: lvm_module, Prev: luks_module, Up: Modules
|
||
|
||
16.167 luks2
|
||
============
|
||
|
||
This module provides support for the Linux Unified Key Setup 2 (LUKS2)
|
||
disk encryption / decryption protocol.
|
||
|
||
|
||
File: VasEBoot.info, Node: lvm_module, Next: lzopio_module, Prev: luks2_module, Up: Modules
|
||
|
||
16.168 lvm
|
||
==========
|
||
|
||
This module provides support for reading Logical Volume Management
|
||
"logical" disks. For example, a single "logical" disk may be mapped to
|
||
span more than one physical disk. This would be used when booting from
|
||
a LVM formatted disk as may be setup in Linux.
|
||
|
||
|
||
File: VasEBoot.info, Node: lzopio_module, Next: macbless_module, Prev: lvm_module, Up: Modules
|
||
|
||
16.169 lzopio
|
||
=============
|
||
|
||
This module provides support for decompressing LZO / LZOP compressed
|
||
files / archives.
|
||
|
||
|
||
File: VasEBoot.info, Node: macbless_module, Next: macho_module, Prev: lzopio_module, Up: Modules
|
||
|
||
16.170 macbless
|
||
===============
|
||
|
||
This module provides support for commands 'mactelbless' and
|
||
'macppcbless' for "blessing" a bootloader on Intel / PPC based MACs
|
||
using the HFS or HFS+ file system. On HFS / HFS+ - "blessing" makes a
|
||
file run as the bootloader.
|
||
|
||
|
||
File: VasEBoot.info, Node: macho_module, Next: mda_text_module, Prev: macbless_module, Up: Modules
|
||
|
||
16.171 macho
|
||
============
|
||
|
||
This module provides support for Mach Object (Mach-O) object /
|
||
executable files in VAS_EBOOT often used in MacOS.
|
||
|
||
|
||
File: VasEBoot.info, Node: mda_text_module, Next: mdraid09_module, Prev: macho_module, Up: Modules
|
||
|
||
16.172 mda_text
|
||
===============
|
||
|
||
This module provides support for the Monochrome Display Adapter (MDA)
|
||
terminal output device. MDA is a predecessor to VGA.
|
||
|
||
|
||
File: VasEBoot.info, Node: mdraid09_module, Next: mdraid09_be_module, Prev: mda_text_module, Up: Modules
|
||
|
||
16.173 mdraid09
|
||
===============
|
||
|
||
This module provides support for handling Linux compatible "version 0.9"
|
||
software-based RAID disks in little-endian format. The "version 0.9"
|
||
format was largely replaced around the year 2009 with the "version 1.x"
|
||
format (*note mdraid1x_module:: for more information).
|
||
|
||
|
||
File: VasEBoot.info, Node: mdraid09_be_module, Next: mdraid1x_module, Prev: mdraid09_module, Up: Modules
|
||
|
||
16.174 mdraid09_be
|
||
==================
|
||
|
||
This module provides support for handling Linux compatible "version 0.9"
|
||
software-based RAID disks in bid-endian format. The "version 0.9"
|
||
format was largely replaced around the year 2009 with the "version 1.x"
|
||
format (*note mdraid1x_module:: for more information).
|
||
|
||
|
||
File: VasEBoot.info, Node: mdraid1x_module, Next: memdisk_module, Prev: mdraid09_be_module, Up: Modules
|
||
|
||
16.175 mdraid1x
|
||
===============
|
||
|
||
This module provides support for handling Linux compatible "version 1.x"
|
||
software-based RAID disks. This includes the current version used by
|
||
Linux at the time of writing.
|
||
|
||
|
||
File: VasEBoot.info, Node: memdisk_module, Next: memrw_module, Prev: mdraid1x_module, Up: Modules
|
||
|
||
16.176 memdisk
|
||
==============
|
||
|
||
This module provides support for a memdisk device. A memdisk is a
|
||
memory mapped emulated disk.
|
||
|
||
|
||
File: VasEBoot.info, Node: memrw_module, Next: memtools_module, Prev: memdisk_module, Up: Modules
|
||
|
||
16.177 memrw
|
||
============
|
||
|
||
This module provides support for commands 'read_byte', 'read_word',
|
||
'read_dword', 'write_byte', 'write_word', and 'write_dword' to read /
|
||
write data to physical memory (addresses). The "read" commands accept
|
||
one parameter to specify the source address. The "write" commands
|
||
require either two or three parameters, with the order: address, value,
|
||
<optional mask>. Note: The commands provided by this module are not
|
||
allowed when lockdown is enforced (*note Lockdown::).
|
||
|
||
|
||
File: VasEBoot.info, Node: memtools_module, Next: minicmd_module, Prev: memrw_module, Up: Modules
|
||
|
||
16.178 memtools
|
||
===============
|
||
|
||
This module provides support for VAS_EBOOT development / debugging commands
|
||
'lsmem', 'lsfreemem', 'lsmemregions', and 'stress_big_allocs'.
|
||
|
||
|
||
File: VasEBoot.info, Node: minicmd_module, Next: minix_module, Prev: memtools_module, Up: Modules
|
||
|
||
16.179 minicmd
|
||
==============
|
||
|
||
This module provides support for a subset of commands for VAS_EBOOT rescue
|
||
mode including: 'cat', 'help', 'dump', 'rmmod', 'lsmod', and 'exit'.
|
||
The version of the commands in this module are similar to their
|
||
full-fledged counterparts implemented in other VAS_EBOOT modules. Note: The
|
||
'dump' command is not allowed when lockdown is enforced (*note
|
||
Lockdown::).
|
||
|
||
|
||
File: VasEBoot.info, Node: minix_module, Next: minix2_module, Prev: minicmd_module, Up: Modules
|
||
|
||
16.180 minix
|
||
============
|
||
|
||
This module provides support for the Minix filesystem, version 1. Note:
|
||
This module is not allowed in lockdown mode, *note Lockdown:: for more
|
||
information.
|
||
|
||
|
||
File: VasEBoot.info, Node: minix2_module, Next: minix2_be_module, Prev: minix_module, Up: Modules
|
||
|
||
16.181 minix2
|
||
=============
|
||
|
||
This module provides support for the Minix filesystem, version 2. Note:
|
||
This module is not allowed in lockdown mode, *note Lockdown:: for more
|
||
information.
|
||
|
||
|
||
File: VasEBoot.info, Node: minix2_be_module, Next: minix3_module, Prev: minix2_module, Up: Modules
|
||
|
||
16.182 minix2_be
|
||
================
|
||
|
||
This module provides support for the Minix filesystem, version 2
|
||
big-endian. Note: This module is not allowed in lockdown mode, *note
|
||
Lockdown:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: minix3_module, Next: minix3_be_module, Prev: minix2_be_module, Up: Modules
|
||
|
||
16.183 minix3
|
||
=============
|
||
|
||
This module provides support for the Minix filesystem, version 3. Note:
|
||
This module is not allowed in lockdown mode, *note Lockdown:: for more
|
||
information.
|
||
|
||
|
||
File: VasEBoot.info, Node: minix3_be_module, Next: minix_be_module, Prev: minix3_module, Up: Modules
|
||
|
||
16.184 minix3_be
|
||
================
|
||
|
||
This module provides support for the Minix filesystem, version 3
|
||
big-endian. Note: This module is not allowed in lockdown mode, *note
|
||
Lockdown:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: minix_be_module, Next: mmap_module, Prev: minix3_be_module, Up: Modules
|
||
|
||
16.185 minix_be
|
||
===============
|
||
|
||
This module provides support for the Minix filesystem, version 1
|
||
big-endian. Note: This module is not allowed in lockdown mode, *note
|
||
Lockdown:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: mmap_module, Next: morse_module, Prev: minix_be_module, Up: Modules
|
||
|
||
16.186 mmap
|
||
===========
|
||
|
||
This module provides support for mapping or unmapping devices or files
|
||
into memory as well as commands 'badram' and 'cutmem'. *Note badram::
|
||
and *note cutmem::.
|
||
|
||
|
||
File: VasEBoot.info, Node: morse_module, Next: mpi_module, Prev: mmap_module, Up: Modules
|
||
|
||
16.187 morse
|
||
============
|
||
|
||
This module provides support for outputting terminal output via Morse
|
||
code to an audio speaker output.
|
||
|
||
|
||
File: VasEBoot.info, Node: mpi_module, Next: msdospart_module, Prev: morse_module, Up: Modules
|
||
|
||
16.188 mpi
|
||
==========
|
||
|
||
This module provides support for multi-precision-integers (MPIs) in
|
||
VAS_EBOOT. MPIs are used by the crypto functions as many depend on
|
||
mathematics of large numbers. This VAS_EBOOT module is based on libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: msdospart_module, Next: mul_test_module, Prev: mpi_module, Up: Modules
|
||
|
||
16.189 msdospart
|
||
================
|
||
|
||
This module provides support for modifying MSDOS formatted disk
|
||
partitions through the separate 'parttool' command.
|
||
|
||
|
||
File: VasEBoot.info, Node: mul_test_module, Next: multiboot_module, Prev: msdospart_module, Up: Modules
|
||
|
||
16.190 mul_test
|
||
===============
|
||
|
||
This module is intended for performing a functional test of the
|
||
multiplication operations in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: multiboot_module, Next: multiboot2_module, Prev: mul_test_module, Up: Modules
|
||
|
||
16.191 multiboot
|
||
================
|
||
|
||
This module provides support for commands 'multiboot' and 'module' to
|
||
load a multiboot kernel and load a multiboot module, respectively.
|
||
*Note multiboot:: and *note module:: for more information. This is for
|
||
loading data formatted per the GNU Multiboot specification.
|
||
|
||
|
||
File: VasEBoot.info, Node: multiboot2_module, Next: nand_module, Prev: multiboot_module, Up: Modules
|
||
|
||
16.192 multiboot2
|
||
=================
|
||
|
||
This module provides support for commands 'multiboot2' and 'module2' to
|
||
load a multiboot kernel and load a multiboot module, respectively. This
|
||
is for loading data formatted per the GNU Multiboot specification.
|
||
|
||
|
||
File: VasEBoot.info, Node: nand_module, Next: nativedisk_module, Prev: multiboot2_module, Up: Modules
|
||
|
||
16.193 nand
|
||
===========
|
||
|
||
This module provides support for accessing an IEEE-1275 compliant NAND
|
||
disk from VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: nativedisk_module, Next: net_module, Prev: nand_module, Up: Modules
|
||
|
||
16.194 nativedisk
|
||
=================
|
||
|
||
This module provides support for the 'nativedisk' command. *Note
|
||
nativedisk:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: net_module, Next: newc_module, Prev: nativedisk_module, Up: Modules
|
||
|
||
16.195 net
|
||
==========
|
||
|
||
This module provides support for networking protocols including ARP,
|
||
BOOTP, DNS, Ethernet, ICMPv6, ICMP, IP, TCP, and UDP. Support is
|
||
included for both IPv4 and IPv6. This includes the following commands:
|
||
* 'net_bootp' - *note net_bootp::
|
||
|
||
* 'net_dhcp' - *note net_dhcp::
|
||
|
||
* 'net_get_dhcp_option' - *note net_get_dhcp_option::
|
||
|
||
* 'net_nslookup' - *note net_nslookup::
|
||
|
||
* 'net_add_dns' - *note net_add_dns::
|
||
|
||
* 'net_del_dns' - *note net_del_dns::
|
||
|
||
* 'net_ls_dns' - *note net_ls_dns::
|
||
|
||
* 'net_add_addr' - *note net_add_addr::
|
||
|
||
* 'net_ipv6_autoconf' - *note net_ipv6_autoconf::
|
||
|
||
* 'net_del_addr' - *note net_del_addr::
|
||
|
||
* 'net_add_route' - *note net_add_route::
|
||
|
||
* 'net_del_route' - *note net_del_route::
|
||
|
||
* 'net_set_vlan' - *note net_set_vlan::
|
||
|
||
* 'net_ls_routes' - *note net_ls_routes::
|
||
|
||
* 'net_ls_cards' - *note net_ls_cards::
|
||
|
||
* 'net_ls_addr' - *note net_ls_addr::
|
||
|
||
|
||
File: VasEBoot.info, Node: newc_module, Next: nilfs2_module, Prev: net_module, Up: Modules
|
||
|
||
16.196 newc
|
||
===========
|
||
|
||
This module provides support for accessing a CPIO archive as a file
|
||
system from VAS_EBOOT. This module is for the following newer variants of the
|
||
CPIO archive supported by GNU CPIO (but GNU CPIO defaults to the "bin"
|
||
format which is handled by the module *note cpio_module::).
|
||
|
||
These are the variants supported by this module:
|
||
|
||
* "newc" - SVR4 portable format without CRC. GNU file utility will
|
||
identify these as something like "ASCII cpio archive (SVR4 with no
|
||
CRC)"
|
||
|
||
* ‘crc’ - SVR4 portable format with CRC. GNU file utility will
|
||
identify these as something like "ASCII cpio archive (SVR4 with
|
||
CRC)"
|
||
|
||
|
||
File: VasEBoot.info, Node: nilfs2_module, Next: normal_module, Prev: newc_module, Up: Modules
|
||
|
||
16.197 nilfs2
|
||
=============
|
||
|
||
This module provides support for the New Implementation of Log
|
||
filesystem (nilfs2). Note: This module is not allowed in lockdown mode,
|
||
*note Lockdown:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: normal_module, Next: ntfs_module, Prev: nilfs2_module, Up: Modules
|
||
|
||
16.198 normal
|
||
=============
|
||
|
||
This module provides support for the normal mode in VAS_EBOOT. *Note normal::
|
||
for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: ntfs_module, Next: ntfscomp_module, Prev: normal_module, Up: Modules
|
||
|
||
16.199 ntfs
|
||
===========
|
||
|
||
This module provides support for the New Technology File System (NTFS)
|
||
in VAS_EBOOT. Note: This module is not allowed in lockdown mode, *note
|
||
Lockdown:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: ntfscomp_module, Next: ntldr_module, Prev: ntfs_module, Up: Modules
|
||
|
||
16.200 ntfscomp
|
||
===============
|
||
|
||
This module provides support for compression with the New Technology
|
||
File System (NTFS) in VAS_EBOOT. Note: This module is not allowed in lockdown
|
||
mode, *note Lockdown:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: ntldr_module, Next: odc_module, Prev: ntfscomp_module, Up: Modules
|
||
|
||
16.201 ntldr
|
||
============
|
||
|
||
This module provides support for the 'ntldr' command. This is may be
|
||
used to boot a Windows boot loader such as NTLDR or BootMGR.
|
||
|
||
|
||
File: VasEBoot.info, Node: odc_module, Next: offsetio_module, Prev: ntldr_module, Up: Modules
|
||
|
||
16.202 odc
|
||
==========
|
||
|
||
This module provides support for accessing a CPIO archive as a file
|
||
system from VAS_EBOOT. This module is for "odc" variant of the CPIO archive
|
||
supported by GNU CPIO (but GNU CPIO defaults to the "bin" format which
|
||
is handled by the module *note cpio_module::).
|
||
|
||
GNU file utility will identify these as something like "ASCII cpio
|
||
archive (pre-SVR4 or odc)"
|
||
|
||
|
||
File: VasEBoot.info, Node: offsetio_module, Next: ofnet_module, Prev: odc_module, Up: Modules
|
||
|
||
16.203 offsetio
|
||
===============
|
||
|
||
This module provides support for reading from a file / archive at
|
||
specified offsets in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: ofnet_module, Next: ohci_module, Prev: offsetio_module, Up: Modules
|
||
|
||
16.204 ofnet
|
||
============
|
||
|
||
This module provides support for the Open Firmware (IEEE-1275) network
|
||
device support in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: ohci_module, Next: part_acorn_module, Prev: ofnet_module, Up: Modules
|
||
|
||
16.205 ohci
|
||
===========
|
||
|
||
This module provides support for the Open Host Controller Interface
|
||
(OHCI) for USB 1 / USB 1.1 support in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: part_acorn_module, Next: part_amiga_module, Prev: ohci_module, Up: Modules
|
||
|
||
16.206 part_acorn
|
||
=================
|
||
|
||
This module provides support for reading from disks partitioned with the
|
||
Acorn Disc Filing System (ADFS) used on RiscOS.
|
||
|
||
|
||
File: VasEBoot.info, Node: part_amiga_module, Next: part_apple_module, Prev: part_acorn_module, Up: Modules
|
||
|
||
16.207 part_amiga
|
||
=================
|
||
|
||
This module provides support for reading from disks partitioned with the
|
||
Amiga partition table.
|
||
|
||
|
||
File: VasEBoot.info, Node: part_apple_module, Next: part_bsd_module, Prev: part_amiga_module, Up: Modules
|
||
|
||
16.208 part_apple
|
||
=================
|
||
|
||
This module provides support for reading from disks partitioned with the
|
||
Macintosh partition table.
|
||
|
||
|
||
File: VasEBoot.info, Node: part_bsd_module, Next: part_dfly_module, Prev: part_apple_module, Up: Modules
|
||
|
||
16.209 part_bsd
|
||
===============
|
||
|
||
This module provides support for reading from disks partitioned with BSD
|
||
style partition tables.
|
||
|
||
|
||
File: VasEBoot.info, Node: part_dfly_module, Next: part_dvh_module, Prev: part_bsd_module, Up: Modules
|
||
|
||
16.210 part_dfly
|
||
================
|
||
|
||
This module provides support for reading from disks partitioned with the
|
||
DragonFly BSD partition table.
|
||
|
||
|
||
File: VasEBoot.info, Node: part_dvh_module, Next: part_gpt_module, Prev: part_dfly_module, Up: Modules
|
||
|
||
16.211 part_dvh
|
||
===============
|
||
|
||
This module provides support for reading from disks partitioned with the
|
||
SGI Disk Volume Header partition table.
|
||
|
||
|
||
File: VasEBoot.info, Node: part_gpt_module, Next: part_msdos_module, Prev: part_dvh_module, Up: Modules
|
||
|
||
16.212 part_gpt
|
||
===============
|
||
|
||
This module provides support for reading from disks partitioned with the
|
||
GUID Partition Tables (GPT) partition table.
|
||
|
||
|
||
File: VasEBoot.info, Node: part_msdos_module, Next: part_plan_module, Prev: part_gpt_module, Up: Modules
|
||
|
||
16.213 part_msdos
|
||
=================
|
||
|
||
This module provides support for reading from disks partitioned with the
|
||
MSDOS (Master Boot Record / MBR) style partition tables.
|
||
|
||
|
||
File: VasEBoot.info, Node: part_plan_module, Next: part_sun_module, Prev: part_msdos_module, Up: Modules
|
||
|
||
16.214 part_plan
|
||
================
|
||
|
||
This module provides support for reading from disk partitioned with the
|
||
Plan9 style partition table.
|
||
|
||
|
||
File: VasEBoot.info, Node: part_sun_module, Next: part_sunpc_module, Prev: part_plan_module, Up: Modules
|
||
|
||
16.215 part_sun
|
||
===============
|
||
|
||
This module provides support for reading from disk partitioned with the
|
||
Sun style partition table.
|
||
|
||
|
||
File: VasEBoot.info, Node: part_sunpc_module, Next: parttool_module, Prev: part_sun_module, Up: Modules
|
||
|
||
16.216 part_sunpc
|
||
=================
|
||
|
||
This module provides support for reading from disk partitioned with the
|
||
Sun PC style partition table.
|
||
|
||
|
||
File: VasEBoot.info, Node: parttool_module, Next: password_module, Prev: part_sunpc_module, Up: Modules
|
||
|
||
16.217 parttool
|
||
===============
|
||
|
||
This module provides support for the 'parttool' command. *Note
|
||
parttool:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: password_module, Next: password_pbkdf2_module, Prev: parttool_module, Up: Modules
|
||
|
||
16.218 password
|
||
===============
|
||
|
||
This module provides support for the 'password' command. Please note
|
||
that this uses the password in plain text, if security is a concern
|
||
consider using *note password_pbkdf2_module:: instead. *Note password::
|
||
for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: password_pbkdf2_module, Next: pata_module, Prev: password_module, Up: Modules
|
||
|
||
16.219 password_pbkdf2
|
||
======================
|
||
|
||
This module provides support for the 'password_pbkdf2' command. *Note
|
||
password_pbkdf2:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: pata_module, Next: pbkdf2_module, Prev: password_pbkdf2_module, Up: Modules
|
||
|
||
16.220 pata
|
||
===========
|
||
|
||
This module provides support for Parallel ATA (PATA) disk device
|
||
interfaces.
|
||
|
||
|
||
File: VasEBoot.info, Node: pbkdf2_module, Next: pbkdf2_test_module, Prev: pata_module, Up: Modules
|
||
|
||
16.221 pbkdf2
|
||
=============
|
||
|
||
This module provides support for the Password-Based Key Derivation
|
||
Function 2 (PBKDF2) / PKCS#5 PBKDF2 as per RFC 2898.
|
||
|
||
|
||
File: VasEBoot.info, Node: pbkdf2_test_module, Next: pci_module, Prev: pbkdf2_module, Up: Modules
|
||
|
||
16.222 pbkdf2_test
|
||
==================
|
||
|
||
This module is intended for performing a functional test of the PBKDF2
|
||
operation in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: pci_module, Next: pcidump_module, Prev: pbkdf2_test_module, Up: Modules
|
||
|
||
16.223 pci
|
||
==========
|
||
|
||
This module provides support for generic Peripheral Component
|
||
Interconnect (PCI) bus in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: pcidump_module, Next: pgp_module, Prev: pci_module, Up: Modules
|
||
|
||
16.224 pcidump
|
||
==============
|
||
|
||
This module provides support for the 'pcidump' command in VAS_EBOOT to dump
|
||
the PCI configuration registers in hexadecimal of a specified PCI device
|
||
(vendor / device ID) or by position on the bus.
|
||
|
||
|
||
File: VasEBoot.info, Node: pgp_module, Next: plainmount_module, Prev: pcidump_module, Up: Modules
|
||
|
||
16.225 pgp
|
||
==========
|
||
|
||
This module provides support for the commands: 'verify_detached',
|
||
'trust', 'list_trusted', 'distrust' associated with digital signature
|
||
checking via the "Open Pretty Good Privacy" (PGP) protocol / RFC 4880
|
||
using a provided public key. This module also uses / sets environment
|
||
variable 'check_signatures'. *Note verify_detached::, *note trust::,
|
||
*note list_trusted::, *note distrust::, and *note check_signatures::.
|
||
|
||
|
||
File: VasEBoot.info, Node: plainmount_module, Next: plan9_module, Prev: pgp_module, Up: Modules
|
||
|
||
16.226 plainmount
|
||
=================
|
||
|
||
This module provides support for accessing / mounting partitions
|
||
encrypted by "cryptsetup" operating in "plain mode". *Note plainmount::
|
||
for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: plan9_module, Next: play_module, Prev: plainmount_module, Up: Modules
|
||
|
||
16.227 plan9
|
||
============
|
||
|
||
This module provides support for the 'plan9' command to load a Plan9
|
||
kernel.
|
||
|
||
|
||
File: VasEBoot.info, Node: play_module, Next: png_module, Prev: plan9_module, Up: Modules
|
||
|
||
16.228 play
|
||
===========
|
||
|
||
This module provides support for the 'play' command to play a tune
|
||
through the PC speaker. *Note play:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: png_module, Next: priority_queue_module, Prev: play_module, Up: Modules
|
||
|
||
16.229 png
|
||
==========
|
||
|
||
This module provides support for reading Portable Network Graphics (PNG)
|
||
image files in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: priority_queue_module, Next: probe_module, Prev: png_module, Up: Modules
|
||
|
||
16.230 priority_queue
|
||
=====================
|
||
|
||
This module provides support for a priority queue function within VAS_EBOOT
|
||
such as to support networking functions.
|
||
|
||
|
||
File: VasEBoot.info, Node: probe_module, Next: procfs_module, Prev: priority_queue_module, Up: Modules
|
||
|
||
16.231 probe
|
||
============
|
||
|
||
This module provides support for the 'probe' command to retrieve device
|
||
information. *Note probe:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: procfs_module, Next: progress_module, Prev: probe_module, Up: Modules
|
||
|
||
16.232 procfs
|
||
=============
|
||
|
||
This module provides support for a Proc File System to provide a file
|
||
system like interface to some VAS_EBOOT internal data.
|
||
|
||
|
||
File: VasEBoot.info, Node: progress_module, Next: pubkey_module, Prev: procfs_module, Up: Modules
|
||
|
||
16.233 progress
|
||
===============
|
||
|
||
This module provides support for showing file loading progress to the
|
||
terminal.
|
||
|
||
|
||
File: VasEBoot.info, Node: pubkey_module, Next: pxe_module, Prev: progress_module, Up: Modules
|
||
|
||
16.234 pubkey
|
||
=============
|
||
|
||
This module provides supporting functions for using RSA and DSA public
|
||
keys. This VAS_EBOOT module is based on libgcrypt.
|
||
|
||
|
||
File: VasEBoot.info, Node: pxe_module, Next: pxechain_module, Prev: pubkey_module, Up: Modules
|
||
|
||
16.235 pxe
|
||
==========
|
||
|
||
This module provides support for Preboot Execution Environment (PXE)
|
||
network boot services as a file system driver for other VAS_EBOOT modules.
|
||
|
||
|
||
File: VasEBoot.info, Node: pxechain_module, Next: raid5rec_module, Prev: pxe_module, Up: Modules
|
||
|
||
16.236 pxechain
|
||
===============
|
||
|
||
This module provides support for the 'pxechainloader' command to load
|
||
another bootloader by PXE.
|
||
|
||
|
||
File: VasEBoot.info, Node: raid5rec_module, Next: raid6rec_module, Prev: pxechain_module, Up: Modules
|
||
|
||
16.237 raid5rec
|
||
===============
|
||
|
||
This module provides support for recovering from faulty RAID4/5 disk
|
||
arrays
|
||
|
||
|
||
File: VasEBoot.info, Node: raid6rec_module, Next: random_module, Prev: raid5rec_module, Up: Modules
|
||
|
||
16.238 raid6rec
|
||
===============
|
||
|
||
This module provides support for recovering from faulty RAID6 disk
|
||
arrays.
|
||
|
||
|
||
File: VasEBoot.info, Node: random_module, Next: rdmsr_module, Prev: raid6rec_module, Up: Modules
|
||
|
||
16.239 random
|
||
=============
|
||
|
||
This module provides support for library functions to get random data
|
||
via the hardware ACPI Power Management Timer and the TSC time source
|
||
(Timestamp Counter).
|
||
|
||
|
||
File: VasEBoot.info, Node: rdmsr_module, Next: read_module, Prev: random_module, Up: Modules
|
||
|
||
16.240 rdmsr
|
||
============
|
||
|
||
This module provides support for the 'rdmsr' command to read CPU Model
|
||
Specific Registers. *Note rdmsr:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: read_module, Next: reboot_module, Prev: rdmsr_module, Up: Modules
|
||
|
||
16.241 read
|
||
===========
|
||
|
||
This module provides support for the 'read' command for getting user
|
||
input. *Note read:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: reboot_module, Next: regexp_module, Prev: read_module, Up: Modules
|
||
|
||
16.242 reboot
|
||
=============
|
||
|
||
This module provides support for the 'reboot' command to reboot the
|
||
computer. *Note reboot:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: regexp_module, Next: reiserfs_module, Prev: reboot_module, Up: Modules
|
||
|
||
16.243 regexp
|
||
=============
|
||
|
||
This module provides support for the 'regexp' command to check if a
|
||
regular expression matches a string. This module also provides support
|
||
for the VAS_EBOOT script wildcard translator. *Note regexp:: for more
|
||
information.
|
||
|
||
|
||
File: VasEBoot.info, Node: reiserfs_module, Next: relocator_module, Prev: regexp_module, Up: Modules
|
||
|
||
16.244 reiserfs
|
||
===============
|
||
|
||
This module provides support for the ReiserFS File System in VAS_EBOOT. Note:
|
||
This module is not allowed in lockdown mode, *note Lockdown:: for more
|
||
information.
|
||
|
||
|
||
File: VasEBoot.info, Node: relocator_module, Next: romfs_module, Prev: reiserfs_module, Up: Modules
|
||
|
||
16.245 relocator
|
||
================
|
||
|
||
This module provides support for relocating the image / executable being
|
||
loaded to the expected memory location(s) and jumping to (invoking) the
|
||
executable.
|
||
|
||
|
||
File: VasEBoot.info, Node: romfs_module, Next: rsa_sexp_test_module, Prev: relocator_module, Up: Modules
|
||
|
||
16.246 romfs
|
||
============
|
||
|
||
This module provides support for the Read-Only Memory File System
|
||
(ROMFS). Note: This module is not allowed in lockdown mode, *note
|
||
Lockdown:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: rsa_sexp_test_module, Next: scsi_module, Prev: romfs_module, Up: Modules
|
||
|
||
16.247 rsa_sexp_test
|
||
====================
|
||
|
||
This module provides a test of the libgcrypt RSA functionality in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: scsi_module, Next: sdl_module, Prev: rsa_sexp_test_module, Up: Modules
|
||
|
||
16.248 scsi
|
||
===========
|
||
|
||
This module provides support for the Small Computer System Interface
|
||
(SCSI) protocol used for some types of disk communication include some
|
||
modern ones such as USB Mass Storage Devices supporting "USB Attached
|
||
SCSI" (UAS).
|
||
|
||
|
||
File: VasEBoot.info, Node: sdl_module, Next: search_module, Prev: scsi_module, Up: Modules
|
||
|
||
16.249 sdl
|
||
==========
|
||
|
||
This module provides support for Simple DirectMedia Layer (SDL) video /
|
||
image output from the VasEBoot-emu tool used to preview the VAS_EBOOT menu from a
|
||
running Operating System such as Linux (useful to test VAS_EBOOT menu
|
||
configuration changes without rebooting). When available in the
|
||
compilation target environment, SDL2 will be used instead of SDL1.
|
||
|
||
|
||
File: VasEBoot.info, Node: search_module, Next: search_fs_file_module, Prev: sdl_module, Up: Modules
|
||
|
||
16.250 search
|
||
=============
|
||
|
||
This module provides support for the 'search' command to search devices
|
||
by file, filesystem label, or filesystem UUID. *Note search:: for more
|
||
information.
|
||
|
||
|
||
File: VasEBoot.info, Node: search_fs_file_module, Next: search_fs_uuid_module, Prev: search_module, Up: Modules
|
||
|
||
16.251 search_fs_file
|
||
=====================
|
||
|
||
This module provides support for the 'search.file' command which is an
|
||
alias for the corresponding 'search' command. *Note search:: for more
|
||
information.
|
||
|
||
|
||
File: VasEBoot.info, Node: search_fs_uuid_module, Next: search_label_module, Prev: search_fs_file_module, Up: Modules
|
||
|
||
16.252 search_fs_uuid
|
||
=====================
|
||
|
||
This module provides support for the 'search.fs_uuid' command which is
|
||
an alias for the corresponding 'search' command. *Note search:: for
|
||
more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: search_label_module, Next: sendkey_module, Prev: search_fs_uuid_module, Up: Modules
|
||
|
||
16.253 search_label
|
||
===================
|
||
|
||
This module provides support for the 'search.fs_label' command which is
|
||
an alias for the corresponding 'search' command. *Note search:: for
|
||
more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: sendkey_module, Next: serial_module, Prev: search_label_module, Up: Modules
|
||
|
||
16.254 sendkey
|
||
==============
|
||
|
||
This module provides support for the 'sendkey' command to send emulated
|
||
keystrokes. *Note sendkey:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: serial_module, Next: setjmp_module, Prev: sendkey_module, Up: Modules
|
||
|
||
16.255 serial
|
||
=============
|
||
|
||
This module provides support for the 'serial' command and associated
|
||
driver support for communication over a serial interface from VAS_EBOOT.
|
||
*Note serial:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: setjmp_module, Next: setjmp_test_module, Prev: serial_module, Up: Modules
|
||
|
||
16.256 setjmp
|
||
=============
|
||
|
||
This module provides support for the 'setjmp' and 'longjmp' functions
|
||
used within VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: setjmp_test_module, Next: setpci_module, Prev: setjmp_module, Up: Modules
|
||
|
||
16.257 setjmp_test
|
||
==================
|
||
|
||
This module is intended for performing a functional test of the 'setjmp'
|
||
and 'longjmp' functions in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: setpci_module, Next: sfs_module, Prev: setjmp_test_module, Up: Modules
|
||
|
||
16.258 setpci
|
||
=============
|
||
|
||
This module provides support for the 'setpci' command to get / set
|
||
values from / to specified PCI / PCIe devices.
|
||
|
||
|
||
File: VasEBoot.info, Node: sfs_module, Next: shift_test_module, Prev: setpci_module, Up: Modules
|
||
|
||
16.259 sfs
|
||
==========
|
||
|
||
This module provides support for the Amiga Smart File System (SFS) in
|
||
VAS_EBOOT. Note: This module is not allowed in lockdown mode, *note
|
||
Lockdown:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: shift_test_module, Next: signature_test_module, Prev: sfs_module, Up: Modules
|
||
|
||
16.260 shift_test
|
||
=================
|
||
|
||
This module is intended for performing a functional test of the bit-wise
|
||
shift operations in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: signature_test_module, Next: sleep_module, Prev: shift_test_module, Up: Modules
|
||
|
||
16.261 signature_test
|
||
=====================
|
||
|
||
This module is intended for performing a functional test of the digital
|
||
signature verification functions in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: sleep_module, Next: sleep_test_module, Prev: signature_test_module, Up: Modules
|
||
|
||
16.262 sleep
|
||
============
|
||
|
||
This module provides support for the 'sleep' command to wait a specified
|
||
number of seconds in VAS_EBOOT. *Note sleep:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: sleep_test_module, Next: smbios_module, Prev: sleep_module, Up: Modules
|
||
|
||
16.263 sleep_test
|
||
=================
|
||
|
||
This module is intended for performing a functional test of the sleep
|
||
function in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: smbios_module, Next: spkmodem_module, Prev: sleep_test_module, Up: Modules
|
||
|
||
16.264 smbios
|
||
=============
|
||
|
||
This module provides support for the 'smbios' command to retrieve SMBIOS
|
||
information in VAS_EBOOT. *Note smbios:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: spkmodem_module, Next: squash4_module, Prev: smbios_module, Up: Modules
|
||
|
||
16.265 spkmodem
|
||
===============
|
||
|
||
This module provides support for outputting VAS_EBOOT console information
|
||
over an audio output. This output can be fed into another computer's
|
||
sound input and decoded using the 'spkmodem_recv' utility. Note that
|
||
this will slow down VAS_EBOOT's performance.
|
||
|
||
|
||
File: VasEBoot.info, Node: squash4_module, Next: strtoull_test_module, Prev: spkmodem_module, Up: Modules
|
||
|
||
16.266 squash4
|
||
==============
|
||
|
||
This module provides support for the SquashFS compressed read-only file
|
||
system in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: strtoull_test_module, Next: suspend_module, Prev: squash4_module, Up: Modules
|
||
|
||
16.267 strtoull_test
|
||
====================
|
||
|
||
This module is intended for performing a functional test of the strtoull
|
||
function in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: suspend_module, Next: syslinuxcfg_module, Prev: strtoull_test_module, Up: Modules
|
||
|
||
16.268 suspend
|
||
==============
|
||
|
||
This module provides support for the 'suspend' command in VAS_EBOOT to return
|
||
to IEEE1275 prompt on "Open Firmware" systems.
|
||
|
||
|
||
File: VasEBoot.info, Node: syslinuxcfg_module, Next: tar_module, Prev: suspend_module, Up: Modules
|
||
|
||
16.269 syslinuxcfg
|
||
==================
|
||
|
||
This module provides support for commands 'syslinux_source',
|
||
'syslinux_configfile', 'extract_syslinux_entries_source', and
|
||
'extract_syslinux_entries_configfile' in VAS_EBOOT. These commands can be
|
||
used to parse and display VAS_EBOOT menu entries based on a Syslinux based
|
||
configuration (used for SYSLINUX, ISOLINUX, and PXELINUX). It can also
|
||
be used to execute the Syslinux loader from VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: tar_module, Next: terminal_module, Prev: syslinuxcfg_module, Up: Modules
|
||
|
||
16.270 tar
|
||
==========
|
||
|
||
This module provides support for the GNU Tar and POSIX Tar file archives
|
||
as a file system in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: terminal_module, Next: terminfo_module, Prev: tar_module, Up: Modules
|
||
|
||
16.271 terminal
|
||
===============
|
||
|
||
This module provides support for the commands 'terminal_input' and
|
||
'terminal_output' in VAS_EBOOT. *Note terminal_input:: and *note
|
||
terminal_output:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: terminfo_module, Next: test_module, Prev: terminal_module, Up: Modules
|
||
|
||
16.272 terminfo
|
||
===============
|
||
|
||
This module provides support for the 'terminfo' command in VAS_EBOOT to set
|
||
various terminal modes / options. *Note terminfo:: for more
|
||
information.
|
||
|
||
|
||
File: VasEBoot.info, Node: test_module, Next: test_blockarg_module, Prev: terminfo_module, Up: Modules
|
||
|
||
16.273 test
|
||
===========
|
||
|
||
This module provides support for the commands 'test' and '['. These
|
||
commands can be used to evaluate (test) an expression. *Note test:: for
|
||
more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: test_blockarg_module, Next: testload_module, Prev: test_module, Up: Modules
|
||
|
||
16.274 test_blockarg
|
||
====================
|
||
|
||
This module is intended for performing a functional test of the "block"
|
||
command argument function in VAS_EBOOT internal functions via a test command
|
||
'test_blockarg'.
|
||
|
||
|
||
File: VasEBoot.info, Node: testload_module, Next: testspeed_module, Prev: test_blockarg_module, Up: Modules
|
||
|
||
16.275 testload
|
||
===============
|
||
|
||
This module is intended for performing a functional test of some file
|
||
reading / seeking functions in VAS_EBOOT internals via a test command
|
||
'testload'.
|
||
|
||
|
||
File: VasEBoot.info, Node: testspeed_module, Next: tftp_module, Prev: testload_module, Up: Modules
|
||
|
||
16.276 testspeed
|
||
================
|
||
|
||
This module provides support for the 'testspeed' command to test and
|
||
print file read speed of a specified file.
|
||
|
||
|
||
File: VasEBoot.info, Node: tftp_module, Next: tga_module, Prev: testspeed_module, Up: Modules
|
||
|
||
16.277 tftp
|
||
===========
|
||
|
||
This module provides support for the Trivial File Transfer Protocol
|
||
(TFTP) for receiving files via the network to VAS_EBOOT. TFTP may be used
|
||
along with PXE for network booting for example.
|
||
|
||
|
||
File: VasEBoot.info, Node: tga_module, Next: time_module, Prev: tftp_module, Up: Modules
|
||
|
||
16.278 tga
|
||
==========
|
||
|
||
This module provides support for reading Truevision Graphics Adapter
|
||
(TGA) image files in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: time_module, Next: tpm_module, Prev: tga_module, Up: Modules
|
||
|
||
16.279 time
|
||
===========
|
||
|
||
This module provides support for the 'time' command to measure the time
|
||
taken by a given command and output it to the terminal.
|
||
|
||
|
||
File: VasEBoot.info, Node: tpm_module, Next: tr_module, Prev: time_module, Up: Modules
|
||
|
||
16.280 tpm
|
||
==========
|
||
|
||
This module provides support for interacting with a Trusted Platform
|
||
Module (TPM) with VAS_EBOOT to perform Measured Boot. *Note Measured Boot::
|
||
for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: tr_module, Next: trig_module, Prev: tpm_module, Up: Modules
|
||
|
||
16.281 tr
|
||
=========
|
||
|
||
This module provides support for the 'tr' command in VAS_EBOOT. This can be
|
||
used to translate characters in a string according to the provided
|
||
arguments. For example this can be used to convert upper-case to
|
||
lower-case and visa-versa.
|
||
|
||
|
||
File: VasEBoot.info, Node: trig_module, Next: true_module, Prev: tr_module, Up: Modules
|
||
|
||
16.282 trig
|
||
===========
|
||
|
||
This module provides support for internal trig functions 'VasEBoot_cos' and
|
||
'VasEBoot_sin' using lookup based computation. Currently these trig
|
||
functions are used by the gfxmenu circular progress bar.
|
||
|
||
|
||
File: VasEBoot.info, Node: true_module, Next: truecrypt_module, Prev: trig_module, Up: Modules
|
||
|
||
16.283 true
|
||
===========
|
||
|
||
This module provides support for the commands 'true' and 'false'. *Note
|
||
true:: and *note false:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: truecrypt_module, Next: ubootnet_module, Prev: true_module, Up: Modules
|
||
|
||
16.284 truecrypt
|
||
================
|
||
|
||
This module provides support for the 'truecrypt' command. This can be
|
||
used to load a Truecrypt ISO image.
|
||
|
||
|
||
File: VasEBoot.info, Node: ubootnet_module, Next: udf_module, Prev: truecrypt_module, Up: Modules
|
||
|
||
16.285 ubootnet
|
||
===============
|
||
|
||
This module provides support for configuring network interfaces in VAS_EBOOT
|
||
using information provided by a U-Boot bootloader.
|
||
|
||
|
||
File: VasEBoot.info, Node: udf_module, Next: ufs1_module, Prev: ubootnet_module, Up: Modules
|
||
|
||
16.286 udf
|
||
==========
|
||
|
||
This module provides support for the Universal Disk Format (UDF) used on
|
||
some newer optical disks. Note: This module is not allowed in lockdown
|
||
mode, *note Lockdown:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: ufs1_module, Next: ufs1_be_module, Prev: udf_module, Up: Modules
|
||
|
||
16.287 ufs1
|
||
===========
|
||
|
||
This module provides support for the Unix File System version 1 in VAS_EBOOT.
|
||
Note: This module is not allowed in lockdown mode, *note Lockdown:: for
|
||
more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: ufs1_be_module, Next: ufs2_module, Prev: ufs1_module, Up: Modules
|
||
|
||
16.288 ufs1_be
|
||
==============
|
||
|
||
This module provides support for the Unix File System version 1
|
||
(big-endian) in VAS_EBOOT. Note: This module is not allowed in lockdown mode,
|
||
*note Lockdown:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: ufs2_module, Next: uhci_module, Prev: ufs1_be_module, Up: Modules
|
||
|
||
16.289 ufs2
|
||
===========
|
||
|
||
This module provides support for the Unix File System version 2 in VAS_EBOOT.
|
||
Note: This module is not allowed in lockdown mode, *note Lockdown:: for
|
||
more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: uhci_module, Next: usb_module, Prev: ufs2_module, Up: Modules
|
||
|
||
16.290 uhci
|
||
===========
|
||
|
||
This module provides support for the Universal Host Controller Interface
|
||
(UHCI) for USB 1.x.
|
||
|
||
|
||
File: VasEBoot.info, Node: usb_module, Next: usb_keyboard_module, Prev: uhci_module, Up: Modules
|
||
|
||
16.291 usb
|
||
==========
|
||
|
||
This module provides support for USB interfaces, USB hubs, and USB
|
||
transfers in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: usb_keyboard_module, Next: usbms_module, Prev: usb_module, Up: Modules
|
||
|
||
16.292 usb_keyboard
|
||
===================
|
||
|
||
This module provides support for a USB keyboard in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: usbms_module, Next: usbserial_common_module, Prev: usb_keyboard_module, Up: Modules
|
||
|
||
16.293 usbms
|
||
============
|
||
|
||
This module provides support for USB Mass Storage devices in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: usbserial_common_module, Next: usbserial_ftdi_module, Prev: usbms_module, Up: Modules
|
||
|
||
16.294 usbserial_common
|
||
=======================
|
||
|
||
This module provides support for common operations needed to support USB
|
||
Serial port adapters in VAS_EBOOT (to support a model / type specific USB to
|
||
serial adapter defined in another module).
|
||
|
||
|
||
File: VasEBoot.info, Node: usbserial_ftdi_module, Next: usbserial_pl2303_module, Prev: usbserial_common_module, Up: Modules
|
||
|
||
16.295 usbserial_ftdi
|
||
=====================
|
||
|
||
This module provides support for USB to serial adapters with vendor ID
|
||
0x0403 and product ID 0x6001 (often associated with FTDI devices).
|
||
|
||
|
||
File: VasEBoot.info, Node: usbserial_pl2303_module, Next: usbserial_usbdebug_module, Prev: usbserial_ftdi_module, Up: Modules
|
||
|
||
16.296 usbserial_pl2303
|
||
=======================
|
||
|
||
This module provides support for USB to serial adapters with vendor ID
|
||
0x067b and product ID 0x2303 (PL2303 USB to Serial adapter).
|
||
|
||
|
||
File: VasEBoot.info, Node: usbserial_usbdebug_module, Next: usbtest_module, Prev: usbserial_pl2303_module, Up: Modules
|
||
|
||
16.297 usbserial_usbdebug
|
||
=========================
|
||
|
||
This module provides support for debugging VAS_EBOOT via a "USB 2.0 Debug
|
||
Cable". The USB 2.0 specification includes a "USB2 Debug Device
|
||
Functional Specification" that this driver is intended to support for
|
||
VAS_EBOOT. This may integrate with GDB server function in VAS_EBOOT (*note
|
||
gdb_module::).
|
||
|
||
|
||
File: VasEBoot.info, Node: usbtest_module, Next: vbe_module, Prev: usbserial_usbdebug_module, Up: Modules
|
||
|
||
16.298 usbtest
|
||
==============
|
||
|
||
This module provides support for the 'usb' command in VAS_EBOOT to test USB
|
||
functionality by iterating through all connected USB devices and
|
||
printing information for each to the terminal.
|
||
|
||
|
||
File: VasEBoot.info, Node: vbe_module, Next: verifiers_module, Prev: usbtest_module, Up: Modules
|
||
|
||
16.299 vbe
|
||
==========
|
||
|
||
This module provides support for the VESA BIOS Extension (VBE) Video
|
||
Driver in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: verifiers_module, Next: vga_module, Prev: vbe_module, Up: Modules
|
||
|
||
16.300 verifiers
|
||
================
|
||
|
||
This module is a built-in kernel module to provide a framework for VAS_EBOOT
|
||
file verifiers and string verifiers.
|
||
|
||
|
||
File: VasEBoot.info, Node: vga_module, Next: vga_text_module, Prev: verifiers_module, Up: Modules
|
||
|
||
16.301 vga
|
||
==========
|
||
|
||
This module provides support for the Video Graphics Array (VGA) Video
|
||
Driver in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: vga_text_module, Next: video_module, Prev: vga_module, Up: Modules
|
||
|
||
16.302 vga_text
|
||
===============
|
||
|
||
This module provides support for the Video Graphics Array (VGA) terminal
|
||
output device.
|
||
|
||
|
||
File: VasEBoot.info, Node: video_module, Next: video_bochs_module, Prev: vga_text_module, Up: Modules
|
||
|
||
16.303 video
|
||
============
|
||
|
||
This module provides support for video output support functions within
|
||
VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: video_bochs_module, Next: video_cirrus_module, Prev: video_module, Up: Modules
|
||
|
||
16.304 video_bochs
|
||
==================
|
||
|
||
This module provides support for the Bochs PCI Video Driver (also known
|
||
as Bochs Graphics Adapter / BGA) in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: video_cirrus_module, Next: video_colors_module, Prev: video_bochs_module, Up: Modules
|
||
|
||
16.305 video_cirrus
|
||
===================
|
||
|
||
This module provides support for the Cirrus CLGD 5446 PCI Video Driver
|
||
(Cirrus Video) in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: video_colors_module, Next: video_fb_module, Prev: video_cirrus_module, Up: Modules
|
||
|
||
16.306 video_colors
|
||
===================
|
||
|
||
This module provides support for interpreting named colors and parsing
|
||
RBG hexadecimal values.
|
||
|
||
|
||
File: VasEBoot.info, Node: video_fb_module, Next: videoinfo_module, Prev: video_colors_module, Up: Modules
|
||
|
||
16.307 video_fb
|
||
===============
|
||
|
||
This module provides support for video frame buffer (FB) support in
|
||
VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: videoinfo_module, Next: videotest_module, Prev: video_fb_module, Up: Modules
|
||
|
||
16.308 videoinfo
|
||
================
|
||
|
||
This module provides support for the 'videoinfo' command and (depending
|
||
on architecture) the 'vbeinfo' command. *Note videoinfo:: for more
|
||
information.
|
||
|
||
|
||
File: VasEBoot.info, Node: videotest_module, Next: videotest_checksum_module, Prev: videoinfo_module, Up: Modules
|
||
|
||
16.309 videotest
|
||
================
|
||
|
||
This module provides support for the 'videotest' command and (depending
|
||
on architecture) the 'vbetest' to test the video subsystem in the
|
||
specified width and height.
|
||
|
||
|
||
File: VasEBoot.info, Node: videotest_checksum_module, Next: wrmsr_module, Prev: videotest_module, Up: Modules
|
||
|
||
16.310 videotest_checksum
|
||
=========================
|
||
|
||
This module is intended for performing a functional test of the video
|
||
functions in VAS_EBOOT by displaying a test image and capturing a checksum.
|
||
|
||
|
||
File: VasEBoot.info, Node: wrmsr_module, Next: xen_boot_module, Prev: videotest_checksum_module, Up: Modules
|
||
|
||
16.311 wrmsr
|
||
============
|
||
|
||
This module provides support for the 'wrmsr' command to write to CPU
|
||
model-specific registers. *Note wrmsr:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: xen_boot_module, Next: xfs_module, Prev: wrmsr_module, Up: Modules
|
||
|
||
16.312 xen_boot
|
||
===============
|
||
|
||
This module provides support for the commands 'xen_hypervisor' and
|
||
'xen_module' to load a XEN hypervisor and module respectively.
|
||
|
||
|
||
File: VasEBoot.info, Node: xfs_module, Next: xnu_module, Prev: xen_boot_module, Up: Modules
|
||
|
||
16.313 xfs
|
||
==========
|
||
|
||
This module provides support for the XFS file system in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: xnu_module, Next: xnu_uuid_module, Prev: xfs_module, Up: Modules
|
||
|
||
16.314 xnu
|
||
==========
|
||
|
||
This module provides support for the commands: 'xnu_devprop_load',
|
||
'xnu_kernel', 'xnu_kernel64', 'xnu_mkext', 'xnu_kext', 'xnu_kextdir',
|
||
'xnu_ramdisk', 'xnu_splash', and 'xnu_resume' (only for emulated
|
||
machine). These commands support loading and interacting with a XNU
|
||
(MacOS / Apple) based system / kernel.
|
||
|
||
|
||
File: VasEBoot.info, Node: xnu_uuid_module, Next: xnu_uuid_test_module, Prev: xnu_module, Up: Modules
|
||
|
||
16.315 xnu_uuid
|
||
===============
|
||
|
||
This module provides support for the 'xnu_uuid' command to transform a
|
||
64-bit UUID to a format suitable for XNU.
|
||
|
||
|
||
File: VasEBoot.info, Node: xnu_uuid_test_module, Next: xzio_module, Prev: xnu_uuid_module, Up: Modules
|
||
|
||
16.316 xnu_uuid_test
|
||
====================
|
||
|
||
This module is intended for performing a functional test of the XNU UUID
|
||
conversion function.
|
||
|
||
|
||
File: VasEBoot.info, Node: xzio_module, Next: zfs_module, Prev: xnu_uuid_test_module, Up: Modules
|
||
|
||
16.317 xzio
|
||
===========
|
||
|
||
This module provides support for decompression of XZ compressed data.
|
||
|
||
|
||
File: VasEBoot.info, Node: zfs_module, Next: zfscrypt_module, Prev: xzio_module, Up: Modules
|
||
|
||
16.318 zfs
|
||
==========
|
||
|
||
This module provides support for the ZFS file system in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: zfscrypt_module, Next: zfsinfo_module, Prev: zfs_module, Up: Modules
|
||
|
||
16.319 zfscrypt
|
||
===============
|
||
|
||
This module provides support for the 'zfskey' to import a decryption key
|
||
as well as decryption support for encrypted ZFS file systems.
|
||
|
||
|
||
File: VasEBoot.info, Node: zfsinfo_module, Next: zstd_module, Prev: zfscrypt_module, Up: Modules
|
||
|
||
16.320 zfsinfo
|
||
==============
|
||
|
||
This module provides support for the commands 'zfsinfo' to output ZFS
|
||
info about a device and 'zfs-bootfs' to output ZFS-BOOTFSOBJ or store it
|
||
into a variable.
|
||
|
||
|
||
File: VasEBoot.info, Node: zstd_module, Prev: zfsinfo_module, Up: Modules
|
||
|
||
16.321 zstd
|
||
===========
|
||
|
||
This module provides support for the Zstandard (zstd) decompression
|
||
algorithm in VAS_EBOOT.
|
||
|
||
|
||
File: VasEBoot.info, Node: Commands, Next: Internationalisation, Prev: Modules, Up: Top
|
||
|
||
17 Available commands
|
||
*********************
|
||
|
||
In this chapter, we list all commands that are available in VAS_EBOOT.
|
||
|
||
Commands belong to different groups. A few can only be used in the
|
||
global section of the configuration file (or "menu"); most of them can
|
||
be entered on the command-line and can be used either anywhere in the
|
||
menu or specifically in the menu entries.
|
||
|
||
In rescue mode, only the 'insmod' (*note insmod::), 'ls' (*note
|
||
ls::), 'set' (*note set::), and 'unset' (*note unset::) commands are
|
||
normally available. If you end up in rescue mode and do not know what
|
||
to do, then *note VAS_EBOOT only offers a rescue shell::.
|
||
|
||
* Menu:
|
||
|
||
* Menu-specific commands::
|
||
* Loader commands::
|
||
* General commands::
|
||
* Command-line commands::
|
||
* Networking commands::
|
||
* Undocumented commands::
|
||
|
||
|
||
File: VasEBoot.info, Node: Menu-specific commands, Next: Loader commands, Up: Commands
|
||
|
||
17.1 Commands for the menu only
|
||
===============================
|
||
|
||
The semantics used in parsing the configuration file are the following:
|
||
|
||
* The files _must_ be in plain-text format.
|
||
|
||
* '#' at the beginning of a line in a configuration file means it is
|
||
only a comment.
|
||
|
||
* Options are separated by spaces.
|
||
|
||
* All numbers can be either decimal or hexadecimal. A hexadecimal
|
||
number must be preceded by '0x', and is case-insensitive.
|
||
|
||
These commands can only be used in the menu:
|
||
|
||
* Menu:
|
||
|
||
* menuentry:: Start a menu entry
|
||
* submenu:: Group menu entries
|
||
|
||
|
||
File: VasEBoot.info, Node: menuentry, Next: submenu, Up: Menu-specific commands
|
||
|
||
17.1.1 menuentry
|
||
----------------
|
||
|
||
-- Command: menuentry TITLE [--class=class ...] [--users=users]
|
||
[--unrestricted] [--hotkey=key] [--id=id] [ARG ...] { COMMAND;
|
||
... }
|
||
This defines a VAS_EBOOT menu entry named TITLE. When this entry is
|
||
selected from the menu, VAS_EBOOT will set the CHOSEN environment
|
||
variable to value of '--id' if '--id' is given, execute the list of
|
||
commands given within braces, and if the last command in the list
|
||
returned successfully and a kernel was loaded it will execute the
|
||
'boot' command.
|
||
|
||
The '--class' option may be used any number of times to group menu
|
||
entries into classes. Menu themes may display different classes
|
||
using different styles.
|
||
|
||
The '--users' option grants specific users access to specific menu
|
||
entries. *Note Security::.
|
||
|
||
The '--unrestricted' option grants all users access to specific
|
||
menu entries. *Note Security::.
|
||
|
||
The '--hotkey' option associates a hotkey with a menu entry. KEY
|
||
may be a single letter, or one of the aliases 'backspace', 'tab',
|
||
or 'delete'.
|
||
|
||
The '--id' may be used to associate unique identifier with a menu
|
||
entry. ID is string of ASCII aphanumeric characters, underscore
|
||
and hyphen and should not start with a digit.
|
||
|
||
All other arguments including TITLE are passed as positional
|
||
parameters when list of commands is executed with TITLE always
|
||
assigned to '$1'.
|
||
|
||
|
||
File: VasEBoot.info, Node: submenu, Prev: menuentry, Up: Menu-specific commands
|
||
|
||
17.1.2 submenu
|
||
--------------
|
||
|
||
-- Command: submenu TITLE [--class=class ...] [--users=users]
|
||
[--unrestricted] [--hotkey=key] [--id=id] { MENU ENTRIES ... }
|
||
This defines a submenu. An entry called TITLE will be added to the
|
||
menu; when that entry is selected, a new menu will be displayed
|
||
showing all the entries within this submenu.
|
||
|
||
All options are the same as in the 'menuentry' command (*note
|
||
menuentry::).
|
||
|
||
|
||
File: VasEBoot.info, Node: Loader commands, Next: General commands, Prev: Menu-specific commands, Up: Commands
|
||
|
||
17.2 Various loader commands
|
||
============================
|
||
|
||
These commands are used to load necessary components to boot desired OS.
|
||
Many of the loader commands are not sufficiently documented. The
|
||
following is a list of commands that could use more documentation:
|
||
|
||
* 'appleloader' - Boot BIOS-based system.
|
||
* 'freedos' - Load FreeDOS kernel.sys.
|
||
* 'kfreebsd_loadenv' - Load FreeBSD env.
|
||
* 'kfreebsd_module_elf' - Load FreeBSD kernel module (ELF).
|
||
* 'kfreebsd_module' - Load FreeBSD kernel module.
|
||
* 'kfreebsd' - Load kernel of FreeBSD.
|
||
* 'knetbsd_module_elf' - Load NetBSD kernel module (ELF).
|
||
* 'knetbsd_module' - Load NetBSD kernel module.
|
||
* 'knetbsd' - Load kernel of NetBSD.
|
||
* 'kopenbsd' - Load kernel of OpenBSD.
|
||
* 'kopenbsd_ramdisk' - Load kOpenBSD ramdisk.
|
||
* 'legacy_initrd_nounzip' - Simulate VasEBoot-legacy 'modulenounzip'
|
||
command
|
||
* 'legacy_initrd' - Simulate VasEBoot-legacy 'initrd' command
|
||
* 'legacy_kernel' - Simulate VasEBoot-legacy 'kernel' command
|
||
* 'module2' - Load a multiboot 2 module.
|
||
* 'module' - Load a multiboot module.
|
||
* 'multiboot2' - Load a multiboot 2 kernel.
|
||
* 'multiboot' - Load a multiboot kernel.
|
||
* 'ntldr' - Load NTLDR or BootMGR.
|
||
* 'plan9' - Load Plan9 kernel.
|
||
* 'pxechainloader' - Load a PXE image.
|
||
* 'truecrypt' - Load Truecrypt ISO.
|
||
* 'xnu_kernel64' - Load 64-bit XNU image.
|
||
* 'xnu_kernel' - Load XNU image.
|
||
* 'xnu_kextdir' - Load XNU extension directory.
|
||
* 'xnu_kext' - Load XNU extension.
|
||
* 'xnu_mkext' - Load XNU extension package.
|
||
* 'xnu_ramdisk' - Load XNU ramdisk. It will be available in OS as
|
||
md0.
|
||
* 'xnu_resume' - Load an image of hibernated XNU.
|
||
* 'xnu_splash' - Load a splash image for XNU.
|
||
|
||
* Menu:
|
||
|
||
* chainloader:: Chain-load another boot loader
|
||
* initrd:: Load a Linux initrd
|
||
* initrd16:: Load a Linux initrd (16-bit mode)
|
||
* linux:: Load a Linux kernel
|
||
* linux16:: Load a Linux kernel (16-bit mode)
|
||
* xen_hypervisor:: Load xen hypervisor binary (only on AArch64)
|
||
* xen_module:: Load xen modules for xen hypervisor (only on AArch64)
|
||
|
||
|
||
File: VasEBoot.info, Node: chainloader, Next: initrd, Up: Loader commands
|
||
|
||
17.2.1 chainloader
|
||
------------------
|
||
|
||
-- Command: chainloader [--force] file [args...]
|
||
Load FILE as a chain-loader. Like any other file loaded by the
|
||
filesystem code, it can use the blocklist notation (*note Block
|
||
list syntax::) to grab the first sector of the current partition
|
||
with '+1'. On EFI platforms, any arguments after FILE will be sent
|
||
to the loaded image.
|
||
|
||
If you specify the option '--force', then load FILE forcibly,
|
||
whether it has a correct signature or not. This is required when
|
||
you want to load a defective boot loader, such as SCO UnixWare 7.1.
|
||
|
||
|
||
File: VasEBoot.info, Node: initrd, Next: initrd16, Prev: chainloader, Up: Loader commands
|
||
|
||
17.2.2 initrd
|
||
-------------
|
||
|
||
-- Command: initrd file [file ...]
|
||
Load, in order, all initrds for a Linux kernel image, and set the
|
||
appropriate parameters in the Linux setup area in memory. This may
|
||
only be used after the 'linux' command (*note linux::) has been
|
||
run. See *note GNU/Linux:: for more info on booting GNU/Linux.
|
||
For more information on initrds see the GNU/Linux kernel
|
||
documentation
|
||
(https://docs.kernel.org/filesystems/ramfs-rootfs-initramfs.html).
|
||
|
||
A new-style initrd (for kernels newer than 2.6) containing one file
|
||
with leading path components can also be generated at run time.
|
||
This can be done by prefixing an argument with 'newc:' followed by
|
||
the path of the file in the new initrd, a ':', and then the VAS_EBOOT
|
||
file path to the file data to be be included.
|
||
|
||
For example:
|
||
initrd newc:/etc/ssh/config:(hd0,2)/home/user/.ssh/config \
|
||
newc:/etc/ssh/ssh_host_rsa_key:/etc/ssh/ssh_host_rsa_key \
|
||
/boot/initrd.gz \
|
||
newc:/init:/home/user/init.fixed
|
||
|
||
This command will generate two new-style initrds on the fly. The
|
||
first contains the path '/etc/ssh/config' with the contents of
|
||
'(hd0,2)/home/user/.ssh/config' and the path
|
||
'/etc/ssh/ssh_host_rsa_key' with the contents of
|
||
'/etc/ssh/ssh_host_rsa_key' on the ROOT device. Parent directory
|
||
paths will automatically be generated as needed. This first
|
||
generated initrd will then have '/boot/initrd.gz' concatenated
|
||
after it. Next, another new-style archive will be generated with
|
||
the contents of '/home/user/init.fixed' in the path '/init' and
|
||
appended to the previous concatenation. Finally, the result will
|
||
be sent to the kernel when booted.
|
||
|
||
Keep in mind that paths that come later will take precedence. So
|
||
in the example above, the generated path '/init' will overwrite any
|
||
'/init' in '/boot/initrd.gz'. This can be useful when changing the
|
||
main initrd is undesirable or difficult.
|
||
|
||
|
||
File: VasEBoot.info, Node: initrd16, Next: linux, Prev: initrd, Up: Loader commands
|
||
|
||
17.2.3 initrd16
|
||
---------------
|
||
|
||
-- Command: initrd16 file [file ...]
|
||
Load, in order, all initrds for a Linux kernel image to be booted
|
||
in 16-bit mode, and set the appropriate parameters in the Linux
|
||
setup area in memory. This may only be used after the 'linux16'
|
||
command (*note linux16::) has been run. See also *note GNU/Linux::
|
||
and the 'initrd' command (*note initrd::) for more details on
|
||
arguments.
|
||
|
||
This command is only available on the pc platform for x86 systems.
|
||
|
||
|
||
File: VasEBoot.info, Node: linux, Next: linux16, Prev: initrd16, Up: Loader commands
|
||
|
||
17.2.4 linux
|
||
------------
|
||
|
||
-- Command: linux file ...
|
||
Load a Linux kernel image from FILE. The rest of the line is
|
||
passed verbatim as the "kernel command-line". Any initrd must be
|
||
reloaded after using this command (*note initrd::).
|
||
|
||
On x86 systems, the kernel will be booted using the 32-bit boot
|
||
protocol. Note that this means that the 'vga=' boot option will
|
||
not work; if you want to set a special video mode, you will need to
|
||
use VAS_EBOOT commands such as 'set gfxpayload=1024x768' or 'set
|
||
gfxpayload=keep' (to keep the same mode as used in VAS_EBOOT) instead.
|
||
VAS_EBOOT can automatically detect some uses of 'vga=' and translate
|
||
them to appropriate settings of 'gfxpayload'. The 'linux16'
|
||
command (*note linux16::) avoids this restriction.
|
||
|
||
|
||
File: VasEBoot.info, Node: linux16, Next: xen_hypervisor, Prev: linux, Up: Loader commands
|
||
|
||
17.2.5 linux16
|
||
--------------
|
||
|
||
-- Command: linux16 file ...
|
||
Load a Linux kernel image from FILE in 16-bit mode. The rest of
|
||
the line is passed verbatim as the "kernel command-line". Any
|
||
initrd must be reloaded after using this command (*note
|
||
initrd16::).
|
||
|
||
The kernel will be booted using the traditional 16-bit boot
|
||
protocol. As well as bypassing problems with 'vga=' described in
|
||
*note linux::, this permits booting some other programs that
|
||
implement the Linux boot protocol for the sake of convenience.
|
||
|
||
This command is only available on x86 systems.
|
||
|
||
|
||
File: VasEBoot.info, Node: xen_hypervisor, Next: xen_module, Prev: linux16, Up: Loader commands
|
||
|
||
17.2.6 xen_hypervisor
|
||
---------------------
|
||
|
||
-- Command: xen_hypervisor file [arguments] ...
|
||
Load a Xen hypervisor binary from FILE. The rest of the line is
|
||
passed verbatim as the "kernel command-line". Any other binaries
|
||
must be reloaded after using this command. This command is only
|
||
available on AArch64 systems.
|
||
|
||
|
||
File: VasEBoot.info, Node: xen_module, Prev: xen_hypervisor, Up: Loader commands
|
||
|
||
17.2.7 xen_module
|
||
-----------------
|
||
|
||
-- Command: xen_module [--nounzip] file [arguments]
|
||
Load a module for xen hypervisor at the booting process of xen.
|
||
The rest of the line is passed verbatim as the module command line.
|
||
Modules should be loaded in the following order: - dom0 kernel
|
||
image - dom0 ramdisk if present - XSM policy if present This
|
||
command is only available on AArch64 systems.
|
||
|
||
|
||
File: VasEBoot.info, Node: General commands, Next: Command-line commands, Prev: Loader commands, Up: Commands
|
||
|
||
17.3 General commands
|
||
=====================
|
||
|
||
Commands usable anywhere in the menu and in the command-line.
|
||
|
||
* Menu:
|
||
|
||
* serial:: Set up a serial device
|
||
* terminal_input:: Manage input terminals
|
||
* terminal_output:: Manage output terminals
|
||
* terminfo:: Define terminal type
|
||
|
||
|
||
File: VasEBoot.info, Node: serial, Next: terminal_input, Up: General commands
|
||
|
||
17.3.1 serial
|
||
-------------
|
||
|
||
-- Command: serial [--unit=unit] [--port=port] [--speed=speed]
|
||
[--word=word] [--parity=parity] [--stop=stop]
|
||
Initialize a serial device. UNIT is a number in the range 0-3
|
||
specifying which serial port to use; default is 0, which
|
||
corresponds to the port often called COM1.
|
||
|
||
PORT is the I/O port where the UART is to be found or, if prefixed
|
||
with 'mmio,', the MMIO address of the UART. If specified it takes
|
||
precedence over UNIT.
|
||
|
||
Additionally, an MMIO address can be suffixed with:
|
||
* '.b' for bytes access (default)
|
||
* '.w' for 16-bit word access
|
||
* '.l' for 32-bit long word access or
|
||
* '.q' for 64-bit long long word access
|
||
|
||
Also, PORT can be of the form 'pci,XX:XX.X' to indicate a serial
|
||
device exposed on the PCI bus.
|
||
|
||
SPEED is the transmission speed; default is 9600. WORD and STOP
|
||
are the number of data bits and stop bits. Data bits must be in
|
||
the range 5-8 and stop bits must be 1 or 2. Default is 8 data bits
|
||
and one stop bit. PARITY is one of 'no', 'odd', 'even' and
|
||
defaults to 'no'.
|
||
|
||
If passed no UNIT nor PORT, or if PORT is set to 'auto' then VAS_EBOOT
|
||
will attempt to use ACPI to automatically detect the system default
|
||
serial port and its configuration. If this information is not
|
||
available, it will default to UNIT 0.
|
||
|
||
The serial port is not used as a communication channel unless the
|
||
'terminal_input' or 'terminal_output' command is used (*note
|
||
terminal_input::, *note terminal_output::).
|
||
|
||
Note, valid PORT values, excluding IO port addresses, can be found
|
||
by listing terminals with 'terminal_output', selecting all names
|
||
prefixed by 'serial_' and removing that prefix.
|
||
|
||
Examples:
|
||
serial --port=0x3f8 --speed=9600
|
||
serial --port=mmio,fefb0000.l --speed=115200
|
||
serial --port=pci,00:16.3 --speed=115200
|
||
|
||
See also *note Serial terminal::.
|
||
|
||
|
||
File: VasEBoot.info, Node: terminal_input, Next: terminal_output, Prev: serial, Up: General commands
|
||
|
||
17.3.2 terminal_input
|
||
---------------------
|
||
|
||
-- Command: terminal_input [--append|--remove] [terminal1] [terminal2]
|
||
...
|
||
List or select an input terminal.
|
||
|
||
With no arguments, list the active and available input terminals.
|
||
|
||
With '--append', add the named terminals to the list of active
|
||
input terminals; any of these may be used to provide input to VAS_EBOOT.
|
||
|
||
With '--remove', remove the named terminals from the active list.
|
||
|
||
With no options but a list of terminal names, make only the listed
|
||
terminal names active.
|
||
|
||
|
||
File: VasEBoot.info, Node: terminal_output, Next: terminfo, Prev: terminal_input, Up: General commands
|
||
|
||
17.3.3 terminal_output
|
||
----------------------
|
||
|
||
-- Command: terminal_output [--append|--remove] [terminal1] [terminal2]
|
||
...
|
||
List or select an output terminal.
|
||
|
||
With no arguments, list the active and available output terminals.
|
||
|
||
With '--append', add the named terminals to the list of active
|
||
output terminals; all of these will receive output from VAS_EBOOT.
|
||
|
||
With '--remove', remove the named terminals from the active list.
|
||
|
||
With no options but a list of terminal names, make only the listed
|
||
terminal names active.
|
||
|
||
|
||
File: VasEBoot.info, Node: terminfo, Prev: terminal_output, Up: General commands
|
||
|
||
17.3.4 terminfo
|
||
---------------
|
||
|
||
-- Command: terminfo [-a|-u|-v] [-g WxH] [term] [type]
|
||
Define the capabilities of your terminal by giving the name of an
|
||
entry in the terminfo database, which should correspond roughly to
|
||
a 'TERM' environment variable in Unix.
|
||
|
||
The currently available terminal types are 'vt100', 'vt100-color',
|
||
'ieee1275', and 'dumb'. If you need other terminal types, please
|
||
contact us to discuss the best way to include support for these in
|
||
VAS_EBOOT.
|
||
|
||
The '-a' ('--ascii'), '-u' ('--utf8'), and '-v' ('--visual-utf8')
|
||
options control how non-ASCII text is displayed. '-a' specifies an
|
||
ASCII-only terminal; '-u' specifies logically-ordered UTF-8; and
|
||
'-v' specifies "visually-ordered UTF-8" (in other words, arranged
|
||
such that a terminal emulator without bidirectional text support
|
||
will display right-to-left text in the proper order; this is not
|
||
really proper UTF-8, but a workaround).
|
||
|
||
The '-g' ('--geometry') can be used to specify terminal geometry.
|
||
|
||
If no option or terminal type is specified, the current terminal
|
||
type is printed.
|
||
|
||
|
||
File: VasEBoot.info, Node: Command-line commands, Next: Networking commands, Prev: General commands, Up: Commands
|
||
|
||
17.4 Command-line commands
|
||
==========================
|
||
|
||
These commands are usable in the command-line and in menu entries. If
|
||
you forget a command, you can run the command 'help' (*note help::).
|
||
|
||
* Menu:
|
||
|
||
* [:: Check file types and compare values
|
||
* acpi:: Load ACPI tables
|
||
* append_add_db_cert:: Add trusted certificate to the db list
|
||
* append_add_db_hash:: Add trusted certificate/binary hash to the db list
|
||
* append_add_dbx_cert:: Add distrusted certificate to the dbx list
|
||
* append_add_dbx_hash:: Add distrusted certificate/binary hash to the dbx list
|
||
* append_list_db:: List all trusted certificates from the db list
|
||
* append_list_dbx:: List all distrusted certificates and binary/certificate hashes from the dbx list
|
||
* append_verify:: Verify appended digital signature using db and dbx lists
|
||
* authenticate:: Check whether user is in user list
|
||
* background_color:: Set background color for active terminal
|
||
* background_image:: Load background image for active terminal
|
||
* badram:: Filter out bad regions of RAM
|
||
* blocklist:: Print a block list
|
||
* blscfg:: Load Boot Loader Specification menu entries
|
||
* boot:: Start up your operating system
|
||
* cat:: Show the contents of a file
|
||
* clear:: Clear the screen
|
||
* cmosclean:: Clear bit in CMOS
|
||
* cmosdump:: Dump CMOS contents
|
||
* cmostest:: Test bit in CMOS
|
||
* cmp:: Compare two files
|
||
* configfile:: Load a configuration file
|
||
* cpuid:: Check for CPU features
|
||
* crc:: Compute or check CRC32 checksums
|
||
* cryptocheck:: Check if a device is encrypted
|
||
* cryptomount:: Mount a crypto device
|
||
* cutmem:: Remove memory regions
|
||
* date:: Display or set current date and time
|
||
* devicetree:: Load a device tree blob
|
||
* distrust:: Remove a pubkey from trusted keys
|
||
* drivemap:: Map a drive to another
|
||
* echo:: Display a line of text
|
||
* efitextmode:: Set/Get text output mode resolution
|
||
* eval:: Evaluate agruments as VAS_EBOOT commands
|
||
* export:: Export an environment variable
|
||
* false:: Do nothing, unsuccessfully
|
||
* fdtdump:: Retrieve device tree information
|
||
* file:: Test the provided file against a type
|
||
* fwsetup:: Reboot into the firmware setup menu
|
||
* gdbinfo:: Provide info for debugging with GDB
|
||
* gettext:: Translate a string
|
||
* gptsync:: Fill an MBR based on GPT entries
|
||
* halt:: Shut down your computer
|
||
* hashsum:: Compute or check hash checksum
|
||
* help:: Show help messages
|
||
* hexdump:: Show raw contents of a file or memory
|
||
* insmod:: Insert a module
|
||
* keystatus:: Check key modifier status
|
||
* list_env:: List variables in environment block
|
||
* list_trusted:: List trusted public keys
|
||
* load_env:: Load variables from environment block
|
||
* loadfont:: Load font files
|
||
* loopback:: Make a device from a filesystem image
|
||
* ls:: List devices or files
|
||
* lsfonts:: List loaded fonts
|
||
* lsfreemem:: List free memory blocks
|
||
* lsmod:: Show loaded modules
|
||
* lsmem:: List free and allocated memory blocks
|
||
* lsmemregions:: List memory regions
|
||
* md5sum:: Compute or check MD5 hash
|
||
* module:: Load module for multiboot kernel
|
||
* multiboot:: Load multiboot compliant kernel
|
||
* nativedisk:: Switch to native disk drivers
|
||
* normal:: Enter normal mode
|
||
* normal_exit:: Exit from normal mode
|
||
* parttool:: Modify partition table entries
|
||
* password:: Set a clear-text password
|
||
* password_pbkdf2:: Set a hashed password
|
||
* plainmount:: Open device encrypted in plain mode
|
||
* play:: Play a tune
|
||
* probe:: Retrieve device info
|
||
* rdmsr:: Read values from model-specific registers
|
||
* read:: Read user input
|
||
* reboot:: Reboot your computer
|
||
* regexp:: Test if regular expression matches string
|
||
* rmmod:: Remove a module
|
||
* save_env:: Save variables to environment block
|
||
* search:: Search devices by file, label, or UUID
|
||
* sendkey:: Emulate keystrokes
|
||
* set:: Set an environment variable
|
||
* sha1sum:: Compute or check SHA1 hash
|
||
* sha256sum:: Compute or check SHA256 hash
|
||
* sha512sum:: Compute or check SHA512 hash
|
||
* sleep:: Wait for a specified number of seconds
|
||
* smbios:: Retrieve SMBIOS information
|
||
* source:: Read a configuration file in same context
|
||
* stress_big_allocs:: Stress test large memory allocations
|
||
* test:: Check file types and compare values
|
||
* tpm2_key_protector_init:: Initialize the TPM2 key protector
|
||
* tpm2_key_protector_clear:: Clear the TPM2 key protector
|
||
* tpm2_dump_pcr:: Dump TPM2 PCRs
|
||
* true:: Do nothing, successfully
|
||
* trust:: Add public key to list of trusted keys
|
||
* uki:: Load Unified Kernel Image menu entries
|
||
* unset:: Unset an environment variable
|
||
* verify_detached:: Verify detached digital signature
|
||
* videoinfo:: List available video modes
|
||
* wrmsr:: Write values to model-specific registers
|
||
|
||
|
||
File: VasEBoot.info, Node: [, Next: acpi, Up: Command-line commands
|
||
|
||
17.4.1 [
|
||
--------
|
||
|
||
-- Command: [ expression ]
|
||
Alias for 'test EXPRESSION' (*note test::).
|
||
|
||
|
||
File: VasEBoot.info, Node: acpi, Next: append_add_db_cert, Prev: [, Up: Command-line commands
|
||
|
||
17.4.2 acpi
|
||
-----------
|
||
|
||
-- Command: acpi [-1|-2] [--exclude=table1,...|--load-only=table1,...]
|
||
[--oemid=id] [--oemtable=table] [--oemtablerev=rev]
|
||
[--oemtablecreator=creator] [--oemtablecreatorrev=rev]
|
||
[--no-ebda] filename ...
|
||
Modern BIOS systems normally implement the Advanced Configuration
|
||
and Power Interface (ACPI), and define various tables that describe
|
||
the interface between an ACPI-compliant operating system and the
|
||
firmware. In some cases, the tables provided by default only work
|
||
well with certain operating systems, and it may be necessary to
|
||
replace some of them.
|
||
|
||
Normally, this command will replace the Root System Description
|
||
Pointer (RSDP) in the Extended BIOS Data Area to point to the new
|
||
tables. If the '--no-ebda' option is used, the new tables will be
|
||
known only to VAS_EBOOT, but may be used by VAS_EBOOT's EFI emulation.
|
||
|
||
Note: The command is not allowed when lockdown is enforced (*note
|
||
Lockdown::). Otherwise an attacker can instruct the VAS_EBOOT to load
|
||
an SSDT table to overwrite the kernel lockdown configuration and
|
||
later load and execute unsigned code.
|
||
|
||
|
||
File: VasEBoot.info, Node: append_add_db_cert, Next: append_add_db_hash, Prev: acpi, Up: Command-line commands
|
||
|
||
17.4.3 append_add_db_cert
|
||
-------------------------
|
||
|
||
-- Command: append_add_db_cert <X509_certificate>
|
||
Read an X.509 certificate from the file X509_CERTIFICATE and add it
|
||
to VAS_EBOOT's internal db list of trusted certificates. These
|
||
certificates are used to validate appended signatures when the
|
||
environment variable 'check_appended_signatures' (*note
|
||
check_appended_signatures::) is set to 'yes' or the 'append_verify'
|
||
(*note append_verify::) command is executed from the VAS_EBOOT console.
|
||
|
||
*Note Using appended signatures:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: append_add_db_hash, Next: append_add_dbx_cert, Prev: append_add_db_cert, Up: Command-line commands
|
||
|
||
17.4.4 append_add_db_hash
|
||
-------------------------
|
||
|
||
-- Command: append_add_db_hash <hash_file>
|
||
Read a binary hash from the file HASH_FILE and add it to VAS_EBOOT's
|
||
internal db list of trusted binary hashes. These hashes are used
|
||
to validate the Linux kernel/VAS_EBOOT module binary hashes when the
|
||
environment variable 'check_appended_signatures' (*note
|
||
check_appended_signatures::) is set to 'yes' or the 'append_verify'
|
||
(*note append_verify::) command is executed from the VAS_EBOOT console.
|
||
|
||
Here is an example for how to generate a SHA-256 hash for a file.
|
||
The hash will be in binary format:
|
||
|
||
|
||
# The vmlinux (kernel image) file is your binary file, and
|
||
# it should be unsigned.
|
||
#
|
||
# Generate the binary_hash.bin file from the vmlinux file
|
||
# using OpenSSL command
|
||
|
||
openssl dgst -binary -sha256 -out binary_hash.bin vmlinux
|
||
|
||
|
||
*Note Using appended signatures:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: append_add_dbx_cert, Next: append_add_dbx_hash, Prev: append_add_db_hash, Up: Command-line commands
|
||
|
||
17.4.5 append_add_dbx_cert
|
||
--------------------------
|
||
|
||
-- Command: append_add_dbx_cert <X509_certificate>
|
||
Read an X.509 certificate from the file X509_CERTIFICATE and add it
|
||
to VAS_EBOOT's internal dbx list of distrusted certificates. These
|
||
certificates are used to ensure that the distrusted certificates
|
||
are rejected during appended signatures validation when the
|
||
environment variable 'check_appended_signatures' is set to 'yes'
|
||
(*note check_appended_signatures::) or the 'append_verify' (*note
|
||
append_verify::) command is executed from the VAS_EBOOT console. Also,
|
||
these certificates are used to prevent distrusted certificates from
|
||
being added to the db list later on.
|
||
|
||
*Note Using appended signatures:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: append_add_dbx_hash, Next: append_list_db, Prev: append_add_dbx_cert, Up: Command-line commands
|
||
|
||
17.4.6 append_add_dbx_hash
|
||
--------------------------
|
||
|
||
-- Command: append_add_dbx_hash [-b|-c] <hash_file>
|
||
Read a binary/certificate hash from the file HASH_FILE and add it
|
||
to VAS_EBOOT's internal dbx list of distrusted binary/certificate
|
||
hashes. When the environment variable 'check_appended_signatures'
|
||
(*note check_appended_signatures::) is set to 'yes' or the
|
||
'append_verify' (*note append_verify::) command is executed from
|
||
the VAS_EBOOT console, then matching distrusted binary hashes or the
|
||
signature validation with distrusted certificates may lead to the
|
||
rejection of the Linux kernel or VAS_EBOOT modules. Also, these hashes
|
||
are used to prevent distrusted certificates and binary hashes from
|
||
being added to the db list later on.
|
||
|
||
The '-b' ('--binary-hash') can be used to specify a binary hash
|
||
file and '-c' ('--cert-hash') can be used to specify a certificate
|
||
hash file.
|
||
|
||
Here is an example for how to generate a SHA-256 hash for a binary
|
||
and a certificate file. The hash will be in binary format:
|
||
|
||
|
||
# The vmlinux (kernel image) file is your binary file, and
|
||
# it should be unsigned. The kernel.der is your certificate file.
|
||
#
|
||
# Generate the cert_hash.bin file from the kernel.der file
|
||
|
||
openssl dgst -binary -sha256 -out cert_hash.bin kernel.der
|
||
|
||
# Generate the binary_hash.bin file from the vmlinux file
|
||
|
||
openssl dgst -binary -sha256 -out binary_hash.bin vmlinux
|
||
|
||
|
||
*Note Using appended signatures:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: append_list_db, Next: append_list_dbx, Prev: append_add_dbx_hash, Up: Command-line commands
|
||
|
||
17.4.7 append_list_db
|
||
---------------------
|
||
|
||
-- Command: append_list_db
|
||
List all X.509 certificates and binary hashes trusted by VAS_EBOOT for
|
||
validating appended signatures. The output is a numbered list of
|
||
certificates and binary hashes, showing the certificate's version,
|
||
serial number, issuer, subject, public key algorithm, RSA public
|
||
key size, and certificate fingerprint.
|
||
|
||
*Note Using appended signatures:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: append_list_dbx, Next: append_verify, Prev: append_list_db, Up: Command-line commands
|
||
|
||
17.4.8 append_list_dbx
|
||
----------------------
|
||
|
||
-- Command: append_list_dbx
|
||
List all the distrusted X.509 certificates and binary/certificate
|
||
hashes. The output is a numbered list of certificates and
|
||
binary/certificate hashes, showing the certificate's version,
|
||
serial number, issuer, subject, public key algorithm, RSA public
|
||
key size, and certificate fingerprint.
|
||
|
||
*Note Using appended signatures:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: append_verify, Next: authenticate, Prev: append_list_dbx, Up: Command-line commands
|
||
|
||
17.4.9 append_verify
|
||
--------------------
|
||
|
||
-- Command: append_verify <signed_file>
|
||
Verifies an appended signature on SIGNED_FILE against the trusted
|
||
X.509 certificates and hashes known to VAS_EBOOT (*note
|
||
append_list_db::,*note append_list_dbx::, *note
|
||
append_add_db_cert::, *note append_add_db_hash::, *note
|
||
append_add_dbx_hash:: and *note append_add_dbx_cert::). Exit code
|
||
'$?' is set to 0 if the signature validates successfully. If
|
||
validation fails, it is set to a non-zero value.
|
||
|
||
*Note Using appended signatures:: for more information.
|
||
|
||
|
||
File: VasEBoot.info, Node: authenticate, Next: background_color, Prev: append_verify, Up: Command-line commands
|
||
|
||
17.4.10 authenticate
|
||
--------------------
|
||
|
||
-- Command: authenticate [userlist]
|
||
Check whether user is in USERLIST or listed in the value of
|
||
variable 'superusers'. See *note superusers:: for valid user list
|
||
format. If 'superusers' is empty, this command returns true.
|
||
*Note Security::.
|
||
|
||
|
||
File: VasEBoot.info, Node: background_color, Next: background_image, Prev: authenticate, Up: Command-line commands
|
||
|
||
17.4.11 background_color
|
||
------------------------
|
||
|
||
-- Command: background_color color
|
||
Set background color for active terminal. For valid color
|
||
specifications see *note Colors: Theme file format. Background
|
||
color can be changed only when using 'gfxterm' for terminal output.
|
||
|
||
This command sets color of empty areas without text. Text
|
||
background color is controlled by environment variables
|
||
COLOR_NORMAL, COLOR_HIGHLIGHT, MENU_COLOR_NORMAL,
|
||
MENU_COLOR_HIGHLIGHT. *Note Special environment variables::.
|
||
|
||
|
||
File: VasEBoot.info, Node: background_image, Next: badram, Prev: background_color, Up: Command-line commands
|
||
|
||
17.4.12 background_image
|
||
------------------------
|
||
|
||
-- Command: background_image [[--mode stretch|normal] file]
|
||
Load background image for active terminal from FILE. Image is
|
||
stretched to fill up entire screen unless option '--mode' 'normal'
|
||
is given. Without arguments remove currently loaded background
|
||
image. Background image can be changed only when using 'gfxterm'
|
||
for terminal output.
|
||
|
||
|
||
File: VasEBoot.info, Node: badram, Next: blocklist, Prev: background_image, Up: Command-line commands
|
||
|
||
17.4.13 badram
|
||
--------------
|
||
|
||
-- Command: badram addr,mask[,addr,mask...]
|
||
Filter out bad RAM.
|
||
|
||
This command notifies the memory manager that specified regions of
|
||
RAM ought to be filtered out (usually, because they're damaged).
|
||
This remains in effect after a payload kernel has been loaded by
|
||
VAS_EBOOT, as long as the loaded kernel obtains its memory map from
|
||
VAS_EBOOT. Kernels that support this include Linux, GNU Mach, the kernel
|
||
of FreeBSD and Multiboot kernels in general.
|
||
|
||
Syntax is the same as provided by the Memtest86+ utility
|
||
(http://www.memtest.org/): a list of address/mask pairs. Given a
|
||
page-aligned address and a base address / mask pair, if all the
|
||
bits of the page-aligned address that are enabled by the mask match
|
||
with the base address, it means this page is to be filtered. This
|
||
syntax makes it easy to represent patterns that are often result of
|
||
memory damage, due to physical distribution of memory cells.
|
||
|
||
The command is similar to 'cutmem' command.
|
||
|
||
Note: The command is not allowed when lockdown is enforced (*note
|
||
Lockdown::). This prevents removing EFI memory regions to
|
||
potentially subvert the security mechanisms provided by the UEFI
|
||
secure boot.
|
||
|