Add efibootmgr and efivar
authorMichael Tremer <michael.tremer@ipfire.org>
Thu, 7 Jun 2018 14:33:48 +0000 (15:33 +0100)
committerMichael Tremer <michael.tremer@ipfire.org>
Sat, 14 Jul 2018 12:43:51 +0000 (13:43 +0100)
These packages are required to manage EFI boot options

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
config/rootfiles/common/efibootmgr [new file with mode: 0644]
config/rootfiles/common/efivar [new file with mode: 0644]
lfs/efibootmgr [new file with mode: 0644]
lfs/efivar [new file with mode: 0644]
make.sh

diff --git a/config/rootfiles/common/efibootmgr b/config/rootfiles/common/efibootmgr
new file mode 100644 (file)
index 0000000..56a0eb1
--- /dev/null
@@ -0,0 +1,4 @@
+usr/sbin/efibootdump
+usr/sbin/efibootmgr
+#usr/share/man/man8/efibootdump.8
+#usr/share/man/man8/efibootmgr.8
diff --git a/config/rootfiles/common/efivar b/config/rootfiles/common/efivar
new file mode 100644 (file)
index 0000000..4018e4c
--- /dev/null
@@ -0,0 +1,46 @@
+usr/bin/efivar
+#usr/include/efivar
+#usr/include/efivar/efiboot-creator.h
+#usr/include/efivar/efiboot-loadopt.h
+#usr/include/efivar/efiboot.h
+#usr/include/efivar/efivar-dp.h
+#usr/include/efivar/efivar-guids.h
+#usr/include/efivar/efivar.h
+#usr/lib/libefiboot.so
+usr/lib/libefiboot.so.1
+usr/lib/libefiboot.so.1.35
+#usr/lib/libefivar.so
+usr/lib/libefivar.so.1
+usr/lib/libefivar.so.1.35
+#usr/lib/pkgconfig/efiboot.pc
+#usr/lib/pkgconfig/efivar.pc
+#usr/share/man/man1/efivar.1
+#usr/share/man/man3/efi_append_variable.3
+#usr/share/man/man3/efi_del_variable.3
+#usr/share/man/man3/efi_get_next_variable_name.3
+#usr/share/man/man3/efi_get_variable.3
+#usr/share/man/man3/efi_get_variable_attributes.3
+#usr/share/man/man3/efi_get_variable_size.3
+#usr/share/man/man3/efi_guid_to_id_guid.3
+#usr/share/man/man3/efi_guid_to_name.3
+#usr/share/man/man3/efi_guid_to_str.3
+#usr/share/man/man3/efi_guid_to_symbol.3
+#usr/share/man/man3/efi_name_to_guid.3
+#usr/share/man/man3/efi_set_variable.3
+#usr/share/man/man3/efi_str_to_guid.3
+#usr/share/man/man3/efi_symbol_to_guid.3
+#usr/share/man/man3/efi_variable_alloc.3
+#usr/share/man/man3/efi_variable_export.3
+#usr/share/man/man3/efi_variable_free.3
+#usr/share/man/man3/efi_variable_get_attributes.3
+#usr/share/man/man3/efi_variable_get_data.3
+#usr/share/man/man3/efi_variable_get_guid.3
+#usr/share/man/man3/efi_variable_get_name.3
+#usr/share/man/man3/efi_variable_import.3
+#usr/share/man/man3/efi_variable_realize.3
+#usr/share/man/man3/efi_variable_set_attributes.3
+#usr/share/man/man3/efi_variable_set_data.3
+#usr/share/man/man3/efi_variable_set_guid.3
+#usr/share/man/man3/efi_variable_set_name.3
+#usr/share/man/man3/efi_variable_t.3
+#usr/share/man/man3/efi_variables_supported.3
diff --git a/lfs/efibootmgr b/lfs/efibootmgr
new file mode 100644 (file)
index 0000000..0503b6b
--- /dev/null
@@ -0,0 +1,79 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007-2018  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        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# 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 this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 16
+
+THISAPP    = efibootmgr-$(VER)
+DL_FILE    = $(THISAPP).tar.bz2
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = ab7cf46774fda951a0e8a40beb65a90e
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+
+       cd $(DIR_APP) && make CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" \
+               EFIDIR=$(SNAME) $(MAKETUNING)
+       cd $(DIR_APP) && make install EFIDIR=$(SNAME)
+
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
diff --git a/lfs/efivar b/lfs/efivar
new file mode 100644 (file)
index 0000000..1362c62
--- /dev/null
@@ -0,0 +1,78 @@
+###############################################################################
+#                                                                             #
+# IPFire.org - A linux based firewall                                         #
+# Copyright (C) 2007-2018  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        #
+# the Free Software Foundation, either version 3 of the License, or           #
+# (at your option) any later version.                                         #
+#                                                                             #
+# 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 this program.  If not, see <http://www.gnu.org/licenses/>.       #
+#                                                                             #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER        = 35
+
+THISAPP    = efivar-$(VER)
+DL_FILE    = $(THISAPP).tar.bz2
+DL_FROM    = $(URL_IPFIRE)
+DIR_APP    = $(DIR_SRC)/$(THISAPP)
+TARGET     = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_MD5 = 53da18ea0cf7bba1fd9edf3098037edf
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+md5 : $(subst %,%_MD5,$(objects))
+
+###############################################################################
+# Downloading, checking, md5sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+       @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+       @$(LOAD)
+
+$(subst %,%_MD5,$(objects)) :
+       @$(MD5)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+       @$(PREBUILD)
+       @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
+
+       cd $(DIR_APP) && make CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" $(MAKETUNING)
+       cd $(DIR_APP) && make install
+
+       @rm -rf $(DIR_APP)
+       @$(POSTBUILD)
diff --git a/make.sh b/make.sh
index 99fadfd..53760ef 100755 (executable)
--- a/make.sh
+++ b/make.sh
@@ -1082,6 +1082,8 @@ buildipfire() {
   lfsmake2 multipath-tools
   lfsmake2 freetype
   lfsmake2 grub
+  lfsmake2 efivar
+  lfsmake2 efibootmgr
   lfsmake2 libmnl
   lfsmake2 libnfnetlink
   lfsmake2 libnetfilter_queue