Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 24 additions & 1 deletion boot/grub2/grub2.mk
Original file line number Diff line number Diff line change
Expand Up @@ -153,15 +153,22 @@ GRUB2_CONF_ENV = \
TARGET_OBJCOPY="$(TARGET_OBJCOPY)" \
TARGET_STRIP="$(TARGET_CROSS)strip"

# batocera - add host-freetype
HOST_GRUB2_DEPENDENCIES += host-freetype

# batocera - --enable-grub-mkfont
HOST_GRUB2_CONF_OPTS = \
--with-platform=none \
--disable-grub-mkfont \
--enable-grub-mkfont \
--enable-efiemu=no \
ac_cv_lib_lzma_lzma_code=no \
--enable-device-mapper=no \
--enable-libzfs=no \
--disable-werror

# batocera - add dejavu dependency
GRUB2_DEPENDENCIES += dejavu

define GRUB2_CONFIGURE_CMDS
$(foreach tuple, $(GRUB2_TUPLES-y), \
@$(call MESSAGE,Configuring $(tuple))
Expand Down Expand Up @@ -193,6 +200,7 @@ define GRUB2_BUILD_CMDS
)
endef

# batocera - add manual font build & automatic grubenv creation
define GRUB2_INSTALL_IMAGES_CMDS
$(foreach tuple, $(GRUB2_TUPLES-y), \
@$(call MESSAGE,Installing $(tuple) to images directory)
Expand All @@ -211,6 +219,21 @@ define GRUB2_INSTALL_IMAGES_CMDS
$(BINARIES_DIR)/grub-eltorito.img
) \
)
@$(call MESSAGE,Manually compiling dejavu-mono.pf2 font)
$(HOST_DIR)/bin/grub-mkfont -s 28 -o $(@D)/dejavu-mono.pf2 \
$(STAGING_DIR)/usr/share/fonts/dejavu/DejaVuSansMono.ttf
@$(call MESSAGE,Creating blank grubenv environment block)
$(HOST_DIR)/bin/grub-editenv $(@D)/grubenv create
if [ -d $(BINARIES_DIR)/efi-part ]; then \
mkdir -p $(BINARIES_DIR)/efi-part/EFI/BOOT && \
cp $(@D)/dejavu-mono.pf2 $(BINARIES_DIR)/efi-part/EFI/BOOT/dejavu-mono.pf2 && \
cp $(@D)/grubenv $(BINARIES_DIR)/efi-part/EFI/BOOT/grubenv; \
fi
if [ -d $(BINARIES_DIR)/boot-part ]; then \
mkdir -p $(BINARIES_DIR)/boot-part/grub && \
cp $(@D)/dejavu-mono.pf2 $(BINARIES_DIR)/boot-part/grub/dejavu-mono.pf2 && \
cp $(@D)/grubenv $(BINARIES_DIR)/boot-part/grub/grubenv; \
fi
endef

ifeq ($(BR2_TARGET_GRUB2_INSTALL_TOOLS),y)
Expand Down
12 changes: 12 additions & 0 deletions package/dejavu/dejavu.mk
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ DEJAVU_SITE = https://sourceforge.net/projects/dejavu/files/dejavu/$(DEJAVU_VERS
DEJAVU_SOURCE = dejavu-fonts-ttf-$(DEJAVU_VERSION).tar.bz2
DEJAVU_LICENSE_FILES = LICENSE

# batocera - install staging
DEJAVU_INSTALL_STAGING = YES

DEJAVU_FONTS_INSTALL =
DEJAVU_FONTCONFIG_CONF_INSTALL =

Expand Down Expand Up @@ -50,6 +53,15 @@ define DEJAVU_FONTCONFIG_CONF_INSTALL_CMDS
endef
endif

# batocera - staging
define DEJAVU_INSTALL_STAGING_CMDS
mkdir -p $(STAGING_DIR)/usr/share/fonts/dejavu/
for i in $(DEJAVU_FONTS_INSTALL) ; do \
$(INSTALL) -m 0644 $(@D)/ttf/$$i \
$(STAGING_DIR)/usr/share/fonts/dejavu/ || exit 1 ; \
done
endef

define DEJAVU_INSTALL_TARGET_CMDS
mkdir -p $(TARGET_DIR)/usr/share/fonts/dejavu/
for i in $(DEJAVU_FONTS_INSTALL) ; do \
Expand Down