Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 638532 - sys-firmware/ipxe: please add a new snapshot
Summary: sys-firmware/ipxe: please add a new snapshot
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo QEMU Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-11-23 06:42 UTC by Tomáš Mózes
Modified: 2018-02-12 00:01 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
New ipxe snapshot (ipxe-1.0.0_p20180119.ebuild,2.85 KB, text/plain)
2018-01-25 15:42 UTC, Joakim Tjernlund
Details

Note You need to log in before you can comment on or make changes to this bug.
Comment 1 Joakim Tjernlund 2018-01-25 15:42:33 UTC
Created attachment 516564 [details]
New ipxe snapshot
Comment 2 Joakim Tjernlund 2018-01-25 15:48:33 UTC
This ebuild has some changes:

build efi like upstream - wont work for me otherwise

ARCH is hardcoded to x86_64 as I don't know how to do this properly

Adds IPXE_EMBED wich should point a ipxe script which will
be built in to ipxe

installs ipxe.lkrn to /boot for grub to use

example grub2 conf(/etc/grub.d/20_ipxe)
#!/bin/sh
set -e

if [ -f /usr/share/grub/grub-mkconfig_lib ]; then
  . /usr/share/grub/grub-mkconfig_lib
  LX=linux16
else
  # no grub file, so we notify and exit gracefully
  echo "Cannot find grub config file, exiting." >&2
  exit 0
fi

# We can't cope with loop-mounted devices here.
case ${GRUB_DEVICE_BOOT} in
  /dev/loop/*|/dev/loop[0-9]) exit 0 ;;
esac

# iPXE is only supported on x86
case $(dpkg --print-architecture) in
	*i386|*amd64) ;;
	*) exit 0 ;;
esac

prepare_boot_cache="$(prepare_grub_to_access_device ${GRUB_DEVICE_BOOT} | sed -e "s/^/\t/")"

IPXE=/boot/ipxe.lkrn

if test -e "$IPXE" ; then
  IPXEPATH=$( make_system_path_relative_to_its_root "$IPXE" )
  echo "Found iPXE image: $IPXEPATH" >&2
  cat << EOF
menuentry "Network boot (iPXE)" --users "" --class network {
${prepare_boot_cache}
    $LX $IPXEPATH
}
EOF
fi
Comment 3 Joakim Tjernlund 2018-01-25 16:00:27 UTC
Example script:

#!ipxe
ifconf --configurator dhcp || shell
chain tftp://my.installhost.com/install.ipxe
echo chain failed!
shell
Comment 4 Matthias Maier gentoo-dev 2018-02-11 23:34:21 UTC
I have created a new ipxe snapshot. However, it does not contain your changes for imbedding a custom script.

The new ebuild is now EAPI 6, it thus supports epatch_user. What about you create a custom patch for your own needs (that adds the script)?
Comment 5 Larry the Git Cow gentoo-dev 2018-02-12 00:01:48 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b8549c4d268c60ef3e74368a00a92062562942f7

commit b8549c4d268c60ef3e74368a00a92062562942f7
Author:     Matthias Maier <tamiko@gentoo.org>
AuthorDate: 2018-02-11 23:28:07 +0000
Commit:     Matthias Maier <tamiko@gentoo.org>
CommitDate: 2018-02-12 00:01:35 +0000

    sys-firmware/ipxe: create new snapshot
    
    Closes: https://bugs.gentoo.org/628354
    Closes: https://bugs.gentoo.org/638532
    Package-Manager: Portage-2.3.24, Repoman-2.3.6

 sys-firmware/ipxe/Manifest                    |   1 +
 sys-firmware/ipxe/ipxe-1.0.0_p20180211.ebuild | 108 ++++++++++++++++++++++++++
 2 files changed, 109 insertions(+)