Support for automatically trying to boot Linux without an initramfs, and automatically falling back to a boot with initramfs, in cases that we can detect that the kernel may not need an initramfs in order to resolve the root disk name.
As mentioned on IRC, this is broken, looks like the original support_initrdless_ patch was mangled in the process -- merge shows 'GRUB_DISABLE_INITRD' dropped, but the patch itself seems unchanged in the tree.
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.
tsc: Change default tsc calibration method to pmtimer on EFI systems
On efi systems, make pmtimer based tsc calibration the default over the
pit. This prevents Grub from hanging on Intel SoC systems that power gate
the pit.
Signed-off-by: David E. Box <email address hidden>
Reviewed-by: Daniel Kiper <email address hidden>
There are a few cases where we legitimately cast to memory that is bigger
than we need when building on one arch, because on a different arch it will
be just right. For example, grub_status_t can be int32 or int64, depending
on the size of void*.
Looks good. +1
(This was pair programmed between vorlon and I during a sprint "coding day" last week)