grub.mk 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. #############################################################
  2. #
  3. # grub
  4. #
  5. #############################################################
  6. GRUB_VERSION = 0.97
  7. GRUB_SOURCE = grub_$(GRUB_VERSION).orig.tar.gz
  8. GRUB_PATCH = grub_$(GRUB_VERSION)-35.diff.gz
  9. GRUB_SITE = http://snapshot.debian.org/archive/debian/20080329T000000Z/pool/main/g/grub/
  10. GRUB_CFLAGS=-DSUPPORT_LOOPDEV
  11. ifeq ($(BR2_LARGEFILE),)
  12. GRUB_CFLAGS+=-U_FILE_OFFSET_BITS
  13. endif
  14. GRUB_CONFIG-$(BR2_TARGET_GRUB_SPLASH) += --enable-graphics
  15. GRUB_CONFIG-$(BR2_TARGET_GRUB_DISKLESS) += --enable-diskless
  16. GRUB_CONFIG-$(BR2_TARGET_GRUB_3c595) += --enable-3c595
  17. GRUB_CONFIG-$(BR2_TARGET_GRUB_3c90x) += --enable-3c90x
  18. GRUB_CONFIG-$(BR2_TARGET_GRUB_davicom) += --enable-davicom
  19. GRUB_CONFIG-$(BR2_TARGET_GRUB_e1000) += --enable-e1000
  20. GRUB_CONFIG-$(BR2_TARGET_GRUB_eepro100) += --enable-eepro100
  21. GRUB_CONFIG-$(BR2_TARGET_GRUB_epic100) += --enable-epic100
  22. GRUB_CONFIG-$(BR2_TARGET_GRUB_forcedeth) += --enable-forcedeth
  23. GRUB_CONFIG-$(BR2_TARGET_GRUB_natsemi) += --enable-natsemi
  24. GRUB_CONFIG-$(BR2_TARGET_GRUB_ns83820) += --enable-ns83820
  25. GRUB_CONFIG-$(BR2_TARGET_GRUB_ns8390) += --enable-ns8390
  26. GRUB_CONFIG-$(BR2_TARGET_GRUB_pcnet32) += --enable-pcnet32
  27. GRUB_CONFIG-$(BR2_TARGET_GRUB_pnic) += --enable-pnic
  28. GRUB_CONFIG-$(BR2_TARGET_GRUB_rtl8139) += --enable-rtl8139
  29. GRUB_CONFIG-$(BR2_TARGET_GRUB_r8169) += --enable-r8169
  30. GRUB_CONFIG-$(BR2_TARGET_GRUB_sis900) += --enable-sis900
  31. GRUB_CONFIG-$(BR2_TARGET_GRUB_tg3) += --enable-tg3
  32. GRUB_CONFIG-$(BR2_TARGET_GRUB_tulip) += --enable-tulip
  33. GRUB_CONFIG-$(BR2_TARGET_GRUB_tlan) += --enable-tlan
  34. GRUB_CONFIG-$(BR2_TARGET_GRUB_undi) += --enable-undi
  35. GRUB_CONFIG-$(BR2_TARGET_GRUB_via_rhine) += --enable-via-rhine
  36. GRUB_CONFIG-$(BR2_TARGET_GRUB_w89c840) += --enable-w89c840
  37. define GRUB_DEBIAN_PATCHES
  38. # Apply the patches from the Debian patch
  39. (cd $(@D) ; for f in `cat debian/patches/00list | grep -v ^#` ; do \
  40. cat debian/patches/$$f | patch -g0 -p1 ; \
  41. done)
  42. endef
  43. GRUB_POST_PATCH_HOOKS += GRUB_DEBIAN_PATCHES
  44. GRUB_CONF_ENV = \
  45. CFLAGS="$(TARGET_CFLAGS) $(GRUB_CFLAGS)"
  46. GRUB_CONF_OPT = \
  47. --disable-auto-linux-mem-opt \
  48. $(GRUB_CONFIG-y)
  49. define GRUB_INSTALL_STAGING_CMDS
  50. install -m 0755 -D $(@D)/grub/grub $(STAGING_DIR)/sbin/grub
  51. endef
  52. ifeq ($(BR2_TARGET_GRUB_SPLASH),y)
  53. define GRUB_INSTALL_SPLASH
  54. cp boot/grub/splash.xpm.gz $(TARGET_DIR)/boot/grub/
  55. endef
  56. endif
  57. define GRUB_INSTALL_TARGET_CMDS
  58. install -m 0755 -D $(@D)/grub/grub $(TARGET_DIR)/sbin/grub
  59. mkdir -p $(TARGET_DIR)/boot/grub
  60. cp $(@D)/stage1/stage1 $(TARGET_DIR)/boot/grub
  61. cp $(@D)/stage2/*1_5 $(TARGET_DIR)/boot/grub
  62. cp $(@D)/stage2/stage2 $(TARGET_DIR)/boot/grub
  63. $(GRUB_INSTALL_SPLASH)
  64. endef
  65. define GRUB_UNINSTALL_STAGING_CMDS
  66. rm -f $(STAGING_DIR)/sbin/grub
  67. endef
  68. define GRUB_UNINSTALL_TARGET_CMDS
  69. rm -f $(TARGET_DIR)/sbin/grub
  70. rm -rf $(TARGET_DIR)/boot/grub
  71. endef
  72. $(eval $(call AUTOTARGETS))