mirror of
https://git.savannah.gnu.org/git/grub.git
synced 2026-10-27 17:49:23 +00:00
Compare commits
12
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c0e647eb0e | ||
|
|
88e856a5b3 | ||
|
|
3a1afa19ca | ||
|
|
66be067e61 | ||
|
|
837fe48deb | ||
|
|
e48fc8880d | ||
|
|
406dde6f27 | ||
|
|
cb715be37d | ||
|
|
7227376308 | ||
|
|
edbe7076cb | ||
|
|
c9c22dc803 | ||
|
|
25d64bb273 |
No files matched your search
+1
-1
@@ -820,7 +820,7 @@ Of video is loongson (kern/mips/loongson/init.c). Note that terminfo has
|
|||||||
to be inited in 2 stages: one before (to get at least rudimentary console
|
to be inited in 2 stages: one before (to get at least rudimentary console
|
||||||
as early as possible) and another after the heap (to get full-featured console).
|
as early as possible) and another after the heap (to get full-featured console).
|
||||||
For the input there are string of keys, terminfo and direct hardware. For string
|
For the input there are string of keys, terminfo and direct hardware. For string
|
||||||
of keys look at i386-pc (same files), for termino ieee1275 (same files) and for
|
of keys look at i386-pc (same files), for terminfo ieee1275 (same files) and for
|
||||||
hardware loongson (kern/mips/loongson/init.c and term/at_keyboard.c).
|
hardware loongson (kern/mips/loongson/init.c and term/at_keyboard.c).
|
||||||
|
|
||||||
For the timer you'll need to call grub_install_get_time_ms (...) with as sole
|
For the timer you'll need to call grub_install_get_time_ms (...) with as sole
|
||||||
|
|||||||
+8
-3
@@ -3934,7 +3934,7 @@ names active.
|
|||||||
@node terminfo
|
@node terminfo
|
||||||
@subsection terminfo
|
@subsection terminfo
|
||||||
|
|
||||||
@deffn Command terminfo [-a|-u|-v] [term]
|
@deffn Command terminfo [@option{-a}|@option{-u}|@option{-v}] [@option{-g WxH}] [term] [type]
|
||||||
Define the capabilities of your terminal by giving the name of an entry in
|
Define the capabilities of your terminal by giving the name of an entry in
|
||||||
the terminfo database, which should correspond roughly to a @samp{TERM}
|
the terminfo database, which should correspond roughly to a @samp{TERM}
|
||||||
environment variable in Unix.
|
environment variable in Unix.
|
||||||
@@ -3951,6 +3951,8 @@ specifies logically-ordered UTF-8; and @option{-v} specifies
|
|||||||
emulator without bidirectional text support will display right-to-left text
|
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).
|
in the proper order; this is not really proper UTF-8, but a workaround).
|
||||||
|
|
||||||
|
The @option{-g} (@option{--geometry}) can be used to specify terminal geometry.
|
||||||
|
|
||||||
If no option or terminal type is specified, the current terminal type is
|
If no option or terminal type is specified, the current terminal type is
|
||||||
printed.
|
printed.
|
||||||
@end deffn
|
@end deffn
|
||||||
@@ -4125,7 +4127,6 @@ can be changed only when using @samp{gfxterm} for terminal output.
|
|||||||
|
|
||||||
@deffn Command badram addr,mask[,addr,mask...]
|
@deffn Command badram addr,mask[,addr,mask...]
|
||||||
Filter out bad RAM.
|
Filter out bad RAM.
|
||||||
@end deffn
|
|
||||||
|
|
||||||
This command notifies the memory manager that specified regions of
|
This command notifies the memory manager that specified regions of
|
||||||
RAM ought to be filtered out (usually, because they're damaged). This
|
RAM ought to be filtered out (usually, because they're damaged). This
|
||||||
@@ -4147,6 +4148,7 @@ The command is similar to @command{cutmem} command.
|
|||||||
Note: The command is not allowed when lockdown is enforced (@pxref{Lockdown}).
|
Note: The command is not allowed when lockdown is enforced (@pxref{Lockdown}).
|
||||||
This prevents removing EFI memory regions to potentially subvert the
|
This prevents removing EFI memory regions to potentially subvert the
|
||||||
security mechanisms provided by the UEFI secure boot.
|
security mechanisms provided by the UEFI secure boot.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
@node blocklist
|
@node blocklist
|
||||||
@subsection blocklist
|
@subsection blocklist
|
||||||
@@ -4307,6 +4309,9 @@ GRUB suports devices encrypted using LUKS, LUKS2 and geli. Note that necessary
|
|||||||
modules (@var{luks}, @var{luks2} and @var{geli}) have to be loaded manually
|
modules (@var{luks}, @var{luks2} and @var{geli}) have to be loaded manually
|
||||||
before this command can be used. For LUKS2 only the PBKDF2 key derivation
|
before this command can be used. For LUKS2 only the PBKDF2 key derivation
|
||||||
function is supported, as Argon2 is not yet supported.
|
function is supported, as Argon2 is not yet supported.
|
||||||
|
|
||||||
|
Also, note that, unlike filesystem UUIDs, UUIDs for encrypted devices must be
|
||||||
|
specified without dash separators.
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@node cutmem
|
@node cutmem
|
||||||
@@ -4314,7 +4319,6 @@ function is supported, as Argon2 is not yet supported.
|
|||||||
|
|
||||||
@deffn Command cutmem from[K|M|G] to[K|M|G]
|
@deffn Command cutmem from[K|M|G] to[K|M|G]
|
||||||
Remove any memory regions in specified range.
|
Remove any memory regions in specified range.
|
||||||
@end deffn
|
|
||||||
|
|
||||||
This command notifies the memory manager that specified regions of RAM ought to
|
This command notifies the memory manager that specified regions of RAM ought to
|
||||||
be filtered out. This remains in effect after a payload kernel has been loaded
|
be filtered out. This remains in effect after a payload kernel has been loaded
|
||||||
@@ -4327,6 +4331,7 @@ The command is similar to @command{badram} command.
|
|||||||
Note: The command is not allowed when lockdown is enforced (@pxref{Lockdown}).
|
Note: The command is not allowed when lockdown is enforced (@pxref{Lockdown}).
|
||||||
This prevents removing EFI memory regions to potentially subvert the
|
This prevents removing EFI memory regions to potentially subvert the
|
||||||
security mechanisms provided by the UEFI secure boot.
|
security mechanisms provided by the UEFI secure boot.
|
||||||
|
@end deffn
|
||||||
|
|
||||||
@node date
|
@node date
|
||||||
@subsection date
|
@subsection date
|
||||||
|
|||||||
@@ -82,7 +82,7 @@ grub_usb_hub_add_dev (grub_usb_controller_t controller,
|
|||||||
if (i == GRUB_USBHUB_MAX_DEVICES)
|
if (i == GRUB_USBHUB_MAX_DEVICES)
|
||||||
{
|
{
|
||||||
grub_error (GRUB_ERR_IO, "can't assign address to USB device");
|
grub_error (GRUB_ERR_IO, "can't assign address to USB device");
|
||||||
for (i = 0; i < 8; i++)
|
for (i = 0; i < GRUB_USB_MAX_CONF; i++)
|
||||||
grub_free (dev->config[i].descconf);
|
grub_free (dev->config[i].descconf);
|
||||||
grub_free (dev);
|
grub_free (dev);
|
||||||
return NULL;
|
return NULL;
|
||||||
@@ -96,7 +96,7 @@ grub_usb_hub_add_dev (grub_usb_controller_t controller,
|
|||||||
i, 0, 0, NULL);
|
i, 0, 0, NULL);
|
||||||
if (err)
|
if (err)
|
||||||
{
|
{
|
||||||
for (i = 0; i < 8; i++)
|
for (i = 0; i < GRUB_USB_MAX_CONF; i++)
|
||||||
grub_free (dev->config[i].descconf);
|
grub_free (dev->config[i].descconf);
|
||||||
grub_free (dev);
|
grub_free (dev);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|||||||
@@ -70,7 +70,7 @@ grub_ls_list_devices (int longlist)
|
|||||||
FOR_NET_APP_LEVEL (proto)
|
FOR_NET_APP_LEVEL (proto)
|
||||||
{
|
{
|
||||||
if (first)
|
if (first)
|
||||||
grub_puts_ (N_ ("Network protocols:"));
|
grub_puts_ (N_("Network protocols:"));
|
||||||
first = 0;
|
first = 0;
|
||||||
grub_printf ("%s ", proto->name);
|
grub_printf ("%s ", proto->name);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ handle_command (int argc, char **args, struct abstract_terminal **enabled,
|
|||||||
i++;
|
i++;
|
||||||
|
|
||||||
if (i == argc)
|
if (i == argc)
|
||||||
return grub_error (GRUB_ERR_BAD_ARGUMENT, N_ ("no terminal specified"));
|
return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("no terminal specified"));
|
||||||
|
|
||||||
for (; i < argc; i++)
|
for (; i < argc; i++)
|
||||||
{
|
{
|
||||||
@@ -241,8 +241,8 @@ grub_cmd_terminal_input (grub_command_t cmd __attribute__ ((unused)),
|
|||||||
(struct abstract_terminal **) (void *) &grub_term_inputs,
|
(struct abstract_terminal **) (void *) &grub_term_inputs,
|
||||||
(struct abstract_terminal **) (void *) &grub_term_inputs_disabled,
|
(struct abstract_terminal **) (void *) &grub_term_inputs_disabled,
|
||||||
grub_term_input_autoload,
|
grub_term_input_autoload,
|
||||||
N_ ("Active input terminals:"),
|
N_("Active input terminals:"),
|
||||||
N_ ("Available input terminals:"));
|
N_("Available input terminals:"));
|
||||||
}
|
}
|
||||||
|
|
||||||
static grub_err_t
|
static grub_err_t
|
||||||
@@ -258,8 +258,8 @@ grub_cmd_terminal_output (grub_command_t cmd __attribute__ ((unused)),
|
|||||||
(struct abstract_terminal **) (void *) &grub_term_outputs,
|
(struct abstract_terminal **) (void *) &grub_term_outputs,
|
||||||
(struct abstract_terminal **) (void *) &grub_term_outputs_disabled,
|
(struct abstract_terminal **) (void *) &grub_term_outputs_disabled,
|
||||||
grub_term_output_autoload,
|
grub_term_output_autoload,
|
||||||
N_ ("Active output terminals:"),
|
N_("Active output terminals:"),
|
||||||
N_ ("Available output terminals:"));
|
N_("Available output terminals:"));
|
||||||
}
|
}
|
||||||
|
|
||||||
static grub_command_t cmd_terminal_input, cmd_terminal_output;
|
static grub_command_t cmd_terminal_input, cmd_terminal_output;
|
||||||
|
|||||||
@@ -612,6 +612,7 @@ luks2_recover_key (grub_disk_t source,
|
|||||||
/* Try all keyslot */
|
/* Try all keyslot */
|
||||||
for (json_idx = 0; json_idx < size; json_idx++)
|
for (json_idx = 0; json_idx < size; json_idx++)
|
||||||
{
|
{
|
||||||
|
char indexstr[21]; /* log10(2^64) ~ 20, plus NUL character. */
|
||||||
typeof (source->total_sectors) max_crypt_sectors = 0;
|
typeof (source->total_sectors) max_crypt_sectors = 0;
|
||||||
|
|
||||||
grub_errno = GRUB_ERR_NONE;
|
grub_errno = GRUB_ERR_NONE;
|
||||||
@@ -732,11 +733,12 @@ luks2_recover_key (grub_disk_t source,
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
grub_snprintf (indexstr, sizeof (indexstr) - 1, "%" PRIuGRUB_UINT64_T, keyslot.idx);
|
||||||
/*
|
/*
|
||||||
* TRANSLATORS: It's a cryptographic key slot: one element of an array
|
* TRANSLATORS: It's a cryptographic key slot: one element of an array
|
||||||
* where each element is either empty or holds a key.
|
* where each element is either empty or holds a key.
|
||||||
*/
|
*/
|
||||||
grub_printf_ (N_("Slot \"%" PRIuGRUB_UINT64_T "\" opened\n"), keyslot.idx);
|
grub_printf_ (N_("Slot \"%s\" opened\n"), indexstr);
|
||||||
|
|
||||||
candidate_key_len = keyslot.key_size;
|
candidate_key_len = keyslot.key_size;
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -121,10 +121,14 @@ grub_arch_efiemu_relocate_symbols64 (grub_efiemu_segment_t segs,
|
|||||||
return err;
|
return err;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
|
{
|
||||||
N_("relocation 0x%" PRIxGRUB_UINT64_T
|
char rel_info[17]; /* log16(2^64) = 16, plus NUL. */
|
||||||
" is not implemented yet"),
|
|
||||||
ELF_R_TYPE (rel->r_info));
|
grub_snprintf (rel_info, sizeof (rel_info) - 1, "%" PRIxGRUB_UINT64_T,
|
||||||
|
ELF_R_TYPE (rel->r_info));
|
||||||
|
return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
|
||||||
|
N_("relocation 0x%s is not implemented yet"), rel_info);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+17
-1
@@ -38,6 +38,8 @@ GRUB_MOD_LICENSE ("GPLv3+");
|
|||||||
#define GRUB_MINIX_MAGIC_30 0x138F
|
#define GRUB_MINIX_MAGIC_30 0x138F
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define EXT2_MAGIC 0xEF53
|
||||||
|
|
||||||
#define GRUB_MINIX_INODE_DIR_BLOCKS 7
|
#define GRUB_MINIX_INODE_DIR_BLOCKS 7
|
||||||
#define GRUB_MINIX_LOG2_BSIZE 1
|
#define GRUB_MINIX_LOG2_BSIZE 1
|
||||||
#define GRUB_MINIX_ROOT_INODE 1
|
#define GRUB_MINIX_ROOT_INODE 1
|
||||||
@@ -466,7 +468,21 @@ grub_minix_find_file (struct grub_minix_data *data, const char *path)
|
|||||||
static struct grub_minix_data *
|
static struct grub_minix_data *
|
||||||
grub_minix_mount (grub_disk_t disk)
|
grub_minix_mount (grub_disk_t disk)
|
||||||
{
|
{
|
||||||
struct grub_minix_data *data;
|
struct grub_minix_data *data = NULL;
|
||||||
|
grub_uint16_t ext2_marker;
|
||||||
|
|
||||||
|
grub_disk_read (disk, 2, 56, sizeof (ext2_marker), &ext2_marker);
|
||||||
|
if (grub_errno != GRUB_ERR_NONE)
|
||||||
|
goto fail;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The ext2 filesystems can sometimes be mistakenly identified as MINIX, e.g.
|
||||||
|
* due to the number of free ext2 inodes being written to the same location
|
||||||
|
* where the MINIX superblock magic is found. Avoid such situations by
|
||||||
|
* skipping any filesystems that have the ext2 superblock magic.
|
||||||
|
*/
|
||||||
|
if (ext2_marker == grub_cpu_to_le16_compile_time (EXT2_MAGIC))
|
||||||
|
goto fail;
|
||||||
|
|
||||||
data = grub_malloc (sizeof (struct grub_minix_data));
|
data = grub_malloc (sizeof (struct grub_minix_data));
|
||||||
if (!data)
|
if (!data)
|
||||||
|
|||||||
@@ -183,10 +183,14 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr,
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
|
{
|
||||||
N_("relocation 0x%" PRIxGRUB_UINT64_T
|
char rel_info[17]; /* log16(2^64) = 16, plus NUL. */
|
||||||
" is not implemented yet"),
|
|
||||||
ELF_R_TYPE (rel->r_info));
|
grub_snprintf (rel_info, sizeof (rel_info) - 1, "%" PRIxGRUB_UINT64_T,
|
||||||
|
ELF_R_TYPE (rel->r_info));
|
||||||
|
return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
|
||||||
|
N_("relocation 0x%s is not implemented yet"), rel_info);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -126,10 +126,14 @@ grub_efi_allocate_pages_real (grub_efi_physical_address_t address,
|
|||||||
/* Limit the memory access to less than 4GB for 32-bit platforms. */
|
/* Limit the memory access to less than 4GB for 32-bit platforms. */
|
||||||
if (address > GRUB_EFI_MAX_USABLE_ADDRESS)
|
if (address > GRUB_EFI_MAX_USABLE_ADDRESS)
|
||||||
{
|
{
|
||||||
|
char inv_addr[17], max_addr[17]; /* log16(2^64) = 16, plus NUL. */
|
||||||
|
|
||||||
|
grub_snprintf (inv_addr, sizeof (inv_addr) - 1, "%" PRIxGRUB_UINT64_T,
|
||||||
|
address);
|
||||||
|
grub_snprintf (max_addr, sizeof (max_addr) - 1, "%" PRIxGRUB_UINT64_T,
|
||||||
|
(grub_efi_uint64_t) GRUB_EFI_MAX_USABLE_ADDRESS);
|
||||||
grub_error (GRUB_ERR_BAD_ARGUMENT,
|
grub_error (GRUB_ERR_BAD_ARGUMENT,
|
||||||
N_("invalid memory address (0x%" PRIxGRUB_UINT64_T
|
N_("invalid memory address (0x%s > 0x%s)"), inv_addr, max_addr);
|
||||||
" > 0x%" PRIxGRUB_UINT64_T ")"),
|
|
||||||
address, (grub_efi_uint64_t) GRUB_EFI_MAX_USABLE_ADDRESS);
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -136,10 +136,14 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr,
|
|||||||
case R_IA64_LDXMOV:
|
case R_IA64_LDXMOV:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
|
{
|
||||||
N_("relocation 0x%" PRIxGRUB_UINT64_T
|
char rel_info[17]; /* log16(2^64) = 16, plus NUL. */
|
||||||
" is not implemented yet"),
|
|
||||||
ELF_R_TYPE (rel->r_info));
|
grub_snprintf (rel_info, sizeof (rel_info) - 1, "%" PRIxGRUB_UINT64_T,
|
||||||
|
ELF_R_TYPE (rel->r_info));
|
||||||
|
return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
|
||||||
|
N_("relocation 0x%s is not implemented yet"), rel_info);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return GRUB_ERR_NONE;
|
return GRUB_ERR_NONE;
|
||||||
|
|||||||
@@ -330,10 +330,14 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr,
|
|||||||
case R_RISCV_RELAX:
|
case R_RISCV_RELAX:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
|
{
|
||||||
N_("relocation 0x%" PRIxGRUB_UINT64_T
|
char rel_info[17]; /* log16(2^64) = 16, plus NUL. */
|
||||||
" is not implemented yet"),
|
|
||||||
(grub_uint64_t) ELF_R_TYPE (rel->r_info));
|
grub_snprintf (rel_info, sizeof (rel_info) - 1, "%" PRIxGRUB_UINT64_T,
|
||||||
|
(grub_uint64_t) ELF_R_TYPE (rel->r_info));
|
||||||
|
return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
|
||||||
|
N_("relocation 0x%s is not implemented yet"), rel_info);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -176,10 +176,14 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr,
|
|||||||
& 0x1fff);
|
& 0x1fff);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
|
{
|
||||||
N_("relocation 0x%" PRIxGRUB_UINT64_T
|
char rel_info[17]; /* log16(2^64) = 16, plus NUL. */
|
||||||
" is not implemented yet"),
|
|
||||||
ELF_R_TYPE (rel->r_info));
|
grub_snprintf (rel_info, sizeof (rel_info) - 1, "%" PRIxGRUB_UINT64_T,
|
||||||
|
ELF_R_TYPE (rel->r_info));
|
||||||
|
return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
|
||||||
|
N_("relocation 0x%s is not implemented yet"), rel_info);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -106,10 +106,14 @@ grub_arch_dl_relocate_symbols (grub_dl_t mod, void *ehdr,
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
|
{
|
||||||
N_("relocation 0x%" PRIxGRUB_UINT64_T
|
char rel_info[17]; /* log16(2^64) = 16, plus NUL. */
|
||||||
" is not implemented yet"),
|
|
||||||
ELF_R_TYPE (rel->r_info));
|
grub_snprintf (rel_info, sizeof (rel_info) - 1, "%" PRIxGRUB_UINT64_T,
|
||||||
|
ELF_R_TYPE (rel->r_info));
|
||||||
|
return grub_error (GRUB_ERR_NOT_IMPLEMENTED_YET,
|
||||||
|
N_("relocation 0x%s is not implemented yet"), rel_info);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -785,8 +785,8 @@ static grub_extcmd_t cmd;
|
|||||||
GRUB_MOD_INIT(terminfo)
|
GRUB_MOD_INIT(terminfo)
|
||||||
{
|
{
|
||||||
cmd = grub_register_extcmd ("terminfo", grub_cmd_terminfo, 0,
|
cmd = grub_register_extcmd ("terminfo", grub_cmd_terminfo, 0,
|
||||||
N_("[[-a|-u|-v] [-g WxH] TERM [TYPE]]"),
|
N_("[[-a|-u|-v] [-g WxH] [TERM] [TYPE]]"),
|
||||||
N_("Set terminfo type of TERM to TYPE.\n"),
|
N_("Set terminfo type of TERM to TYPE.\n"),
|
||||||
options);
|
options);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+10
-15
@@ -38,10 +38,9 @@
|
|||||||
static void
|
static void
|
||||||
grub_video_fbfill (struct grub_video_fbblit_info *dst,
|
grub_video_fbfill (struct grub_video_fbblit_info *dst,
|
||||||
grub_video_color_t color, int x, int y,
|
grub_video_color_t color, int x, int y,
|
||||||
int width, int height)
|
unsigned int width, unsigned int height)
|
||||||
{
|
{
|
||||||
int i;
|
unsigned int i, j;
|
||||||
int j;
|
|
||||||
|
|
||||||
for (j = 0; j < height; j++)
|
for (j = 0; j < height; j++)
|
||||||
for (i = 0; i < width; i++)
|
for (i = 0; i < width; i++)
|
||||||
@@ -53,10 +52,9 @@ grub_video_fbfill (struct grub_video_fbblit_info *dst,
|
|||||||
static void
|
static void
|
||||||
grub_video_fbfill_direct32 (struct grub_video_fbblit_info *dst,
|
grub_video_fbfill_direct32 (struct grub_video_fbblit_info *dst,
|
||||||
grub_video_color_t color, int x, int y,
|
grub_video_color_t color, int x, int y,
|
||||||
int width, int height)
|
unsigned int width, unsigned int height)
|
||||||
{
|
{
|
||||||
int i;
|
unsigned int i, j;
|
||||||
int j;
|
|
||||||
grub_uint32_t *dstptr;
|
grub_uint32_t *dstptr;
|
||||||
grub_size_t rowskip;
|
grub_size_t rowskip;
|
||||||
|
|
||||||
@@ -84,10 +82,9 @@ grub_video_fbfill_direct32 (struct grub_video_fbblit_info *dst,
|
|||||||
static void
|
static void
|
||||||
grub_video_fbfill_direct24 (struct grub_video_fbblit_info *dst,
|
grub_video_fbfill_direct24 (struct grub_video_fbblit_info *dst,
|
||||||
grub_video_color_t color, int x, int y,
|
grub_video_color_t color, int x, int y,
|
||||||
int width, int height)
|
unsigned int width, unsigned int height)
|
||||||
{
|
{
|
||||||
int i;
|
unsigned int i, j;
|
||||||
int j;
|
|
||||||
grub_size_t rowskip;
|
grub_size_t rowskip;
|
||||||
grub_uint8_t *dstptr;
|
grub_uint8_t *dstptr;
|
||||||
#ifndef GRUB_CPU_WORDS_BIGENDIAN
|
#ifndef GRUB_CPU_WORDS_BIGENDIAN
|
||||||
@@ -127,10 +124,9 @@ grub_video_fbfill_direct24 (struct grub_video_fbblit_info *dst,
|
|||||||
static void
|
static void
|
||||||
grub_video_fbfill_direct16 (struct grub_video_fbblit_info *dst,
|
grub_video_fbfill_direct16 (struct grub_video_fbblit_info *dst,
|
||||||
grub_video_color_t color, int x, int y,
|
grub_video_color_t color, int x, int y,
|
||||||
int width, int height)
|
unsigned int width, unsigned int height)
|
||||||
{
|
{
|
||||||
int i;
|
unsigned int i, j;
|
||||||
int j;
|
|
||||||
grub_size_t rowskip;
|
grub_size_t rowskip;
|
||||||
grub_uint16_t *dstptr;
|
grub_uint16_t *dstptr;
|
||||||
|
|
||||||
@@ -158,10 +154,9 @@ grub_video_fbfill_direct16 (struct grub_video_fbblit_info *dst,
|
|||||||
static void
|
static void
|
||||||
grub_video_fbfill_direct8 (struct grub_video_fbblit_info *dst,
|
grub_video_fbfill_direct8 (struct grub_video_fbblit_info *dst,
|
||||||
grub_video_color_t color, int x, int y,
|
grub_video_color_t color, int x, int y,
|
||||||
int width, int height)
|
unsigned int width, unsigned int height)
|
||||||
{
|
{
|
||||||
int i;
|
unsigned int i, j;
|
||||||
int j;
|
|
||||||
grub_size_t rowskip;
|
grub_size_t rowskip;
|
||||||
grub_uint8_t *dstptr;
|
grub_uint8_t *dstptr;
|
||||||
grub_uint8_t fill = (grub_uint8_t)color & 0xFF;
|
grub_uint8_t fill = (grub_uint8_t)color & 0xFF;
|
||||||
|
|||||||
@@ -114,7 +114,7 @@ grub_buffer_peek_data_at (grub_buffer_t buf, grub_size_t off)
|
|||||||
{
|
{
|
||||||
if (grub_add (buf->pos, off, &off))
|
if (grub_add (buf->pos, off, &off))
|
||||||
{
|
{
|
||||||
grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected."));
|
grub_error (GRUB_ERR_OUT_OF_RANGE, N_("overflow is detected"));
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2388,6 +2388,10 @@ SUFFIX (grub_mkimage_load_image) (const char *kernel_path,
|
|||||||
layout->kernel_size += ALIGN_UP (layout->got_size, 16);
|
layout->kernel_size += ALIGN_UP (layout->got_size, 16);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if (image_target->id == IMAGE_EFI)
|
||||||
|
layout->kernel_size = ALIGN_UP (layout->kernel_size,
|
||||||
|
GRUB_PE32_FILE_ALIGNMENT);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ if ! command -v os-prober > /dev/null || ! command -v linux-boot-prober > /dev/n
|
|||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
grub_warn "$(gettext_printf "os-prober will be executed to detect other bootable partitions.\nIt's output will be used to detect bootable binaries on them and create new boot entries.")"
|
grub_warn "$(gettext_printf "os-prober will be executed to detect other bootable partitions.\nIts output will be used to detect bootable binaries on them and create new boot entries.")"
|
||||||
|
|
||||||
OSPROBED="`os-prober | tr ' ' '^' | paste -s -d ' '`"
|
OSPROBED="`os-prober | tr ' ' '^' | paste -s -d ' '`"
|
||||||
if [ -z "${OSPROBED}" ] ; then
|
if [ -z "${OSPROBED}" ] ; then
|
||||||
|
|||||||
Reference in new issue
Block a user