merge with mainline
This commit is contained in:
commit
d84666e6bb
37 changed files with 2533 additions and 641 deletions
174
docs/grub.texi
174
docs/grub.texi
|
@ -828,11 +828,30 @@ 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.
|
||||
|
||||
FIXME: this section is incomplete.
|
||||
|
||||
@enumerate
|
||||
@item
|
||||
Run the command @command{boot} (@pxref{boot}).
|
||||
Set GRUB's root device to the same drive as GNU/Hurd's. The command
|
||||
@code{search --file --set /boot/gnumach.gz} or similar may help you
|
||||
(@pxref{search}).
|
||||
|
||||
@item
|
||||
Load the kernel and the modules, like this:
|
||||
|
||||
@example
|
||||
@group
|
||||
grub> @kbd{multiboot /boot/gnumach.gz root=device:hd0s1}
|
||||
grub> @kbd{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)'}
|
||||
grub> @kbd{module /lib/ld.so.1 exec /hurd/exec '$(exec-task=task-create)'}
|
||||
@end group
|
||||
@end example
|
||||
|
||||
@item
|
||||
Finally, run the command @command{boot} (@pxref{boot}).
|
||||
@end enumerate
|
||||
|
||||
|
||||
|
@ -2094,6 +2113,7 @@ you forget a command, you can run the command @command{help}
|
|||
* pxe_unload:: Unload the PXE environment
|
||||
* reboot:: Reboot your computer
|
||||
* search:: Search devices by file, label, or UUID
|
||||
* sendkey:: Emulate keystrokes
|
||||
* set:: Set an environment variable
|
||||
* unset:: Unset an environment variable
|
||||
* uppermem:: Set the upper memory size
|
||||
|
@ -2604,6 +2624,154 @@ commands are aliases for @samp{search --file}, @samp{search --label}, and
|
|||
@end deffn
|
||||
|
||||
|
||||
@node sendkey
|
||||
@subsection sendkey
|
||||
|
||||
@deffn Command sendkey @
|
||||
[@option{--num}|@option{--caps}|@option{--scroll}|@option{--insert}|@
|
||||
@option{--pause}|@option{--left-shift}|@option{--right-shift}|@
|
||||
@option{--sysrq}|@option{--numkey}|@option{--capskey}|@option{--scrollkey}|@
|
||||
@option{--insertkey}|@option{--left-alt}|@option{--right-alt}|@
|
||||
@option{--left-ctrl}|@option{--right-ctrl} @
|
||||
@samp{on}|@samp{off}]@dots{} @
|
||||
[@option{no-led}] @
|
||||
keystroke
|
||||
Insert keystrokes into the keyboard buffer when booting. Sometimes an
|
||||
operating system or chainloaded boot loader requires particular keys to be
|
||||
pressed: for example, one might need to press a particular key to enter
|
||||
"safe mode", or when chainloading another boot loader one might send
|
||||
keystrokes to it to navigate its menu.
|
||||
|
||||
You may provide up to 16 keystrokes (the length of the BIOS keyboard
|
||||
buffer). Keystroke names may be upper-case or lower-case letters, digits,
|
||||
or taken from the following table:
|
||||
|
||||
@c Please keep this table in the same order as in
|
||||
@c commands/i386/pc/sendkey.c, for ease of maintenance.
|
||||
@c Exception: The function and numeric keys are sorted, for aesthetics.
|
||||
|
||||
@multitable @columnfractions .4 .5
|
||||
@headitem Name @tab Key
|
||||
@item escape @tab Escape
|
||||
@item exclam @tab !
|
||||
@item at @tab @@
|
||||
@item numbersign @tab #
|
||||
@item dollar @tab $
|
||||
@item percent @tab %
|
||||
@item caret @tab ^
|
||||
@item ampersand @tab &
|
||||
@item asterisk @tab *
|
||||
@item parenleft @tab (
|
||||
@item parenright @tab )
|
||||
@item minus @tab -
|
||||
@item underscore @tab _
|
||||
@item equal @tab =
|
||||
@item plus @tab +
|
||||
@item backspace @tab Backspace
|
||||
@item tab @tab Tab
|
||||
@item bracketleft @tab [
|
||||
@item braceleft @tab @{
|
||||
@item bracketright @tab ]
|
||||
@item braceright @tab @}
|
||||
@item enter @tab Enter
|
||||
@item control @tab press and release Control
|
||||
@item semicolon @tab ;
|
||||
@item colon @tab :
|
||||
@item quote @tab '
|
||||
@item doublequote @tab "
|
||||
@item backquote @tab `
|
||||
@item tilde @tab ~
|
||||
@item shift @tab press and release left Shift
|
||||
@item backslash @tab \
|
||||
@item bar @tab |
|
||||
@item comma @tab ,
|
||||
@item less @tab <
|
||||
@item period @tab .
|
||||
@item greater @tab >
|
||||
@item slash @tab /
|
||||
@item question @tab ?
|
||||
@item rshift @tab press and release right Shift
|
||||
@item alt @tab press and release Alt
|
||||
@item space @tab space bar
|
||||
@item capslock @tab Caps Lock
|
||||
@item F1 @tab F1
|
||||
@item F2 @tab F2
|
||||
@item F3 @tab F3
|
||||
@item F4 @tab F4
|
||||
@item F5 @tab F5
|
||||
@item F6 @tab F6
|
||||
@item F7 @tab F7
|
||||
@item F8 @tab F8
|
||||
@item F9 @tab F9
|
||||
@item F10 @tab F10
|
||||
@item F11 @tab F11
|
||||
@item F12 @tab F12
|
||||
@item num1 @tab 1 (numeric keypad)
|
||||
@item num2 @tab 2 (numeric keypad)
|
||||
@item num3 @tab 3 (numeric keypad)
|
||||
@item num4 @tab 4 (numeric keypad)
|
||||
@item num5 @tab 5 (numeric keypad)
|
||||
@item num6 @tab 6 (numeric keypad)
|
||||
@item num7 @tab 7 (numeric keypad)
|
||||
@item num8 @tab 8 (numeric keypad)
|
||||
@item num9 @tab 9 (numeric keypad)
|
||||
@item num0 @tab 0 (numeric keypad)
|
||||
@item numperiod @tab . (numeric keypad)
|
||||
@item numend @tab End (numeric keypad)
|
||||
@item numdown @tab Down (numeric keypad)
|
||||
@item numpgdown @tab Page Down (numeric keypad)
|
||||
@item numleft @tab Left (numeric keypad)
|
||||
@item numcenter @tab 5 with Num Lock inactive (numeric keypad)
|
||||
@item numright @tab Right (numeric keypad)
|
||||
@item numhome @tab Home (numeric keypad)
|
||||
@item numup @tab Up (numeric keypad)
|
||||
@item numpgup @tab Page Up (numeric keypad)
|
||||
@item numinsert @tab Insert (numeric keypad)
|
||||
@item numdelete @tab Delete (numeric keypad)
|
||||
@item numasterisk @tab * (numeric keypad)
|
||||
@item numminus @tab - (numeric keypad)
|
||||
@item numplus @tab + (numeric keypad)
|
||||
@item numslash @tab / (numeric keypad)
|
||||
@item numenter @tab Enter (numeric keypad)
|
||||
@item delete @tab Delete
|
||||
@item insert @tab Insert
|
||||
@item home @tab Home
|
||||
@item end @tab End
|
||||
@item pgdown @tab Page Down
|
||||
@item pgup @tab Page Up
|
||||
@item down @tab Down
|
||||
@item up @tab Up
|
||||
@item left @tab Left
|
||||
@item right @tab Right
|
||||
@end multitable
|
||||
|
||||
As well as keystrokes, the @command{sendkey} command takes various options
|
||||
that affect the BIOS keyboard status flags. These options take an @samp{on}
|
||||
or @samp{off} parameter, specifying that the corresponding status flag be
|
||||
set or unset; omitting the option for a given status flag will leave that
|
||||
flag at its initial state at boot. The @option{--num}, @option{--caps},
|
||||
@option{--scroll}, and @option{--insert} options emulate setting the
|
||||
corresponding mode, while the @option{--numkey}, @option{--capskey},
|
||||
@option{--scrollkey}, and @option{--insertkey} options emulate pressing and
|
||||
holding the corresponding key. The other status flag options are
|
||||
self-explanatory.
|
||||
|
||||
If the @option{--no-led} option is given, the status flag options will have
|
||||
no effect on keyboard LEDs.
|
||||
|
||||
If the @command{sendkey} command is given multiple times, then only the last
|
||||
invocation has any effect.
|
||||
|
||||
Since @command{sendkey} manipulates the BIOS keyboard buffer, it may cause
|
||||
hangs, reboots, or other misbehaviour on some systems. If the operating
|
||||
system or boot loader that runs after GRUB uses its own keyboard driver
|
||||
rather than the BIOS keyboard functions, then @command{sendkey} will have no
|
||||
effect.
|
||||
|
||||
This command is only available on PC BIOS systems.
|
||||
@end deffn
|
||||
|
||||
|
||||
@node set
|
||||
@subsection set
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue