X-Git-Url: http://git.ipfire.org/?p=people%2Fpmueller%2Fipfire-2.x.git;a=blobdiff_plain;f=lfs%2Fgrub;h=04aaa0b2542b283918f0628e167fdf06588aa3b3;hp=6850a3a58fd8091a57e51037b4e547198ee0fd4b;hb=601f8347ccb1e9c5e3f250ff26d4097ecd698875;hpb=fc992179a15a53c920d8f18e276624c0ace6a6ec diff --git a/lfs/grub b/lfs/grub index 6850a3a58f..04aaa0b254 100644 --- a/lfs/grub +++ b/lfs/grub @@ -1,7 +1,7 @@ ############################################################################### # # # IPFire.org - A linux based firewall # -# Copyright (C) 2007-2012 IPFire Team # +# Copyright (C) 2007-2014 IPFire Team # # # # This program is free software: you can redistribute it and/or modify # # it under the terms of the GNU General Public License as published by # @@ -24,14 +24,15 @@ include Config -VER = 0.97 +VER = 2.00 THISAPP = grub-$(VER) -DL_FILE = $(THISAPP).tar.gz +DL_FILE = $(THISAPP).tar.xz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) SUP_ARCH = i586 + CFLAGS = CXXFLAGS = @@ -39,11 +40,14 @@ CXXFLAGS = # Top-level Rules ############################################################################### -objects = $(DL_FILE) +objects = $(DL_FILE) \ + unifont-7.0.03.pcf.gz $(DL_FILE) = $(DL_FROM)/$(DL_FILE) +unifont-7.0.03.pcf.gz = $(DL_FROM)/unifont-7.0.03.pcf.gz -$(DL_FILE)_MD5 = cd3f3eb54446be6003156158d51f4884 +$(DL_FILE)_MD5 = a1043102fbc7bcedbf53e7ee3d17ab91 +unifont-7.0.03.pcf.gz_MD5 = f6903ac8c1caeeb30c1e9a2975028401 install : $(TARGET) @@ -72,28 +76,37 @@ $(subst %,%_MD5,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) - @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) - - # Applying patches. - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub-gentoo-14.patch - cd $(DIR_APP) && autoreconf - cd $(DIR_APP) && autoconf - - # Build. - cd $(DIR_APP) && CFLAGS="$(CFLAGS)" ./configure --prefix=/usr \ - --disable-auto-linux-mem-opt + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub-2.00_disable_vga_fallback.patch + cd $(DIR_APP) && \ + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --with-platform=pc \ + --with-grubdir=grub \ + --program-transform-name=s,grub,grub, \ + --disable-grub-mount \ + --disable-werror cd $(DIR_APP) && make $(MAKETUNING) cd $(DIR_APP) && make install - # grub files - mkdir -vp /boot/grub - cp -v /usr/lib/grub/i386-pc/stage{1,2} /boot/grub - for i in $(DIR_SRC)/config/grub/*; do \ - [ -f $$i ] && cp -f $$i /boot/grub; \ - done + -mkdir -pv /boot/grub + touch /boot/grub/grub.cfg + ln -svf ../boot/grub/grub.cfg /etc/grub2.cfg + install -m 644 $(DIR_SRC)/config/grub2/splash.png /boot/grub/splash.png + + -mkdir -pv /etc/default + install -m 644 $(DIR_SRC)/config/grub2/default /etc/default/grub + + # Disable hardening. + paxctl -mpes /usr/sbin/grub-bios-setup /usr/sbin/grub-probe - # generate default file - grub-set-default 0 + # We don't need to install unifont just to generate a grub2 compatible + # font archive for the graphical boot menu. The following command only + # converts Latin-1, Latin Extended A+B, Arrows, Box and Block characters. + /usr/bin/grub-mkfont --output /boot/grub/unifont.pf2 \ + --range=0x0000-0x0241,0x2190-0x21FF,0x2500-0x259f \ + $(DIR_DL)/unifont-7.0.03.pcf.gz @rm -rf $(DIR_APP) @$(POSTBUILD)