diff options
author | root <root@rshg054.dnsready.net> | 2013-06-22 01:28:29 -0700 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2013-06-22 01:28:29 -0700 |
commit | 946a83c478943914bcf576bd772689ef74c27fdd (patch) | |
tree | 577d46741bf519254d29a0979eb015e1281487fa /extra/efilinux-efi | |
parent | deef1b9af1fb8bb4c263d8aa1df699ef0d4d3b31 (diff) |
Sat Jun 22 01:28:11 PDT 2013
Diffstat (limited to 'extra/efilinux-efi')
-rw-r--r-- | extra/efilinux-efi/PKGBUILD | 62 | ||||
-rw-r--r-- | extra/efilinux-efi/efilinux-efi.install | 23 |
2 files changed, 85 insertions, 0 deletions
diff --git a/extra/efilinux-efi/PKGBUILD b/extra/efilinux-efi/PKGBUILD new file mode 100644 index 000000000..bd75029c5 --- /dev/null +++ b/extra/efilinux-efi/PKGBUILD @@ -0,0 +1,62 @@ +# Contributor : Keshav Padram <(the.ridikulus.rat) (aatt) (gemmaeiil) (ddoott) (ccoomm)> + +_gitroot="git://git.kernel.org/pub/scm/boot/efilinux/efilinux.git" +_gitname="efilinux" +_gitbranch="master" + +pkgname="efilinux-efi" +pkgver="1.0" +pkgrel="8" +pkgdesc="Simple UEFI Linux bootloader - Precursor to EFISTUB" +url="https://github.com/mfleming/efilinux" +arch=('x86_64' 'i686') +license=('GPL') +makedepends=('gnu-efi-libs') +depends=('dosfstools' 'efibootmgr') +options=('!strip') +install="${pkgname}.install" + +source=("${_gitname}::git+${_gitroot}#branch=${_gitbranch}") +sha1sums=('SKIP') + +[[ "${CARCH}" == "x86_64" ]] && _EFI_ARCH="x86_64" +[[ "${CARCH}" == "i686" ]] && _EFI_ARCH="ia32" + +[[ "${CARCH}" == "x86_64" ]] && _EFI_S_ARCH="x64" +[[ "${CARCH}" == "i686" ]] && _EFI_S_ARCH="ia32" + +build() { + + rm -rf "${srcdir}/efilinux-${pkgver}/" || true + cp -r "${srcdir}/${_gitname}" "${srcdir}/efilinux-${pkgver}" + + cd "${srcdir}/efilinux-${pkgver}/" + + ## Add "-fno-strict-aliasing -fno-stack-protector -fno-stack-check -mno-sse -mno-mmx" to CFLAGS + sed 's|-DEFI_FUNCTION_WRAPPER|-fno-strict-aliasing -fno-stack-protector -fno-stack-check -mno-sse -mno-mmx -DEFI_FUNCTION_WRAPPER|g' -i "${srcdir}/efilinux-${pkgver}/Makefile" + + ## Add -DGNU_EFI_USE_MS_ABI to CFLAGS + sed 's|-DEFI_FUNCTION_WRAPPER|-DEFI_FUNCTION_WRAPPER -DGNU_EFI_USE_MS_ABI|g' -i "${srcdir}/efilinux-${pkgver}/Makefile" + + ## Add -m64 for x86_64 build + sed 's|CFLAGS += -mno-red-zone|CFLAGS += -m64 -mno-red-zone|g' -i "${srcdir}/efilinux-${pkgver}/Makefile" + + ## Unset all compiler FLAGS + unset CFLAGS + unset CPPFLAGS + unset CXXFLAGS + unset LDFLAGS + unset MAKEFLAGS + + make CRT0="/usr/lib/crt0-efi-${_EFI_ARCH}.o" LDSCRIPT="/usr/lib/elf_${_EFI_ARCH}_efi.lds" + +} + +package() { + + cd "${srcdir}/efilinux-${pkgver}/" + + install -d "${pkgdir}/usr/lib/efilinux/" + install -D -m0644 "${srcdir}/efilinux-${pkgver}/efilinux.efi" "${pkgdir}/usr/lib/efilinux/efilinux${_EFI_S_ARCH}.efi" + +} diff --git a/extra/efilinux-efi/efilinux-efi.install b/extra/efilinux-efi/efilinux-efi.install new file mode 100644 index 000000000..6d6e817c5 --- /dev/null +++ b/extra/efilinux-efi/efilinux-efi.install @@ -0,0 +1,23 @@ +post_install() { + + cat << EOF + +efilinux has been installed at /usr/lib/efilinux/*.efi + +Copy the efi application for your UEFI ARCH to a sub-directory of +<EFISYS>/EFI/ and add an entry to firmware boot menu using efibootmgr +or mactel-boot (for Macs) + +Usage instructions at http://thread.gmane.org/gmane.linux.kernel/1172645 +and http://article.gmane.org/gmane.linux.kernel/1175060 + +EOF + +} + +post_upgrade() { + + post_install + +} + |