[OpenWrt-Devel] [PATCH 2/3] grub2: split to grub2 and grub2-efi packages

李国 uxgood.org at gmail.com
Thu Apr 4 05:46:25 EDT 2019


EFI bootable images need grub2 host packages with efi platform,
but grub2 can not build efi platform and pc platform together,
so we split it to grub2 and grub2-efi packages.

Signed-off-by: 李国 <uxgood.org at gmail.com>
---
 package/boot/grub2/Makefile           | 93 -----------------------------------
 package/boot/grub2/common.mk          | 55 +++++++++++++++++++++
 package/boot/grub2/grub2-efi/Makefile | 19 +++++++
 package/boot/grub2/grub2/Makefile     | 46 +++++++++++++++++
 4 files changed, 120 insertions(+), 93 deletions(-)
 delete mode 100644 package/boot/grub2/Makefile
 create mode 100644 package/boot/grub2/common.mk
 create mode 100644 package/boot/grub2/grub2-efi/Makefile
 create mode 100644 package/boot/grub2/grub2/Makefile

diff --git a/package/boot/grub2/Makefile b/package/boot/grub2/Makefile
deleted file mode 100644
index d6af651..0000000
--- a/package/boot/grub2/Makefile
+++ /dev/null
@@ -1,93 +0,0 @@
-#
-# Copyright (C) 2006-2015 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-include $(TOPDIR)/rules.mk
-include $(INCLUDE_DIR)/kernel.mk
-
-PKG_NAME:=grub
-PKG_CPE_ID:=cpe:/a:gnu:grub2
-PKG_VERSION:=2.02
-PKG_RELEASE:=3
-
-PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
-PKG_SOURCE_URL:=@GNU/grub
-PKG_HASH:=810b3798d316394f94096ec2797909dbf23c858e48f7b3830826b8daa06b7b0f
-
-PKG_FIXUP:=autoreconf
-HOST_BUILD_PARALLEL:=1
-PKG_BUILD_DEPENDS:=grub2/host
-
-PKG_SSP:=0
-
-PKG_FLAGS:=nonshared
-
-include $(INCLUDE_DIR)/host-build.mk
-include $(INCLUDE_DIR)/package.mk
-
-define Package/grub2
-  CATEGORY:=Boot Loaders
-  SECTION:=boot
-  TITLE:=GRand Unified Bootloader
-  URL:=http://www.gnu.org/software/grub/
-  DEPENDS:=@TARGET_x86
-endef
-
-define Package/grub2-editenv
-  CATEGORY:=Utilities
-  SECTION:=utils
-  SUBMENU:=Boot Loaders
-  TITLE:=Grub2 Environment editor
-  URL:=http://www.gnu.org/software/grub/
-  DEPENDS:=@TARGET_x86
-endef
-
-define Package/grub2-editenv/description
-	Edit grub2 environment files.
-endef
-
-HOST_BUILD_PREFIX := $(STAGING_DIR_HOST)
-
-CONFIGURE_VARS += \
-	grub_build_mkfont_excuse="don't want fonts"
-
-CONFIGURE_ARGS += \
-	--target=$(REAL_GNU_TARGET_NAME) \
-	--disable-werror \
-	--disable-nls \
-	--disable-device-mapper \
-	--disable-libzfs \
-	--disable-grub-mkfont \
-	--with-platform=none
-
-HOST_CONFIGURE_VARS += \
-	grub_build_mkfont_excuse="don't want fonts"
-
-HOST_CONFIGURE_ARGS += \
-	--disable-grub-mkfont \
-	--target=$(REAL_GNU_TARGET_NAME) \
-	--sbindir="$(STAGING_DIR_HOST)/bin" \
-	--disable-werror \
-	--disable-libzfs \
-	--disable-nls
-
-HOST_MAKE_FLAGS += \
-	TARGET_RANLIB=$(TARGET_RANLIB) \
-	LIBLZMA=$(STAGING_DIR_HOST)/lib/liblzma.a
-
-define Host/Configure
-	$(SED) 's,(RANLIB),(TARGET_RANLIB),' $(HOST_BUILD_DIR)/grub-core/Makefile.in
-	$(Host/Configure/Default)
-endef
-
-define Package/grub2-editenv/install
-	$(INSTALL_DIR) $(1)/usr/sbin
-	$(INSTALL_BIN) $(PKG_BUILD_DIR)/grub-editenv $(1)/usr/sbin/
-endef
-
-$(eval $(call HostBuild))
-$(eval $(call BuildPackage,grub2))
-$(eval $(call BuildPackage,grub2-editenv))
diff --git a/package/boot/grub2/common.mk b/package/boot/grub2/common.mk
new file mode 100644
index 0000000..5c7e65d
--- /dev/null
+++ b/package/boot/grub2/common.mk
@@ -0,0 +1,55 @@
+#
+# Copyright (C) 2006-2015 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+include $(INCLUDE_DIR)/kernel.mk
+
+PKG_NAME:=grub
+PKG_CPE_ID:=cpe:/a:gnu:grub2
+PKG_VERSION:=2.02
+PKG_RELEASE:=3
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
+PKG_SOURCE_URL:=@GNU/grub
+PKG_HASH:=810b3798d316394f94096ec2797909dbf23c858e48f7b3830826b8daa06b7b0f
+
+PKG_FIXUP:=autoreconf
+HOST_BUILD_PARALLEL:=1
+
+PKG_SSP:=0
+
+PKG_FLAGS:=nonshared
+
+PATCH_DIR:=../patches
+
+HOST_BUILD_DIR ?= $(BUILD_DIR_HOST)/$(PKG_NAME)-$(GRUB_PLATFORM)/$(PKG_NAME)$(if $(PKG_VERSION),-$(PKG_VERSION))
+HOST_BUILD_PREFIX := $(STAGING_DIR_HOST)
+
+include $(INCLUDE_DIR)/host-build.mk
+include $(INCLUDE_DIR)/package.mk
+
+
+HOST_CONFIGURE_VARS += \
+	grub_build_mkfont_excuse="don't want fonts"
+
+HOST_CONFIGURE_ARGS += \
+	--disable-grub-mkfont \
+	--target=$(REAL_GNU_TARGET_NAME) \
+	--sbindir="$(STAGING_DIR_HOST)/bin" \
+	--disable-werror \
+	--disable-libzfs \
+	--disable-nls \
+	--with-platform=$(GRUB_PLATFORM)
+
+HOST_MAKE_FLAGS += \
+	TARGET_RANLIB=$(TARGET_RANLIB) \
+	LIBLZMA=$(STAGING_DIR_HOST)/lib/liblzma.a
+
+define Host/Configure
+	$(SED) 's,(RANLIB),(TARGET_RANLIB),' $(HOST_BUILD_DIR)/grub-core/Makefile.in
+	$(Host/Configure/Default)
+endef
diff --git a/package/boot/grub2/grub2-efi/Makefile b/package/boot/grub2/grub2-efi/Makefile
new file mode 100644
index 0000000..2fc21fd
--- /dev/null
+++ b/package/boot/grub2/grub2-efi/Makefile
@@ -0,0 +1,19 @@
+GRUB_PLATFORM:=efi
+
+PKG_BUILD_DEPENDS:=grub2-efi/host
+include ../common.mk
+
+define Package/grub2-efi
+  CATEGORY:=Boot Loaders
+  SECTION:=boot
+  TITLE:=GRand Unified Bootloader(EFI)
+  URL:=http://www.gnu.org/software/grub/
+  DEPENDS:=@TARGET_x86
+endef
+
+define Host/Install
+	$(call Host/Compile/Default,install-data)
+endef
+
+$(eval $(call HostBuild))
+$(eval $(call BuildPackage,grub2-efi))
diff --git a/package/boot/grub2/grub2/Makefile b/package/boot/grub2/grub2/Makefile
new file mode 100644
index 0000000..b1db132
--- /dev/null
+++ b/package/boot/grub2/grub2/Makefile
@@ -0,0 +1,46 @@
+GRUB_PLATFORM:=pc
+
+PKG_BUILD_DEPENDS:=grub2/host
+include ../common.mk
+
+define Package/grub2
+  CATEGORY:=Boot Loaders
+  SECTION:=boot
+  TITLE:=GRand Unified Bootloader
+  URL:=http://www.gnu.org/software/grub/
+  DEPENDS:=@TARGET_x86
+endef
+
+define Package/grub2-editenv
+  CATEGORY:=Utilities
+  SECTION:=utils
+  SUBMENU:=Boot Loaders
+  TITLE:=Grub2 Environment editor
+  URL:=http://www.gnu.org/software/grub/
+  DEPENDS:=@TARGET_x86
+endef
+
+define Package/grub2-editenv/description
+	Edit grub2 environment files.
+endef
+
+CONFIGURE_VARS += \
+	grub_build_mkfont_excuse="don't want fonts"
+
+CONFIGURE_ARGS += \
+	--target=$(REAL_GNU_TARGET_NAME) \
+	--disable-werror \
+	--disable-nls \
+	--disable-device-mapper \
+	--disable-libzfs \
+	--disable-grub-mkfont \
+	--with-platform=none
+
+define Package/grub2-editenv/install
+	$(INSTALL_DIR) $(1)/usr/sbin
+	$(INSTALL_BIN) $(PKG_BUILD_DIR)/grub-editenv $(1)/usr/sbin/
+endef
+
+$(eval $(call HostBuild))
+$(eval $(call BuildPackage,grub2))
+$(eval $(call BuildPackage,grub2-editenv))
-- 
1.8.3.1


_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list