Skip to content

Commit 4fdf916

Browse files
committed
allows nice grub2 menus for selection options
1 parent 3541ee3 commit 4fdf916

2 files changed

Lines changed: 36 additions & 1 deletion

File tree

boot/grub2/grub2.mk

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,15 +153,22 @@ GRUB2_CONF_ENV = \
153153
TARGET_OBJCOPY="$(TARGET_OBJCOPY)" \
154154
TARGET_STRIP="$(TARGET_CROSS)strip"
155155

156+
# batocera - add host-freetype
157+
HOST_GRUB2_DEPENDENCIES += host-freetype
158+
159+
# batocera - --enable-grub-mkfont
156160
HOST_GRUB2_CONF_OPTS = \
157161
--with-platform=none \
158-
--disable-grub-mkfont \
162+
--enable-grub-mkfont \
159163
--enable-efiemu=no \
160164
ac_cv_lib_lzma_lzma_code=no \
161165
--enable-device-mapper=no \
162166
--enable-libzfs=no \
163167
--disable-werror
164168

169+
# batocera - add dejavu dependency
170+
GRUB2_DEPENDENCIES += dejavu
171+
165172
define GRUB2_CONFIGURE_CMDS
166173
$(foreach tuple, $(GRUB2_TUPLES-y), \
167174
@$(call MESSAGE,Configuring $(tuple))
@@ -193,6 +200,7 @@ define GRUB2_BUILD_CMDS
193200
)
194201
endef
195202

203+
# batocera - add manual font build & automatic grubenv creation
196204
define GRUB2_INSTALL_IMAGES_CMDS
197205
$(foreach tuple, $(GRUB2_TUPLES-y), \
198206
@$(call MESSAGE,Installing $(tuple) to images directory)
@@ -211,6 +219,21 @@ define GRUB2_INSTALL_IMAGES_CMDS
211219
$(BINARIES_DIR)/grub-eltorito.img
212220
) \
213221
)
222+
@$(call MESSAGE,Manually compiling dejavu-mono.pf2 font)
223+
$(HOST_DIR)/bin/grub-mkfont -s 28 -o $(@D)/dejavu-mono.pf2 \
224+
$(STAGING_DIR)/usr/share/fonts/dejavu/DejaVuSansMono.ttf
225+
@$(call MESSAGE,Creating blank grubenv environment block)
226+
$(HOST_DIR)/bin/grub-editenv $(@D)/grubenv create
227+
if [ -d $(BINARIES_DIR)/efi-part ]; then \
228+
mkdir -p $(BINARIES_DIR)/efi-part/EFI/BOOT && \
229+
cp $(@D)/dejavu-mono.pf2 $(BINARIES_DIR)/efi-part/EFI/BOOT/dejavu-mono.pf2 && \
230+
cp $(@D)/grubenv $(BINARIES_DIR)/efi-part/EFI/BOOT/grubenv; \
231+
fi
232+
if [ -d $(BINARIES_DIR)/boot-part ]; then \
233+
mkdir -p $(BINARIES_DIR)/boot-part/grub && \
234+
cp $(@D)/dejavu-mono.pf2 $(BINARIES_DIR)/boot-part/grub/dejavu-mono.pf2 && \
235+
cp $(@D)/grubenv $(BINARIES_DIR)/boot-part/grub/grubenv; \
236+
fi
214237
endef
215238

216239
ifeq ($(BR2_TARGET_GRUB2_INSTALL_TOOLS),y)

package/dejavu/dejavu.mk

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ DEJAVU_SITE = https://sourceforge.net/projects/dejavu/files/dejavu/$(DEJAVU_VERS
99
DEJAVU_SOURCE = dejavu-fonts-ttf-$(DEJAVU_VERSION).tar.bz2
1010
DEJAVU_LICENSE_FILES = LICENSE
1111

12+
# batocera - install staging
13+
DEJAVU_INSTALL_STAGING = YES
14+
1215
DEJAVU_FONTS_INSTALL =
1316
DEJAVU_FONTCONFIG_CONF_INSTALL =
1417

@@ -50,6 +53,15 @@ define DEJAVU_FONTCONFIG_CONF_INSTALL_CMDS
5053
endef
5154
endif
5255

56+
# batocera - staging
57+
define DEJAVU_INSTALL_STAGING_CMDS
58+
mkdir -p $(STAGING_DIR)/usr/share/fonts/dejavu/
59+
for i in $(DEJAVU_FONTS_INSTALL) ; do \
60+
$(INSTALL) -m 0644 $(@D)/ttf/$$i \
61+
$(STAGING_DIR)/usr/share/fonts/dejavu/ || exit 1 ; \
62+
done
63+
endef
64+
5365
define DEJAVU_INSTALL_TARGET_CMDS
5466
mkdir -p $(TARGET_DIR)/usr/share/fonts/dejavu/
5567
for i in $(DEJAVU_FONTS_INSTALL) ; do \

0 commit comments

Comments
 (0)