mirror of
https://src.fedoraproject.org/rpms/grub2.git
synced 2024-11-24 14:32:58 +00:00
Make a couple of commands be built differently.
Signed-off-by: Peter Jones <pjones@redhat.com>
This commit is contained in:
parent
3e6c63597b
commit
ebe16ceeab
3 changed files with 215 additions and 11 deletions
|
@ -1,28 +1,73 @@
|
||||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
From a0bf57e044141d5807759da2da67a71d2f7f4f42 Mon Sep 17 00:00:00 2001
|
||||||
From: Peter Jones <pjones@redhat.com>
|
From: Peter Jones <pjones@redhat.com>
|
||||||
Date: Thu, 12 Jul 2018 11:00:45 -0400
|
Date: Thu, 12 Jul 2018 11:00:45 -0400
|
||||||
Subject: [PATCH] Don't build the fdt command.
|
Subject: [PATCH] Don't build the fdt command
|
||||||
|
|
||||||
|
Don't build the fdt command separately but *do* build it into the arm64 kernel.
|
||||||
|
|
||||||
|
Trying to avoid all variants of:
|
||||||
|
cat syminfo.lst | sort | gawk -f ../../grub-core/genmoddep.awk > moddep.lst || (rm -f moddep.lst; exit 1)
|
||||||
|
grub_fdt_install in linux is not defined
|
||||||
|
grub_fdt_load in linux is not defined
|
||||||
|
grub_fdt_unload in linux is not defined
|
||||||
|
grub_fdt_install in xen_boot is not defined
|
||||||
|
grub_fdt_load in xen_boot is not defined
|
||||||
|
grub_fdt_unload in xen_boot is not defined
|
||||||
|
|
||||||
Don't build the fdt command separately but *do* build it into the arm64 kernel.
|
Don't build the fdt command separately but *do* build it into the arm64 kernel.
|
||||||
|
|
||||||
Signed-off-by: Peter Jones <pjones@redhat.com>
|
Signed-off-by: Peter Jones <pjones@redhat.com>
|
||||||
---
|
---
|
||||||
grub-core/Makefile.core.def | 3 +++
|
grub-core/Makefile.core.def | 15 ++++++++++++---
|
||||||
1 file changed, 3 insertions(+)
|
grub-core/kern/efi/fdt.c | 43 -------------------------------------------
|
||||||
|
grub-core/loader/efi/fdt.c | 22 ++++++++++++++++++++++
|
||||||
|
include/grub/efi/efi.h | 4 ----
|
||||||
|
4 files changed, 34 insertions(+), 50 deletions(-)
|
||||||
|
|
||||||
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
|
diff --git a/grub-core/Makefile.core.def b/grub-core/Makefile.core.def
|
||||||
index 9039a6f73a3..aabe53262f0 100644
|
index 9039a6f73a3..ff6fa4bd000 100644
|
||||||
--- a/grub-core/Makefile.core.def
|
--- a/grub-core/Makefile.core.def
|
||||||
+++ b/grub-core/Makefile.core.def
|
+++ b/grub-core/Makefile.core.def
|
||||||
@@ -246,6 +246,7 @@ kernel = {
|
@@ -242,10 +242,8 @@ kernel = {
|
||||||
|
|
||||||
|
arm_efi = kern/arm/efi/init.c;
|
||||||
|
arm_efi = kern/arm/efi/misc.c;
|
||||||
|
- arm_efi = kern/efi/fdt.c;
|
||||||
|
|
||||||
arm64_efi = kern/arm64/efi/init.c;
|
arm64_efi = kern/arm64/efi/init.c;
|
||||||
arm64_efi = kern/efi/fdt.c;
|
- arm64_efi = kern/efi/fdt.c;
|
||||||
+ arm64_efi = loader/efi/fdt.c;
|
|
||||||
|
|
||||||
i386_pc = kern/i386/pc/init.c;
|
i386_pc = kern/i386/pc/init.c;
|
||||||
i386_pc = kern/i386/pc/mmap.c;
|
i386_pc = kern/i386/pc/mmap.c;
|
||||||
@@ -1729,12 +1730,14 @@ module = {
|
@@ -1701,11 +1699,17 @@ module = {
|
||||||
|
enable = i386_pc;
|
||||||
|
};
|
||||||
|
|
||||||
|
+/*
|
||||||
|
module = {
|
||||||
|
name = xen_boot;
|
||||||
|
arm64 = loader/arm64/xen_boot.c;
|
||||||
|
+
|
||||||
|
+ fdt = lib/fdt.c;
|
||||||
|
+ fdt = loader/efi/fdt.c;
|
||||||
|
+
|
||||||
|
enable = arm64;
|
||||||
|
};
|
||||||
|
+*/
|
||||||
|
|
||||||
|
module = {
|
||||||
|
name = linux;
|
||||||
|
@@ -1721,7 +1725,9 @@ module = {
|
||||||
|
arm = loader/arm/linux.c;
|
||||||
|
arm64 = loader/arm64/linux.c;
|
||||||
|
emu = loader/emu/linux.c;
|
||||||
|
+
|
||||||
|
fdt = lib/fdt.c;
|
||||||
|
+ fdt = loader/efi/fdt.c;
|
||||||
|
|
||||||
|
common = loader/linux.c;
|
||||||
|
common = lib/cmdline.c;
|
||||||
|
@@ -1729,12 +1735,14 @@ module = {
|
||||||
efi = loader/efi/linux.c;
|
efi = loader/efi/linux.c;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -37,3 +82,110 @@ index 9039a6f73a3..aabe53262f0 100644
|
||||||
|
|
||||||
module = {
|
module = {
|
||||||
name = xnu;
|
name = xnu;
|
||||||
|
@@ -1795,7 +1803,8 @@ module = {
|
||||||
|
i386_coreboot = lib/LzmaDec.c;
|
||||||
|
enable = i386_pc;
|
||||||
|
enable = i386_coreboot;
|
||||||
|
- enable = efi;
|
||||||
|
+ enable = i386_efi;
|
||||||
|
+ enable = x86_64_efi;
|
||||||
|
};
|
||||||
|
|
||||||
|
module = {
|
||||||
|
diff --git a/grub-core/kern/efi/fdt.c b/grub-core/kern/efi/fdt.c
|
||||||
|
deleted file mode 100644
|
||||||
|
index 30100c61c14..00000000000
|
||||||
|
--- a/grub-core/kern/efi/fdt.c
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1,43 +0,0 @@
|
||||||
|
-/* fdt.c - EFI Flattened Device Tree interaction */
|
||||||
|
-/*
|
||||||
|
- * GRUB -- GRand Unified Bootloader
|
||||||
|
- * Copyright (C) 2006,2007 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/efi/efi.h>
|
||||||
|
-#include <grub/mm.h>
|
||||||
|
-
|
||||||
|
-void *
|
||||||
|
-grub_efi_get_firmware_fdt (void)
|
||||||
|
-{
|
||||||
|
- grub_efi_configuration_table_t *tables;
|
||||||
|
- grub_efi_guid_t fdt_guid = GRUB_EFI_DEVICE_TREE_GUID;
|
||||||
|
- void *firmware_fdt = NULL;
|
||||||
|
- unsigned int i;
|
||||||
|
-
|
||||||
|
- /* Look for FDT in UEFI config tables. */
|
||||||
|
- tables = grub_efi_system_table->configuration_table;
|
||||||
|
-
|
||||||
|
- for (i = 0; i < grub_efi_system_table->num_table_entries; i++)
|
||||||
|
- if (grub_memcmp (&tables[i].vendor_guid, &fdt_guid, sizeof (fdt_guid)) == 0)
|
||||||
|
- {
|
||||||
|
- firmware_fdt = tables[i].vendor_table;
|
||||||
|
- grub_dprintf ("linux", "found registered FDT @ %p\n", firmware_fdt);
|
||||||
|
- break;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- return firmware_fdt;
|
||||||
|
-}
|
||||||
|
diff --git a/grub-core/loader/efi/fdt.c b/grub-core/loader/efi/fdt.c
|
||||||
|
index a4c6e803645..55c09a19939 100644
|
||||||
|
--- a/grub-core/loader/efi/fdt.c
|
||||||
|
+++ b/grub-core/loader/efi/fdt.c
|
||||||
|
@@ -35,6 +35,28 @@ static void *fdt;
|
||||||
|
sizeof (FDT_ADDR_CELLS_STRING) + \
|
||||||
|
sizeof (FDT_SIZE_CELLS_STRING))
|
||||||
|
|
||||||
|
+static void *
|
||||||
|
+grub_efi_get_firmware_fdt (void)
|
||||||
|
+{
|
||||||
|
+ grub_efi_configuration_table_t *tables;
|
||||||
|
+ grub_efi_guid_t fdt_guid = GRUB_EFI_DEVICE_TREE_GUID;
|
||||||
|
+ void *firmware_fdt = NULL;
|
||||||
|
+ unsigned int i;
|
||||||
|
+
|
||||||
|
+ /* Look for FDT in UEFI config tables. */
|
||||||
|
+ tables = grub_efi_system_table->configuration_table;
|
||||||
|
+
|
||||||
|
+ for (i = 0; i < grub_efi_system_table->num_table_entries; i++)
|
||||||
|
+ if (grub_memcmp (&tables[i].vendor_guid, &fdt_guid, sizeof (fdt_guid)) == 0)
|
||||||
|
+ {
|
||||||
|
+ firmware_fdt = tables[i].vendor_table;
|
||||||
|
+ grub_dprintf ("linux", "found registered FDT @ %p\n", firmware_fdt);
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ return firmware_fdt;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
void *
|
||||||
|
grub_fdt_load (grub_size_t additional_size)
|
||||||
|
{
|
||||||
|
diff --git a/include/grub/efi/efi.h b/include/grub/efi/efi.h
|
||||||
|
index 29b4dbac1e4..f54828aaeae 100644
|
||||||
|
--- a/include/grub/efi/efi.h
|
||||||
|
+++ b/include/grub/efi/efi.h
|
||||||
|
@@ -123,10 +123,6 @@ extern void (*EXPORT_VAR(grub_efi_net_config)) (grub_efi_handle_t hnd,
|
||||||
|
char **device,
|
||||||
|
char **path);
|
||||||
|
|
||||||
|
-#if defined(__arm__) || defined(__aarch64__)
|
||||||
|
-void *EXPORT_FUNC(grub_efi_get_firmware_fdt)(void);
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
grub_addr_t grub_efi_section_addr (const char *section);
|
||||||
|
|
||||||
|
void grub_efi_mm_init (void);
|
||||||
|
|
52
Makefile
Normal file
52
Makefile
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
#
|
||||||
|
# Makefile
|
||||||
|
# Peter Jones, 2018-07-11 02:39
|
||||||
|
#
|
||||||
|
|
||||||
|
define get-config
|
||||||
|
$(shell git config --local --get "grub2.$(1)")
|
||||||
|
endef
|
||||||
|
|
||||||
|
FEDVER ?= $(call get-config, rebase.fedora-version)
|
||||||
|
ifeq ($(FEDVER),)
|
||||||
|
override FEDVER = 29
|
||||||
|
endif
|
||||||
|
|
||||||
|
ARCH ?=
|
||||||
|
ifneq ($(ARCH),)
|
||||||
|
override ARCH := $(foreach x,$(ARCH), --arch-override=$(x))
|
||||||
|
endif
|
||||||
|
|
||||||
|
# this is wacky because just using wildcard gets the list from before clean
|
||||||
|
# happens.
|
||||||
|
SOURCES ?= $(shell ls *.src.rpm)
|
||||||
|
|
||||||
|
all:
|
||||||
|
|
||||||
|
push :
|
||||||
|
git push
|
||||||
|
|
||||||
|
clean :
|
||||||
|
@rm -vf *.src.rpm
|
||||||
|
|
||||||
|
srpm : clean
|
||||||
|
fedpkg srpm
|
||||||
|
|
||||||
|
scratch: srpm
|
||||||
|
koji build --scratch ${ARCH} f${FEDVER} $(SOURCES)
|
||||||
|
|
||||||
|
release:
|
||||||
|
fedpkg build --target f${FEDVER} ${ARCH}
|
||||||
|
|
||||||
|
rebase:
|
||||||
|
./do-rebase --nocommit --nobumpspec f${FEDVER} ${REPO}
|
||||||
|
|
||||||
|
rpmspec:
|
||||||
|
rpmspec -D "_sourcedir $(shell pwd)" -P grub2.spec
|
||||||
|
|
||||||
|
local prep mockbuild compile :
|
||||||
|
fedpkg $@
|
||||||
|
|
||||||
|
.PHONY: all push srpm scratch release rebase rpmspec local prep mockbuild compile clean
|
||||||
|
|
||||||
|
# vim:ft=make
|
|
@ -86,7 +86,7 @@
|
||||||
%ifarch aarch64 %{arm}
|
%ifarch aarch64 %{arm}
|
||||||
%global efi_modules " "
|
%global efi_modules " "
|
||||||
%else
|
%else
|
||||||
%global efi_modules " backtrace usb usbserial_common usbserial_pl2303 usbserial_ftdi usbserial_usbdebug "
|
%global efi_modules " backtrace chain usb usbserial_common usbserial_pl2303 usbserial_ftdi usbserial_usbdebug "
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%ifarch aarch64 %{arm}
|
%ifarch aarch64 %{arm}
|
||||||
|
@ -339,7 +339,7 @@ done \
|
||||||
|
|
||||||
%define do_efi_build_images() \
|
%define do_efi_build_images() \
|
||||||
GRUB_MODULES=" all_video boot blscfg btrfs \\\
|
GRUB_MODULES=" all_video boot blscfg btrfs \\\
|
||||||
cat chain configfile \\\
|
cat configfile \\\
|
||||||
echo efi_netfs efifwsetup efinet ext2 \\\
|
echo efi_netfs efifwsetup efinet ext2 \\\
|
||||||
fat font gfxmenu gfxterm gzio \\\
|
fat font gfxmenu gfxterm gzio \\\
|
||||||
halt hfsplus http iso9660 jpeg \\\
|
halt hfsplus http iso9660 jpeg \\\
|
||||||
|
|
Loading…
Reference in a new issue