X-Git-Url: http://git.ipfire.org/?p=ipfire-2.x.git;a=blobdiff_plain;f=lfs%2Fgrub;h=d04036a487d88e03495a94f133c718fda66b7940;hp=aa5dc69a00760ba99186897394643e65943f9ba2;hb=ed8977a1a069d9bbb627e6a89994610d35c56979;hpb=cd1a2927226c734d96478e12bb768256fb64a06a diff --git a/lfs/grub b/lfs/grub index aa5dc69a00..d04036a487 100644 --- a/lfs/grub +++ b/lfs/grub @@ -1,28 +1,20 @@ ############################################################################### -# This file is part of the IPCop Firewall. # # # -# IPCop is free software; you can redistribute it and/or modify # +# IPFire.org - A linux based firewall # +# 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 # -# the Free Software Foundation; either version 2 of the License, or # +# the Free Software Foundation, either version 3 of the License, or # # (at your option) any later version. # # # -# IPCop is distributed in the hope that it will be useful, # +# This program is distributed in the hope that it will be useful, # # but WITHOUT ANY WARRANTY; without even the implied warranty of # # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # # GNU General Public License for more details. # # # # You should have received a copy of the GNU General Public License # -# along with IPCop; if not, write to the Free Software # -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # -# # -# Makefiles are based on LFSMake, which is # -# Copyright (C) 2002 Rod Roard # -# # -# Modifications by: # -# ??-12-2003 Mark Wormgoor < mark@wormgoor.com> # -# - Modified Makefile for IPCop build # -# # -# $Id: grub,v 1.9.2.9 2005/02/05 15:38:15 gespinasse Exp $ +# along with this program. If not, see . # # # ############################################################################### @@ -32,13 +24,15 @@ include Config -VER = 0.95 +VER = 2.00 THISAPP = grub-$(VER) -DL_FILE = $(THISAPP).tar.gz -DL_FROM = $(URL_AGNU)/grub +DL_FILE = $(THISAPP).tar.xz +DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) +SUP_ARCH = i586 + CFLAGS = CXXFLAGS = @@ -46,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 = 4ca8e4363d5f1980f2c63b7f5cdbe0d1 +$(DL_FILE)_MD5 = a1043102fbc7bcedbf53e7ee3d17ab91 +unifont-7.0.03.pcf.gz_MD5 = f6903ac8c1caeeb30c1e9a2975028401 install : $(TARGET) @@ -79,42 +76,35 @@ $(subst %,%_MD5,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) - @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub-0.93-configfile.patch - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub-0.90-symlinkmenulst.patch - cd $(DIR_APP) && patch -Np0 < $(DIR_SRC)/src/patches/grub-0.93-endedit.patch - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub-0.90-append.patch - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub-0.91-bootonce.patch - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub-0.93-graphics.patch - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub-0.91-splashimagehelp.patch - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub-0.93-graphics-bootterm.patch - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub-0.93-special-device-names.patch - cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/grub-0.94-i2o.patch - cd $(DIR_APP)/netboot && patch -Np0 < $(DIR_SRC)/src/patches/grub-0.93-rtl8139.patch - cd $(DIR_APP) && autoreconf --install --force - cd $(DIR_APP) && CFLAGS="-Os -fno-stack-protector" \ - STAGE2_CFLAGS="-Os -fno-stack-protector" \ - ./configure --prefix=/usr \ - --enable-rtl8139 \ - --enable-ne --enable-ne-scan=0x300 \ - --disable-nls \ - --disable-fat \ - --disable-ffs \ - --disable-minix \ - --disable-reiserfs \ - --disable-vstafs \ - --disable-jfs \ - --disable-xfs - cd $(DIR_APP) && make + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) + 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 -p /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 + + -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 - install -m 0755 $(DIR_SRC)/src/install+setup/install/grubbatch /boot/grub + # 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)