mirror of
https://src.fedoraproject.org/rpms/grub2.git
synced 2024-12-01 00:48:18 +00:00
98536ecf37
- Limit grub_malloc() on x86_64 to < 31bit addresses, as some devices seem to have a colossally broken storage controller (or UEFI driver) that can't do DMA to higher memory addresses, but fails silently. Resolves: rhbz#1626844 (possibly really resolving it this time.) - Also integrate Hans's attempt to fix the related error from -54, but do it the other way around: try the low addresses first and *then* the high one if the allocation fails. This way we'll get low regions by default, and if kernel/initramfs don't fit anywhere, it'll try the higher addresses. Related: rhbz#1624532 - Coalesce all the intermediate debugging junk from -54/-55/-56. Signed-off-by: Peter Jones <pjones@redhat.com>
132 lines
3.9 KiB
Diff
132 lines
3.9 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Peter Jones <pjones@redhat.com>
|
|
Date: Tue, 11 Sep 2018 14:20:37 -0400
|
|
Subject: [PATCH] Add a "version" command.
|
|
|
|
This adds a command that shows you info about grub's version, the grub target
|
|
platform, the compiler version, and if you built with
|
|
--with-rpm-version=<string>, the rpm package version.
|
|
|
|
Signed-off-by: Peter Jones <pjones@redhat.com>
|
|
---
|
|
configure.ac | 13 ++++++++++
|
|
grub-core/Makefile.core.def | 5 ++++
|
|
grub-core/commands/version.c | 56 ++++++++++++++++++++++++++++++++++++++++++++
|
|
config.h.in | 1 +
|
|
4 files changed, 75 insertions(+)
|
|
create mode 100644 grub-core/commands/version.c
|
|
|
|
diff --git a/configure.ac b/configure.ac
|
|
index 9323c125469..61c4683cb76 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -287,6 +287,19 @@ AC_SUBST(target_cpu)
|
|
AC_SUBST(platform)
|
|
|
|
# Define default variables
|
|
+have_with_rpm_version=n
|
|
+AC_ARG_WITH([rpm_version],
|
|
+ AS_HELP_STRING([--with-rpm-version=VERSION],
|
|
+ [set the rpm package version [[guessed]]]),
|
|
+ [have_with_rpm_version=y],
|
|
+ [have_with_rpm_version=n])
|
|
+if test x$have_with_rpm_version = xy; then
|
|
+ rpm_version="$with_rpm_version"
|
|
+else
|
|
+ rpm_version=""
|
|
+fi
|
|
+GRUB_RPM_VERSION="$rpm_version"
|
|
+AC_SUBST(GRUB_RPM_VERSION)
|
|
|
|
have_with_bootdir=n
|
|
AC_ARG_WITH([bootdir],
|
|
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
|
|
index 203584fb00b..701e5d32fa2 100644
|
|
--- a/grub-core/Makefile.core.def
|
|
+++ b/grub-core/Makefile.core.def
|
|
@@ -537,6 +537,11 @@ image = {
|
|
enable = mips_loongson;
|
|
};
|
|
|
|
+module = {
|
|
+ name = version;
|
|
+ common = commands/version.c;
|
|
+};
|
|
+
|
|
module = {
|
|
name = disk;
|
|
common = lib/disk.c;
|
|
diff --git a/grub-core/commands/version.c b/grub-core/commands/version.c
|
|
new file mode 100644
|
|
index 00000000000..f0966a518f7
|
|
--- /dev/null
|
|
+++ b/grub-core/commands/version.c
|
|
@@ -0,0 +1,56 @@
|
|
+/* version.c - Command to print the grub version and build info. */
|
|
+/*
|
|
+ * GRUB -- GRand Unified Bootloader
|
|
+ * Copyright (C) 2006,2007,2008 Free Software Foundation, Inc.
|
|
+ *
|
|
+ * GRUB is free software: you can redistribute it and/or modify
|
|
+ * it under the terms of the GNU General Public License as published by
|
|
+ * the Free Software Foundation, either version 3 of the License, or
|
|
+ * (at your option) any later version.
|
|
+ *
|
|
+ * GRUB is distributed in the hope that it will be useful,
|
|
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
+ * GNU General Public License for more details.
|
|
+ *
|
|
+ * You should have received a copy of the GNU General Public License
|
|
+ * along with GRUB. If not, see <http://www.gnu.org/licenses/>.
|
|
+ */
|
|
+
|
|
+#include <grub/dl.h>
|
|
+#include <grub/term.h>
|
|
+#include <grub/time.h>
|
|
+#include <grub/types.h>
|
|
+#include <grub/misc.h>
|
|
+#include <grub/extcmd.h>
|
|
+#include <grub/i18n.h>
|
|
+
|
|
+GRUB_MOD_LICENSE ("GPLv3+");
|
|
+
|
|
+static grub_err_t
|
|
+grub_cmd_version (grub_command_t cmd UNUSED, int argc, char **args UNUSED)
|
|
+{
|
|
+ if (argc != 0)
|
|
+ return grub_error (GRUB_ERR_BAD_ARGUMENT, N_("no arguments expected"));
|
|
+
|
|
+ grub_printf (_("GNU GRUB version %s\n"), PACKAGE_VERSION);
|
|
+ grub_printf (_("Platform %s-%s\n"), GRUB_TARGET_CPU, GRUB_PLATFORM);
|
|
+ if (grub_strlen(GRUB_RPM_VERSION) != 0)
|
|
+ grub_printf (_("RPM package version %s\n"), GRUB_RPM_VERSION);
|
|
+ grub_printf (_("Compiler version %s\n"), __VERSION__);
|
|
+
|
|
+ return 0;
|
|
+}
|
|
+
|
|
+static grub_command_t cmd;
|
|
+
|
|
+GRUB_MOD_INIT(version)
|
|
+{
|
|
+ cmd = grub_register_command ("version", grub_cmd_version, NULL,
|
|
+ N_("Print version and build information."));
|
|
+}
|
|
+
|
|
+GRUB_MOD_FINI(version)
|
|
+{
|
|
+ grub_unregister_command (cmd);
|
|
+}
|
|
diff --git a/config.h.in b/config.h.in
|
|
index 9e8f9911b18..c7e316f0f1f 100644
|
|
--- a/config.h.in
|
|
+++ b/config.h.in
|
|
@@ -59,6 +59,7 @@
|
|
|
|
#define GRUB_TARGET_CPU "@GRUB_TARGET_CPU@"
|
|
#define GRUB_PLATFORM "@GRUB_PLATFORM@"
|
|
+#define GRUB_RPM_VERSION "@GRUB_RPM_VERSION@"
|
|
|
|
#define RE_ENABLE_I18N 1
|
|
|