2 # Copyright (C) 2006-2015 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR
)/rules.mk
9 include $(INCLUDE_DIR
)/kernel.mk
12 PKG_CPE_ID
:=cpe
:/a
:gnu
:grub2
16 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.xz
17 PKG_SOURCE_URL
:=@GNU
/grub
18 PKG_HASH
:=e5292496995ad42dabe843a0192cf2a2c502e7ffcc7479398232b10a472df77d
20 HOST_BUILD_PARALLEL
:=1
21 PKG_BUILD_DEPENDS
:=grub2
/host
28 include $(INCLUDE_DIR
)/host-build.mk
29 include $(INCLUDE_DIR
)/package.mk
31 define Package
/grub2
/Default
32 CATEGORY
:=Boot Loaders
34 TITLE
:=GRand Unified Bootloader
($(1))
35 URL
:=http
://www.gnu.org
/software
/grub
/
40 Package
/grub2
=$(call Package
/grub2
/Default
,pc)
41 Package
/grub2-efi
=$(call Package
/grub2
/Default
,efi
)
43 define Package
/grub2-editenv
47 TITLE
:=Grub2 Environment editor
48 URL
:=http
://www.gnu.org
/software
/grub
/
53 define Package
/grub2-editenv
/description
54 Edit grub2 environment files.
57 HOST_BUILD_PREFIX
:= $(STAGING_DIR_HOST
)
60 grub_build_mkfont_excuse
="don't want fonts"
63 --target
=$(REAL_GNU_TARGET_NAME
) \
66 --disable-device-mapper \
68 --disable-grub-mkfont \
69 --with-platform
=$(BUILD_VARIANT
)
71 HOST_CONFIGURE_VARS
+= \
72 grub_build_mkfont_excuse
="don't want fonts"
74 HOST_CONFIGURE_ARGS
+= \
75 --disable-grub-mkfont \
76 --target
=$(REAL_GNU_TARGET_NAME
) \
77 --sbindir
="$(STAGING_DIR_HOST)/bin" \
84 TARGET_RANLIB
=$(TARGET_RANLIB
) \
85 LIBLZMA
=$(STAGING_DIR_HOST
)/lib
/liblzma.a
87 TARGET_CFLAGS
:= $(filter-out -fno-plt
,$(TARGET_CFLAGS
))
90 $(SED
) 's,(RANLIB),(TARGET_RANLIB),' $(HOST_BUILD_DIR
)/grub-core
/Makefile.in
91 $(Host
/Configure
/Default
)
94 define Package
/grub2
/install
95 $(INSTALL_DIR
) $(1)/usr
/sbin
96 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/grub-bios-setup
$(1)/usr
/sbin
/
97 $(INSTALL_DIR
) $(STAGING_DIR_IMAGE
)/grub2
98 $(CP
) $(PKG_BUILD_DIR
)/grub-core
/boot.img
$(STAGING_DIR_IMAGE
)/grub2
/
99 $(CP
) $(PKG_BUILD_DIR
)/grub-core
/cdboot.img
$(STAGING_DIR_IMAGE
)/grub2
/
100 sed
's#msdos1#gpt1#g' .
/files
/grub-early.cfg
>$(PKG_BUILD_DIR
)/grub-early.cfg
101 $(STAGING_DIR_HOST
)/bin
/grub-mkimage \
102 -d
$(PKG_BUILD_DIR
)/grub-core \
105 -c
$(PKG_BUILD_DIR
)/grub-early.cfg \
106 -o
$(STAGING_DIR_IMAGE
)/grub2
/gpt-core.img \
107 at_keyboard biosdisk boot chain configfile fat linux ls part_gpt reboot serial vga
108 $(STAGING_DIR_HOST
)/bin
/grub-mkimage \
109 -d
$(PKG_BUILD_DIR
)/grub-core \
112 -c .
/files
/grub-early.cfg \
113 -o
$(STAGING_DIR_IMAGE
)/grub2
/generic-core.img \
114 at_keyboard biosdisk boot chain configfile ext2 linux ls part_msdos reboot serial vga
115 $(STAGING_DIR_HOST
)/bin
/grub-mkimage \
116 -d
$(PKG_BUILD_DIR
)/grub-core \
119 -c .
/files
/grub-early.cfg \
120 -o
$(STAGING_DIR_IMAGE
)/grub2
/eltorito.img \
121 at_keyboard biosdisk boot chain configfile iso9660 linux ls part_msdos reboot serial
test vga
122 $(STAGING_DIR_HOST
)/bin
/grub-mkimage \
123 -d
$(PKG_BUILD_DIR
)/grub-core \
126 -c .
/files
/grub-early.cfg \
127 -o
$(STAGING_DIR_IMAGE
)/grub2
/legacy-core.img \
128 biosdisk boot chain configfile ext2 linux ls part_msdos reboot serial vga
131 define Package
/grub2-efi
/install
132 sed
's#msdos1#gpt1#g' .
/files
/grub-early.cfg
>$(PKG_BUILD_DIR
)/grub-early.cfg
133 $(STAGING_DIR_HOST
)/bin
/grub-mkimage \
134 -d
$(PKG_BUILD_DIR
)/grub-core \
136 -O
$(CONFIG_ARCH
)-efi \
137 -c
$(PKG_BUILD_DIR
)/grub-early.cfg \
138 -o
$(STAGING_DIR_IMAGE
)/grub2
/boot
$(if
$(CONFIG_x86_64
),x64
,ia32
).efi \
139 at_keyboard boot chain configfile fat linux ls part_gpt reboot serial efi_gop efi_uga
140 $(STAGING_DIR_HOST
)/bin
/grub-mkimage \
141 -d
$(PKG_BUILD_DIR
)/grub-core \
143 -O
$(CONFIG_ARCH
)-efi \
144 -c .
/files
/grub-early.cfg \
145 -o
$(STAGING_DIR_IMAGE
)/grub2
/iso-boot
$(if
$(CONFIG_x86_64
),x64
,ia32
).efi \
146 at_keyboard boot chain configfile fat iso9660 linux ls part_msdos part_gpt reboot serial
test efi_gop efi_uga
149 define Package
/grub2-editenv
/install
150 $(INSTALL_DIR
) $(1)/usr
/sbin
151 $(INSTALL_BIN
) $(PKG_BUILD_DIR
)/grub-editenv
$(1)/usr
/sbin
/
154 $(eval
$(call HostBuild
))
155 $(eval
$(call BuildPackage
,grub2
))
156 $(eval
$(call BuildPackage
,grub2-efi
))
157 $(eval
$(call BuildPackage
,grub2-editenv
))