$(Host/Configure/Default)
endef
+define Host/Install
+ $(call Host/Install/Default)
+
+ $(INSTALL_DIR) $(STAGING_DIR_HOST)/lib/grub/grub2-generic
+ $(STAGING_DIR_HOST)/bin/grub-mkimage \
+ -d $(STAGING_DIR_HOST)/lib/grub/i386-pc \
+ -p /boot/grub \
+ -O i386-pc \
+ -c ./files/grub-early.cfg \
+ -o $(STAGING_DIR_HOST)/lib/grub/grub2-generic/core.img \
+ at_keyboard biosdisk boot chain configfile ext2 linux ls part_msdos reboot serial vga
+
+ $(INSTALL_DIR) $(STAGING_DIR_HOST)/lib/grub/grub2-iso
+ $(STAGING_DIR_HOST)/bin/grub-mkimage \
+ -d $(STAGING_DIR_HOST)/lib/grub/i386-pc \
+ -p /boot/grub \
+ -O i386-pc \
+ -c ./files/grub-early.cfg \
+ -o $(STAGING_DIR_HOST)/lib/grub/grub2-iso/eltorito.img \
+ at_keyboard biosdisk boot chain configfile iso9660 linux ls part_msdos reboot serial vga
+
+ $(INSTALL_DIR) $(STAGING_DIR_HOST)/lib/grub/grub2-legacy
+ $(STAGING_DIR_HOST)/bin/grub-mkimage \
+ -d $(STAGING_DIR_HOST)/lib/grub/i386-pc \
+ -p /boot/grub \
+ -O i386-pc \
+ -c ./files/grub-early.cfg \
+ -o $(STAGING_DIR_HOST)/lib/grub/grub2-legacy/core.img \
+ biosdisk boot chain configfile ext2 linux ls part_msdos reboot serial vga
+endef
+
define Package/grub2/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/grub-bios-setup $(1)/usr/sbin/
export PATH=$(TARGET_PATH):/sbin
-GRUB2_MODULES = biosdisk boot chain configfile ext2 linux ls part_msdos reboot serial test vga
-GRUB2_MODULES_ISO = biosdisk boot chain configfile iso9660 linux ls part_msdos reboot serial test vga
+GRUB2_VARIANT =
GRUB_TERMINALS =
GRUB_SERIAL_CONFIG =
GRUB_TERMINAL_CONFIG =
USE_ATKBD = generic 64
ifneq ($(strip $(foreach subtarget,$(USE_ATKBD),$(CONFIG_TARGET_x86_$(subtarget)))),)
- GRUB2_MODULES += at_keyboard
- GRUB2_MODULES_ISO += at_keyboard
+ GRUB2_VARIANT := generic
+else
+ GRUB2_VARIANT := legacy
endif
ifneq ($(CONFIG_GRUB_CONSOLE),)
rm -fR $(KDIR)/root.grub $(KDIR)/grub2
$(INSTALL_DIR) $(KDIR)/root.grub/boot/grub $(KDIR)/grub2
$(CP) $(KDIR)/bzImage $(KDIR)/root.grub/boot/vmlinuz
- grub-mkimage \
- -p /boot/grub \
- -d $(STAGING_DIR_HOST)/lib/grub/i386-pc \
- -o $(KDIR)/root.grub/boot/grub/core.img \
- -O i386-pc \
- -c ./grub-early.cfg \
- $(GRUB2_MODULES)
- $(CP) $(STAGING_DIR_HOST)/lib/grub/i386-pc/*.img $(KDIR)/root.grub/boot/grub/
+ $(CP) $(STAGING_DIR_HOST)/lib/grub/i386-pc/*.img \
+ $(STAGING_DIR_HOST)/lib/grub/grub2-$(strip $(GRUB2_VARIANT))/core.img \
+ $(KDIR)/grub2/
echo '(hd0) $(BIN_DIR)/$(IMG_COMBINED)-$(1).img' > $(KDIR)/grub2/device.map
sed \
-e 's#@SERIAL_CONFIG@#$(strip $(GRUB_SERIAL_CONFIG))#g' \
rm -fR $(KDIR)/root.grub $(KDIR)/grub2
$(INSTALL_DIR) $(KDIR)/root.grub/boot/grub $(KDIR)/grub2
$(CP) $(KDIR)/bzImage $(KDIR)/root.grub/boot/vmlinuz
- grub-mkimage \
- -p /boot/grub \
- -d $(STAGING_DIR_HOST)/lib/grub/i386-pc \
- -o $(KDIR)/grub2/eltorito.img \
- -O i386-pc \
- -c ./grub-early.cfg \
- $(GRUB2_MODULES_ISO)
- cat \
- $(STAGING_DIR_HOST)/lib/grub/i386-pc/cdboot.img \
- $(KDIR)/grub2/eltorito.img \
+ $(STAGING_DIR_HOST)/lib/grub/grub2-iso/eltorito.img \
> $(KDIR)/root.grub/boot/grub/eltorito.img
sed \
-e 's#@SERIAL_CONFIG@#$(strip $(GRUB_SERIAL_CONFIG))#g' \