diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2014-02-19 20:10:20 +0100 |
---|---|---|
committer | Peter Korsgaard <peter@korsgaard.com> | 2014-02-19 23:28:35 +0100 |
commit | 7961d45c24b76fc8112197f857c29d8e0b476d0a (patch) | |
tree | 7b849d9a7cb9950a445bd96202b6d7dd728239e5 /boot/gummiboot | |
parent | a241b4b0713a7ddc0899c587a96fe852cab0d8d9 (diff) | |
download | buildroot-7961d45c24b76fc8112197f857c29d8e0b476d0a.tar.gz buildroot-7961d45c24b76fc8112197f857c29d8e0b476d0a.zip |
gummiboot: new package
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Christophe Vu-Brugier <cvubrugier@yahoo.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Diffstat (limited to 'boot/gummiboot')
-rw-r--r-- | boot/gummiboot/Config.in | 28 | ||||
-rw-r--r-- | boot/gummiboot/buildroot.conf | 4 | ||||
-rw-r--r-- | boot/gummiboot/gummiboot.mk | 42 | ||||
-rw-r--r-- | boot/gummiboot/loader.conf | 2 |
4 files changed, 76 insertions, 0 deletions
diff --git a/boot/gummiboot/Config.in b/boot/gummiboot/Config.in new file mode 100644 index 0000000000..8d70680d2b --- /dev/null +++ b/boot/gummiboot/Config.in @@ -0,0 +1,28 @@ +config BR2_TARGET_GUMMIBOOT + bool "gummiboot" + depends on BR2_i386 || BR2_x86_64 + select BR2_PACKAGE_GNU_EFI + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBBLKID + depends on BR2_LARGEFILE # util-linux + depends on BR2_USE_WCHAR # util-linux + help + gummiboot is a simple UEFI boot manager which executes + configured EFI images. The default entry is selected by a + configured pattern (glob) or an on-screen menu. + + gummiboot operates on the EFI System Partition (ESP) + only. Configuration file fragments, kernels, initrds, other + EFI images need to reside on the ESP. Linux kernels need to + be built with CONFIG_EFI_STUB to be able to be directly + executed as an EFI image. + + See the Grub2 help text for details on preparing an EFI + capable disk image using Gummiboot: the instructions are + exactly the same, except that the Gummiboot configuration + files will be located in /loader/ inside the EFI partition. + + http://freedesktop.org/wiki/Software/gummiboot/ + +comment "gummiboot needs a toolchain w/ largefile, wchar" + depends on !(BR2_LARGEFILE && BR2_USE_WCHAR) diff --git a/boot/gummiboot/buildroot.conf b/boot/gummiboot/buildroot.conf new file mode 100644 index 0000000000..8a6f02e56a --- /dev/null +++ b/boot/gummiboot/buildroot.conf @@ -0,0 +1,4 @@ +title Buildroot +version 1 +linux /bzImage +options console=ttyS0 root=/dev/sda2 diff --git a/boot/gummiboot/gummiboot.mk b/boot/gummiboot/gummiboot.mk new file mode 100644 index 0000000000..165a1b0ff3 --- /dev/null +++ b/boot/gummiboot/gummiboot.mk @@ -0,0 +1,42 @@ +################################################################################ +# +# gummiboot +# +################################################################################ + +GUMMIBOOT_SITE = git://anongit.freedesktop.org/gummiboot +GUMMIBOOT_VERSION = 43 +GUMMIBOOT_LICENSE = LGPLv2.1+ +GUMMIBOOT_LICENSE_FILES = LICENSE + +# The git archive does not have the autoconf/automake stuff generated. +GUMMIBOOT_AUTORECONF = YES +GUMMIBOOT_DEPENDENCIES = gnu-efi host-pkgconf util-linux +GUMMIBOOT_INSTALL_TARGET = NO +GUMMIBOOT_INSTALL_IMAGES = YES + +ifeq ($(BR2_i386),y) +GUMMIBOOT_IMGARCH = ia32 +else ifeq ($(BR2_x86_64),y) +GUMMIBOOT_IMGARCH = x64 +endif + +GUMMIBOOT_CONF_OPT = \ + --host=$(BR2_ARCH) \ + --with-efi-libdir=$(STAGING_DIR)/usr/lib \ + --with-efi-ldsdir=$(STAGING_DIR)/usr/lib \ + --with-efi-includedir=$(STAGING_DIR)/usr/include \ + --disable-manpages + +define GUMMIBOOT_INSTALL_IMAGES_CMDS + $(INSTALL) -D -m 0644 $(@D)/gummiboot$(GUMMIBOOT_IMGARCH).efi \ + $(BINARIES_DIR)/efi-part/EFI/BOOT/boot$(GUMMIBOOT_IMGARCH).efi + echo "boot$(GUMMIBOOT_IMGARCH).efi" > \ + $(BINARIES_DIR)/efi-part/startup.nsh + $(INSTALL) -D -m 0644 boot/gummiboot/loader.conf \ + $(BINARIES_DIR)/efi-part/loader/loader.conf + $(INSTALL) -D -m 0644 boot/gummiboot/buildroot.conf \ + $(BINARIES_DIR)/efi-part/loader/entries/buildroot.conf +endef + +$(eval $(autotools-package)) diff --git a/boot/gummiboot/loader.conf b/boot/gummiboot/loader.conf new file mode 100644 index 0000000000..93b77b8f93 --- /dev/null +++ b/boot/gummiboot/loader.conf @@ -0,0 +1,2 @@ +timeout 3 +default buildroot |