merge mainline into arm
This commit is contained in:
commit
8e71d87482
490 changed files with 29659 additions and 8612 deletions
|
@ -74,8 +74,8 @@ This edition documents version @value{VERSION}.
|
|||
|
||||
@menu
|
||||
* Getting the source code::
|
||||
* Finding your way around::
|
||||
* Coding style::
|
||||
* Finding your way around::
|
||||
* Contributing Changes::
|
||||
* Porting::
|
||||
* Error Handling::
|
||||
|
@ -948,8 +948,8 @@ driver manager works are not included here.
|
|||
|
||||
@menu
|
||||
* Video API::
|
||||
* Bitmap API::
|
||||
* Example usage of Video API::
|
||||
* Bitmap API::
|
||||
@end menu
|
||||
|
||||
@node Video API
|
||||
|
@ -1394,8 +1394,8 @@ grub_video_blit_glyph (&glyph, color, 0, 0);
|
|||
|
||||
@node Bitmap API
|
||||
@section Bitmap API
|
||||
@itemize
|
||||
@subsection grub_video_bitmap_create
|
||||
@itemize
|
||||
@item Prototype:
|
||||
@example
|
||||
grub_err_t grub_video_bitmap_create (struct grub_video_bitmap **bitmap, unsigned int width, unsigned int height, enum grub_video_blit_format blit_format)
|
||||
|
|
229
docs/grub.texi
229
docs/grub.texi
|
@ -1290,9 +1290,8 @@ As @samp{GRUB_CMDLINE_LINUX}, but for GNU Mach.
|
|||
|
||||
@item GRUB_CMDLINE_XEN
|
||||
@itemx GRUB_CMDLINE_XEN_DEFAULT
|
||||
The values of these options are appended to the values of
|
||||
@samp{GRUB_CMDLINE_LINUX} and @samp{GRUB_CMDLINE_LINUX_DEFAULT} for Linux
|
||||
and Xen menu entries.
|
||||
The values of these options are passed to Xen hypervisor Xen menu entries,
|
||||
for all respectively normal entries.
|
||||
|
||||
@item GRUB_CMDLINE_LINUX_XEN_REPLACE
|
||||
@item GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT
|
||||
|
@ -2135,37 +2134,52 @@ this should be changed both in the prefix and in any references to the
|
|||
device name in the configuration file.
|
||||
|
||||
GRUB provides several environment variables which may be used to inspect or
|
||||
change the behaviour of the PXE device:
|
||||
change the behaviour of the PXE device. In the following description
|
||||
@var{<interface>} is placeholder for the name of network interface (platform
|
||||
dependent):
|
||||
|
||||
@table @samp
|
||||
@item net_pxe_ip
|
||||
The IP address of this machine. Read-only.
|
||||
@item net_@var{<interface>}_ip
|
||||
The network interface's IP address. Read-only.
|
||||
|
||||
@item net_pxe_mac
|
||||
@item net_@var{<interface>}_mac
|
||||
The network interface's MAC address. Read-only.
|
||||
|
||||
@item net_pxe_hostname
|
||||
@item net_@var{<interface>}_hostname
|
||||
The client host name provided by DHCP. Read-only.
|
||||
|
||||
@item net_pxe_domain
|
||||
@item net_@var{<interface>}_domain
|
||||
The client domain name provided by DHCP. Read-only.
|
||||
|
||||
@item net_pxe_rootpath
|
||||
@item net_@var{<interface>}_rootpath
|
||||
The path to the client's root disk provided by DHCP. Read-only.
|
||||
|
||||
@item net_pxe_extensionspath
|
||||
@item net_@var{<interface>}_extensionspath
|
||||
The path to additional DHCP vendor extensions provided by DHCP. Read-only.
|
||||
|
||||
@item net_pxe_boot_file
|
||||
@item net_@var{<interface>}_boot_file
|
||||
The boot file name provided by DHCP. Read-only.
|
||||
|
||||
@item net_pxe_dhcp_server_name
|
||||
@item net_@var{<interface>}_dhcp_server_name
|
||||
The name of the DHCP server responsible for these boot parameters.
|
||||
Read-only.
|
||||
|
||||
@item net_default_interface
|
||||
Initially set to name of network interface that was used to load grub.
|
||||
Read-write, although setting it affects only interpretation of
|
||||
@samp{net_default_ip} and @samp{net_default_mac}
|
||||
|
||||
@item net_default_ip
|
||||
The IP address of default interface. Read-only. This is alias for the
|
||||
@samp{net_$@{net_default_interface@}_ip}.
|
||||
|
||||
@item net_default_mac
|
||||
The default interface's MAC address. Read-only. This is alias for the
|
||||
@samp{net_$@{net_default_interface@}_mac}.
|
||||
|
||||
@item net_default_server
|
||||
The default server. Read-write, although setting this is only useful
|
||||
before opening a network device.
|
||||
The default server used by network drives (@pxref{Device syntax}). Read-write,
|
||||
although setting this is only useful before opening a network device.
|
||||
|
||||
@end table
|
||||
|
||||
|
@ -2517,8 +2531,10 @@ of the partition when installing GRUB).
|
|||
(hd0,1,3)
|
||||
@end example
|
||||
|
||||
If you enabled the network support, the special drives @samp{(tftp)},
|
||||
@samp{(http)} and so on ars also available.
|
||||
If you enabled the network support, the special drives
|
||||
@code{(@var{protocol}[,@var{server}])} are also available. Supported protocols
|
||||
are @samp{http} and @samp{tftp}. If @var{server} is omitted, value of
|
||||
environment variable @samp{net_default_server} is used.
|
||||
Before using the network drive, you must initialize the network.
|
||||
@xref{Network}, for more information.
|
||||
|
||||
|
@ -2736,14 +2752,18 @@ These variables have special meaning to GRUB.
|
|||
* locale_dir::
|
||||
* menu_color_highlight::
|
||||
* menu_color_normal::
|
||||
* net_pxe_boot_file::
|
||||
* net_pxe_dhcp_server_name::
|
||||
* net_pxe_domain::
|
||||
* net_pxe_extensionspath::
|
||||
* net_pxe_hostname::
|
||||
* net_pxe_ip::
|
||||
* net_pxe_mac::
|
||||
* net_pxe_rootpath::
|
||||
* net_@var{<interface>}_boot_file::
|
||||
* net_@var{<interface>}_dhcp_server_name::
|
||||
* net_@var{<interface>}_domain::
|
||||
* net_@var{<interface>}_extensionspath::
|
||||
* net_@var{<interface>}_hostname::
|
||||
* net_@var{<interface>}_ip::
|
||||
* net_@var{<interface>}_mac::
|
||||
* net_@var{<interface>}_rootpath::
|
||||
* net_default_interface::
|
||||
* net_default_ip::
|
||||
* net_default_mac::
|
||||
* net_default_server::
|
||||
* pager::
|
||||
* prefix::
|
||||
* pxe_blksize::
|
||||
|
@ -3010,50 +3030,74 @@ variable changes those colors. For the available color names,
|
|||
The default is the value of @samp{color_normal} (@pxref{color_normal}).
|
||||
|
||||
|
||||
@node net_pxe_boot_file
|
||||
@subsection net_pxe_boot_file
|
||||
@node net_@var{<interface>}_boot_file
|
||||
@subsection net_@var{<interface>}_boot_file
|
||||
|
||||
@xref{Network}.
|
||||
|
||||
|
||||
@node net_pxe_dhcp_server_name
|
||||
@subsection net_pxe_dhcp_server_name
|
||||
@node net_@var{<interface>}_dhcp_server_name
|
||||
@subsection net_@var{<interface>}_dhcp_server_name
|
||||
|
||||
@xref{Network}.
|
||||
|
||||
|
||||
@node net_pxe_domain
|
||||
@subsection net_pxe_domain
|
||||
@node net_@var{<interface>}_domain
|
||||
@subsection net_@var{<interface>}_domain
|
||||
|
||||
@xref{Network}.
|
||||
|
||||
|
||||
@node net_pxe_extensionspath
|
||||
@subsection net_pxe_extensionspath
|
||||
@node net_@var{<interface>}_extensionspath
|
||||
@subsection net_@var{<interface>}_extensionspath
|
||||
|
||||
@xref{Network}.
|
||||
|
||||
|
||||
@node net_pxe_hostname
|
||||
@subsection net_pxe_hostname
|
||||
@node net_@var{<interface>}_hostname
|
||||
@subsection net_@var{<interface>}_hostname
|
||||
|
||||
@xref{Network}.
|
||||
|
||||
|
||||
@node net_pxe_ip
|
||||
@subsection net_pxe_ip
|
||||
@node net_@var{<interface>}_ip
|
||||
@subsection net_@var{<interface>}_ip
|
||||
|
||||
@xref{Network}.
|
||||
|
||||
|
||||
@node net_pxe_mac
|
||||
@subsection net_pxe_mac
|
||||
@node net_@var{<interface>}_mac
|
||||
@subsection net_@var{<interface>}_mac
|
||||
|
||||
@xref{Network}.
|
||||
|
||||
|
||||
@node net_pxe_rootpath
|
||||
@subsection net_pxe_rootpath
|
||||
@node net_@var{<interface>}_rootpath
|
||||
@subsection net_@var{<interface>}_rootpath
|
||||
|
||||
@xref{Network}.
|
||||
|
||||
|
||||
@node net_default_interface
|
||||
@subsection net_default_interface
|
||||
|
||||
@xref{Network}.
|
||||
|
||||
|
||||
@node net_default_ip
|
||||
@subsection net_default_ip
|
||||
|
||||
@xref{Network}.
|
||||
|
||||
|
||||
@node net_default_mac
|
||||
@subsection net_default_mac
|
||||
|
||||
@xref{Network}.
|
||||
|
||||
|
||||
@node net_default_server
|
||||
@subsection net_default_server
|
||||
|
||||
@xref{Network}.
|
||||
|
||||
|
@ -3413,6 +3457,7 @@ you forget a command, you can run the command @command{help}
|
|||
* lsfonts:: List loaded fonts
|
||||
* lsmod:: Show loaded modules
|
||||
* md5sum:: Compute or check MD5 hash
|
||||
* nativedisk:: Switch to native disk drivers
|
||||
* normal:: Enter normal mode
|
||||
* normal_exit:: Exit from normal mode
|
||||
* parttool:: Modify partition table entries
|
||||
|
@ -4048,6 +4093,17 @@ Alias for @code{hashsum --hash md5 arg @dots{}}. See command @command{hashsum}
|
|||
@end deffn
|
||||
|
||||
|
||||
@node nativedisk
|
||||
@subsection nativedisk
|
||||
|
||||
@deffn Command nativedisk
|
||||
Switch from firmware disk drivers to native ones.
|
||||
Really useful only on platforms where both
|
||||
firmware and native disk drives are available.
|
||||
Currently i386-pc, i386-efi, i386-ieee1275 and
|
||||
x86_64-efi.
|
||||
@end deffn
|
||||
|
||||
@node normal
|
||||
@subsection normal
|
||||
|
||||
|
@ -4599,26 +4655,35 @@ On normalized ZFS subvolumes filenames out of normalisation are inaccessible.
|
|||
|
||||
@chapter Output terminal
|
||||
Firmware output console ``console'' on ARC and IEEE1275 are limited to ASCII.
|
||||
|
||||
BIOS firmware console and VGA text are limited to ASCII and some pseudographics.
|
||||
|
||||
None of above mentioned is appropriate for displaying international and any
|
||||
unsupported character is replaced with question mark except pseudographics
|
||||
which we attempt to approximate with ASCII. EFI console on the other hand
|
||||
nominally supports UTF-16 but actual language coverage depends on firmware and
|
||||
may be very limited. The encoding used on serial can be chosen with
|
||||
@command{terminfo} as either ASCII, UTF-8 or ``visual UTF-8''. Last one is
|
||||
against the specification but results in correct rendering of right-to-left
|
||||
on some readers which don't have own bidi implementation. When using gfxterm
|
||||
or gfxmenu GRUB itself is responsible for rendering the text. In this case
|
||||
GRUB is limited by loaded fonts. If fonts contain all required characters
|
||||
then bidirectional text, cursive variants and combining marks other than
|
||||
enclosing, half (e.g. left half tilde or combining overline) and double ones.
|
||||
Ligatures aren't supported though. This should cover European, Middle Eastern
|
||||
(if you don't mind lack of lam-alif ligature in Arabic) and East Asian scripts.
|
||||
Notable unsupported scripts are Brahmic family and derived as well as
|
||||
Mongolian, Tifinagh, Korean Jamo (precomposed characters have no problem)
|
||||
and tonal writing (2e5-2e9). GRUB also ignores deprecated (as specified
|
||||
in Unicode) characters (e.g. tags). GRUB also doesn't handle so called
|
||||
``annotation characters'' If you can complete either of
|
||||
which we attempt to approximate with ASCII.
|
||||
|
||||
EFI console on the other hand nominally supports UTF-16 but actual language
|
||||
coverage depends on firmware and may be very limited.
|
||||
|
||||
The encoding used on serial can be chosen with @command{terminfo} as
|
||||
either ASCII, UTF-8 or ``visual UTF-8''. Last one is against the specification
|
||||
but results in correct rendering of right-to-left on some readers which don't
|
||||
have own bidi implementation.
|
||||
|
||||
On emu GRUB checks if charset is UTF-8 and uses it if so and uses ASCII
|
||||
otherwise.
|
||||
|
||||
When using gfxterm or gfxmenu GRUB itself is responsible for rendering the
|
||||
text. In this case GRUB is limited by loaded fonts. If fonts contain all
|
||||
required characters then bidirectional text, cursive variants and combining
|
||||
marks other than enclosing, half (e.g. left half tilde or combining overline)
|
||||
and double ones. Ligatures aren't supported though. This should cover European,
|
||||
Middle Eastern (if you don't mind lack of lam-alif ligature in Arabic) and
|
||||
East Asian scripts. Notable unsupported scripts are Brahmic family and
|
||||
derived as well as Mongolian, Tifinagh, Korean Jamo (precomposed characters
|
||||
have no problem) and tonal writing (2e5-2e9). GRUB also ignores deprecated
|
||||
(as specified in Unicode) characters (e.g. tags). GRUB also doesn't handle so
|
||||
called ``annotation characters'' If you can complete either of
|
||||
two lists or, better, propose a patch to improve rendering, please contact
|
||||
developer team.
|
||||
|
||||
|
@ -4742,8 +4807,7 @@ ARC platform is unable to change datetime (firmware doesn't seem to provide a
|
|||
function for it).
|
||||
EMU has similar limitation.
|
||||
|
||||
ARC platform no serial port is available.
|
||||
EMU has similar limitation.
|
||||
On EMU platform no serial port is available.
|
||||
|
||||
Console charset refers only to firmware-assisted console. gfxterm is always
|
||||
Unicode (see Internationalisation section for its limitations). Serial is
|
||||
|
@ -4760,9 +4824,6 @@ the actual console may be much more limited depending on firmware
|
|||
On BIOS network is supported only if the image is loaded through network.
|
||||
On sparc64 GRUB is unable to determine which server it was booted from.
|
||||
|
||||
On platforms not having direct serial support (as indicated in the line serial)
|
||||
you can still redirect firmware console to serial if it allows so.
|
||||
|
||||
Direct ATA/AHCI support allows to circumvent various firmware limitations but
|
||||
isn't needed for normal operation except on baremetal ports.
|
||||
|
||||
|
@ -4843,7 +4904,7 @@ and mips-qemu_mips can use only memory up to first hole.
|
|||
@multitable @columnfractions .20 .20 .20 .20 .20
|
||||
@item @tab MIPS qemu @tab emu
|
||||
@item video @tab no @tab yes
|
||||
@item console charset @tab CP437 @tab ASCII
|
||||
@item console charset @tab CP437 @tab Unicode (*)
|
||||
@item network @tab no @tab yes
|
||||
@item ATA/AHCI @tab yes @tab no
|
||||
@item AT keyboard @tab yes @tab no
|
||||
|
@ -4873,6 +4934,7 @@ Information retrieval:
|
|||
@item mips-arc: lsdev
|
||||
@item efi: lsefisystab, lssal, lsefimmap
|
||||
@item i386-pc: lsapm
|
||||
@item i386-coreboot: lscoreboot, coreboot_boottime
|
||||
@item acpi-enabled (i386-pc, i386-coreboot, i386-multiboot, *-efi): lsacpi
|
||||
@end itemize
|
||||
|
||||
|
@ -4908,10 +4970,10 @@ X86 support is summarised in the following table. ``Yes'' means that the kernel
|
|||
@item Plan9 @tab yes @tab no (1)
|
||||
@item Freedos @tab yes @tab no (1)
|
||||
@item FreeBSD bootloader @tab yes @tab crashes (1)
|
||||
@item 32-bit kFreeBSD @tab yes @tab crashes (2,6)
|
||||
@item 64-bit kFreeBSD @tab yes @tab crashes (2,6)
|
||||
@item 32-bit kFreeBSD @tab yes @tab crashes (5)
|
||||
@item 64-bit kFreeBSD @tab yes @tab crashes (5)
|
||||
@item 32-bit kNetBSD @tab yes @tab crashes (1)
|
||||
@item 64-bit kNetBSD @tab yes @tab crashes (2)
|
||||
@item 64-bit kNetBSD @tab yes @tab crashes
|
||||
@item 32-bit kOpenBSD @tab yes @tab yes
|
||||
@item 64-bit kOpenBSD @tab yes @tab yes
|
||||
@item Multiboot @tab yes @tab yes
|
||||
|
@ -4922,9 +4984,9 @@ X86 support is summarised in the following table. ``Yes'' means that the kernel
|
|||
@item 64-bit Linux (modern protocol) @tab yes @tab yes
|
||||
@item 32-bit XNU @tab yes @tab ?
|
||||
@item 64-bit XNU @tab yes @tab ?
|
||||
@item 32-bit EFI chainloader @tab no (3) @tab no (3)
|
||||
@item 64-bit EFI chainloader @tab no (3) @tab no (3)
|
||||
@item Appleloader @tab no (3) @tab no (3)
|
||||
@item 32-bit EFI chainloader @tab no (2) @tab no (2)
|
||||
@item 64-bit EFI chainloader @tab no (2) @tab no (2)
|
||||
@item Appleloader @tab no (2) @tab no (2)
|
||||
@end multitable
|
||||
|
||||
@multitable @columnfractions .50 .22 .22
|
||||
|
@ -4934,8 +4996,8 @@ X86 support is summarised in the following table. ``Yes'' means that the kernel
|
|||
@item Plan9 @tab no (1) @tab no (1)
|
||||
@item FreeDOS @tab no (1) @tab no (1)
|
||||
@item FreeBSD bootloader @tab crashes (1) @tab crashes (1)
|
||||
@item 32-bit kFreeBSD @tab crashes (6) @tab crashes (6)
|
||||
@item 64-bit kFreeBSD @tab crashes (6) @tab crashes (6)
|
||||
@item 32-bit kFreeBSD @tab crashes (5) @tab crashes (5)
|
||||
@item 64-bit kFreeBSD @tab crashes (5) @tab crashes (5)
|
||||
@item 32-bit kNetBSD @tab crashes (1) @tab crashes (1)
|
||||
@item 64-bit kNetBSD @tab yes @tab yes
|
||||
@item 32-bit kOpenBSD @tab yes @tab yes
|
||||
|
@ -4948,9 +5010,9 @@ X86 support is summarised in the following table. ``Yes'' means that the kernel
|
|||
@item 64-bit Linux (modern protocol) @tab yes @tab yes
|
||||
@item 32-bit XNU @tab ? @tab ?
|
||||
@item 64-bit XNU @tab ? @tab ?
|
||||
@item 32-bit EFI chainloader @tab no (3) @tab no (3)
|
||||
@item 64-bit EFI chainloader @tab no (3) @tab no (3)
|
||||
@item Appleloader @tab no (3) @tab no (3)
|
||||
@item 32-bit EFI chainloader @tab no (2) @tab no (2)
|
||||
@item 64-bit EFI chainloader @tab no (2) @tab no (2)
|
||||
@item Appleloader @tab no (2) @tab no (2)
|
||||
@end multitable
|
||||
|
||||
@multitable @columnfractions .50 .22 .22
|
||||
|
@ -4973,9 +5035,9 @@ X86 support is summarised in the following table. ``Yes'' means that the kernel
|
|||
@item 32-bit Linux (modern protocol) @tab yes @tab yes
|
||||
@item 64-bit Linux (modern protocol) @tab yes @tab yes
|
||||
@item 32-bit XNU @tab yes @tab yes
|
||||
@item 64-bit XNU @tab yes (5) @tab yes
|
||||
@item 32-bit EFI chainloader @tab yes @tab no (4)
|
||||
@item 64-bit EFI chainloader @tab no (4) @tab yes
|
||||
@item 64-bit XNU @tab yes (4) @tab yes
|
||||
@item 32-bit EFI chainloader @tab yes @tab no (3)
|
||||
@item 64-bit EFI chainloader @tab no (3) @tab yes
|
||||
@item Appleloader @tab yes @tab yes
|
||||
@end multitable
|
||||
|
||||
|
@ -4986,8 +5048,8 @@ X86 support is summarised in the following table. ``Yes'' means that the kernel
|
|||
@item Plan9 @tab no (1)
|
||||
@item FreeDOS @tab no (1)
|
||||
@item FreeBSD bootloader @tab crashes (1)
|
||||
@item 32-bit kFreeBSD @tab crashes (6)
|
||||
@item 64-bit kFreeBSD @tab crashes (6)
|
||||
@item 32-bit kFreeBSD @tab crashes (5)
|
||||
@item 64-bit kFreeBSD @tab crashes (5)
|
||||
@item 32-bit kNetBSD @tab crashes (1)
|
||||
@item 64-bit kNetBSD @tab ?
|
||||
@item 32-bit kOpenBSD @tab ?
|
||||
|
@ -5000,14 +5062,13 @@ X86 support is summarised in the following table. ``Yes'' means that the kernel
|
|||
@item 64-bit Linux (modern protocol) @tab ?
|
||||
@item 32-bit XNU @tab ?
|
||||
@item 64-bit XNU @tab ?
|
||||
@item 32-bit EFI chainloader @tab no (3)
|
||||
@item 64-bit EFI chainloader @tab no (3)
|
||||
@item Appleloader @tab no (3)
|
||||
@item 32-bit EFI chainloader @tab no (2)
|
||||
@item 64-bit EFI chainloader @tab no (2)
|
||||
@item Appleloader @tab no (2)
|
||||
@end multitable
|
||||
|
||||
@enumerate
|
||||
@item Requires BIOS
|
||||
@item Crashes because the memory at 0x0-0x1000 isn't available
|
||||
@item EFI only
|
||||
@item 32-bit and 64-bit EFI have different structures and work in different CPU modes so it's not possible to chainload 32-bit bootloader on 64-bit platform and vice-versa
|
||||
@item Some modules may need to be disabled
|
||||
|
|
4
docs/man/grub-glue-efi.h2m
Normal file
4
docs/man/grub-glue-efi.h2m
Normal file
|
@ -0,0 +1,4 @@
|
|||
[NAME]
|
||||
grub-glue-efi \- generate a fat binary for EFI
|
||||
[DESCRIPTION]
|
||||
grub-glue-efi processes ia32 and amd64 EFI images and glues them according to Apple format.
|
3
docs/man/grub-render-label.h2m
Normal file
3
docs/man/grub-render-label.h2m
Normal file
|
@ -0,0 +1,3 @@
|
|||
[NAME]
|
||||
grub-render-label \- generate a .disk_label for Apple Macs.
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue