Add an auto-nvram option to grub-install for auto-detecting NVRAM access
This adds the auto-nvram functionality of only attempting the NVRAM
variable update if the system has access to those. Useful for dual
BIOS-EFI devices.
debian/patches/yylex-explicitly_cast_fprintf_to_void.patch: Fix FTBFS
with flex 2.6.4:
grub_script.yy.c: In function ‘yy_fatal_error’:
grub_script.yy.c:19:22: error: statement with no effect [-Werror=unused-value]
#define fprintf(...) 0 ^
grub_script.yy.c:2367:2: note: in expansion of macro ‘fprintf’
fprintf( stderr, "%s\n", msg );
^~~~~~~
cc1: all warnings being treated as errors
video: skip 'text' gfxpayload if not supported, to fallback to default
On UEFI, 'text' gfxpayload is not supported, but we still reach parse_modespec
with it, which will obviously fail. Fortunately, whatever gfxpayload is set,
we still still have the 'auto' default to fall back to. Allow getting to this
fallback by not trying to parse 'text' as a modespec.
This is because 'text' correctly doesn't parse as a modespec, and ought to have
been ignored before we got to that point, just like it is immediately picked if
we're running on a system where 'text' is a supported video mode.
Show only upstream version, hide rest in package_version variable
The complete package version can get a bit long, so only show the
upstream version in the menu and on the top of the console, and
hide the complete version in a package_version variable.
Don't use arbitrary file sizes as block sizes in bufio
When grub_bufio_open() is called with a buffer size greater than the size
of the file being buffered, it clamps the buffer size to the file size.
This seems sensible on the surface to avoid over-allocating memory, but
grub_bufio_read() also assumes that ~(block_size-1) gives a sensible
mask value... which is only true for power of 2 block sizes, not for
random file sizes.
If the file we're buffering is on tftp, we get particularly pathological
results because we wind up seeking backwards which requires re-requesting
the file from the tftp server - even though the whole file fit in a single
udp packet much smaller than the default buffer size.