]> git.ipfire.org Git - ipfire-2.x.git/blobdiff - lfs/grub
Update for numerous lfs-files: removed deprecated configure options
[ipfire-2.x.git] / lfs / grub
index 23f6dd3fd25fdc86db2a04c6b102bb089c8a4f8e..8b82189fce16a7015a7e13355a3ee2555f03a2da 100644 (file)
--- a/lfs/grub
+++ b/lfs/grub
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2014  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2015  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # 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        #
@@ -31,7 +31,7 @@ DL_FILE    = $(THISAPP).tar.xz
 DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
-SUP_ARCH   = i586
+SUP_ARCH   = x86_64 i586
 
 CFLAGS     =
 CXXFLAGS   =
@@ -40,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 = a1043102fbc7bcedbf53e7ee3d17ab91
+unifont-7.0.03.pcf.gz_MD5 = f6903ac8c1caeeb30c1e9a2975028401
 
 install : $(TARGET)
 
@@ -74,6 +77,10 @@ $(subst %,%_MD5,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        @$(PREBUILD)
        @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) && patch -Np1 < $(DIR_SRC)/src/patches/0001-Fix-CVE-2015-8370-Grub2-user-pass-vulnerability.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub2-remove-gets.patch
+       cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub-2.00_ignore_missing_symtab.patch
        cd $(DIR_APP) && \
                ./configure \
                        --prefix=/usr \
@@ -89,12 +96,21 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
        -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
+       paxctl -Cmpes /usr/sbin/grub-bios-setup /usr/sbin/grub-probe
+       paxctl -Cmpexs /usr/bin/grub-script-check
+
+       # 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)