bugGNU GRUB - Bugs: bug #45853, Fix iPXE support

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #45853: Fix iPXE support

Submitted by:  Vít Ondruch <vo_x>
Submitted on:  Tue 01 Sep 2015 10:04:47 AM UTC  
 
Category: BootingSeverity: Major
Priority: 5 - NormalItem Group: None
Status: InvalidPrivacy: Public
Assigned to: NoneOriginator Name: 
Open/Closed: ClosedRelease: 
Release: 2.02~beta1Reproducibility: None
Planned Release: None

(Jump to the original submission Jump to the original submission)

Wed 16 Sep 2015 04:20:48 PM UTC, comment #7:

linuxefi does not exist upstream; it is vendor patch and each vendor carries slightly different version. You need to raise this with Fedora; I have no way to even test it.

Sorry.

Andrei Borzenkov <arvidjaar>
Project Member
Wed 16 Sep 2015 02:07:02 PM UTC, comment #6:

I am trying this on my Lenovo T440s with (only) EFI boot enabled. The default system in use is Fedora 22 x86_64. Bellow are the steps I am doing:

# rpm -q grub2
grub2-2.02-0.16.fc22.x86_64

# cd /boot/

# ls -la
celkem 183496
dr-xr-xr-x. 6 root root 3072 16. zář 15.47 .
dr-xr-xr-x. 19 root root 4096 25. kvě 13.30 ..
-rw-r--r--. 1 root root 156190 11. srp 01.44 config-4.1.5-200.fc22.x86_64
-rw-r--r--. 1 root root 156190 17. srp 22.00 config-4.1.6-200.fc22.x86_64
-rw-r--r--. 1 root root 156135 4. zář 19.55 config-4.1.6-201.fc22.x86_64
drwx------. 4 root root 16384 1. led 1970 efi
-rw-r--r--. 1 root root 184380 21. říj 2014 elf-memtest86+-5.01
drwxr-xr-x. 2 root root 3072 25. kvě 12.55 extlinux
drwxr-xr-x. 3 root root 1024 25. kvě 12.58 grub2
-rw-------. 1 root root 38811975 8. dub 2014 initramfs-0-rescue-a546af57a103442d9d8b1b0dcb3afb97.img
-rw-r--r--. 1 root root 20840847 24. srp 09.25 initramfs-4.1.5-200.fc22.x86_64.img
-rw-r--r--. 1 root root 20845377 4. zář 13.52 initramfs-4.1.6-200.fc22.x86_64.img
-rw-r--r--. 1 root root 20846355 16. zář 15.34 initramfs-4.1.6-201.fc22.x86_64.img
-rw-r--r--. 1 root root 565060 25. kvě 13.03 initrd-plymouth.img
drwx------. 2 root root 12288 8. dub 2014 lost+found
-rw-r--r--. 1 root root 182704 21. říj 2014 memtest86+-5.01
-rwxr-xr-x. 1 root root 6565688 24. dub 20.24 rawhide
-rw-r--r--. 1 root root 46202432 27. dub 11.39 rawhide.img
-rw-------. 1 root root 3090588 11. srp 01.44 System.map-4.1.5-200.fc22.x86_64
-rw-------. 1 root root 3090588 17. srp 22.00 System.map-4.1.6-200.fc22.x86_64
-rw-------. 1 root root 3088509 4. zář 19.55 System.map-4.1.6-201.fc22.x86_64
-rwxr-xr-x. 1 root root 5139320 8. dub 2014 vmlinuz-0-rescue-a546af57a103442d9d8b1b0dcb3afb97
-rwxr-xr-x. 1 root root 5967320 11. srp 01.44 vmlinuz-4.1.5-200.fc22.x86_64
-rw-r--r--. 1 root root 166 11. srp 01.44 .vmlinuz-4.1.5-200.fc22.x86_64.hmac
-rwxr-xr-x. 1 root root 5967320 17. srp 22.00 vmlinuz-4.1.6-200.fc22.x86_64
-rw-r--r--. 1 root root 166 17. srp 22.00 .vmlinuz-4.1.6-200.fc22.x86_64.hmac
-rwxr-xr-x. 1 root root 5961752 4. zář 19.55 vmlinuz-4.1.6-201.fc22.x86_64
-rw-r--r--. 1 root root 166 4. zář 19.55 .vmlinuz-4.1.6-201.fc22.x86_64.hmac

# curl -O http://dl.fedoraproject.org/pub/alt/bfo/bfo.lkrn
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 295k 100 295k 0 0 136k 0 0:00:02 0:00:02 --:--:-- 136k

# ls -la
celkem 183793
dr-xr-xr-x. 6 root root 3072 16. zář 15.47 .
dr-xr-xr-x. 19 root root 4096 25. kvě 13.30 ..
-rw-r--r--. 1 root root 302675 16. zář 15.47 bfo.lkrn
-rw-r--r--. 1 root root 156190 11. srp 01.44 config-4.1.5-200.fc22.x86_64
-rw-r--r--. 1 root root 156190 17. srp 22.00 config-4.1.6-200.fc22.x86_64
-rw-r--r--. 1 root root 156135 4. zář 19.55 config-4.1.6-201.fc22.x86_64
drwx------. 4 root root 16384 1. led 1970 efi
-rw-r--r--. 1 root root 184380 21. říj 2014 elf-memtest86+-5.01
drwxr-xr-x. 2 root root 3072 25. kvě 12.55 extlinux
drwxr-xr-x. 3 root root 1024 25. kvě 12.58 grub2
-rw-------. 1 root root 38811975 8. dub 2014 initramfs-0-rescue-a546af57a103442d9d8b1b0dcb3afb97.img
-rw-r--r--. 1 root root 20840847 24. srp 09.25 initramfs-4.1.5-200.fc22.x86_64.img
-rw-r--r--. 1 root root 20845377 4. zář 13.52 initramfs-4.1.6-200.fc22.x86_64.img
-rw-r--r--. 1 root root 20846355 16. zář 15.34 initramfs-4.1.6-201.fc22.x86_64.img
-rw-r--r--. 1 root root 565060 25. kvě 13.03 initrd-plymouth.img
drwx------. 2 root root 12288 8. dub 2014 lost+found
-rw-r--r--. 1 root root 182704 21. říj 2014 memtest86+-5.01
-rwxr-xr-x. 1 root root 6565688 24. dub 20.24 rawhide
-rw-r--r--. 1 root root 46202432 27. dub 11.39 rawhide.img
-rw-------. 1 root root 3090588 11. srp 01.44 System.map-4.1.5-200.fc22.x86_64
-rw-------. 1 root root 3090588 17. srp 22.00 System.map-4.1.6-200.fc22.x86_64
-rw-------. 1 root root 3088509 4. zář 19.55 System.map-4.1.6-201.fc22.x86_64
-rwxr-xr-x. 1 root root 5139320 8. dub 2014 vmlinuz-0-rescue-a546af57a103442d9d8b1b0dcb3afb97
-rwxr-xr-x. 1 root root 5967320 11. srp 01.44 vmlinuz-4.1.5-200.fc22.x86_64
-rw-r--r--. 1 root root 166 11. srp 01.44 .vmlinuz-4.1.5-200.fc22.x86_64.hmac
-rwxr-xr-x. 1 root root 5967320 17. srp 22.00 vmlinuz-4.1.6-200.fc22.x86_64
-rw-r--r--. 1 root root 166 17. srp 22.00 .vmlinuz-4.1.6-200.fc22.x86_64.hmac
-rwxr-xr-x. 1 root root 5961752 4. zář 19.55 vmlinuz-4.1.6-201.fc22.x86_64
-rw-r--r--. 1 root root 166 4. zář 19.55 .vmlinuz-4.1.6-201.fc22.x86_64.hmac

# chmod a+x bfo.lkrn

# cat efi/EFI/fedora/grub.cfg
#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub2-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
if [ -s $prefix/grubenv ]; then
load_env
fi
if [ "${next_entry}" ] ; then
set default="${next_entry}"
set next_entry=
save_env next_entry
set boot_once=true
else
set default="${saved_entry}"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
menuentry_id_option="--id"
else
menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
set saved_entry="${prev_saved_entry}"
save_env saved_entry
set prev_saved_entry=
save_env prev_saved_entry
set boot_once=true
fi

function savedefault {
if [ -z "${boot_once}" ]; then
saved_entry="${chosen}"
save_env saved_entry
fi
}

function load_video {
if [ x$feature_all_video_module = xy ]; then
insmod all_video
else
insmod efi_gop
insmod efi_uga
insmod ieee1275_fb
insmod vbe
insmod vga
insmod video_bochs
insmod video_cirrus
fi
}

terminal_output console
set timeout=5
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Fedora (4.1.6-201.fc22.x86_64) 22 (Twenty Two)' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.11.10-301.fc20.x86_64-advanced-a92a5965-5854-4fe3-b187-035fcdc9a425' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 7ce53d1d-66d2-4193-9c60-04da20b15168
else
search --no-floppy --fs-uuid --set=root 7ce53d1d-66d2-4193-9c60-04da20b15168
fi
linuxefi /vmlinuz-4.1.6-201.fc22.x86_64 root=/dev/mapper/vg_fedora-root ro rd.lvm.lv=vg_fedora/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=vg_fedora/root rhgb quiet LANG=cs_CZ.UTF-8
initrdefi /initramfs-4.1.6-201.fc22.x86_64.img
}
menuentry 'Fedora (4.1.6-200.fc22.x86_64) 22 (Twenty Two)' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.11.10-301.fc20.x86_64-advanced-a92a5965-5854-4fe3-b187-035fcdc9a425' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 7ce53d1d-66d2-4193-9c60-04da20b15168
else
search --no-floppy --fs-uuid --set=root 7ce53d1d-66d2-4193-9c60-04da20b15168
fi
linuxefi /vmlinuz-4.1.6-200.fc22.x86_64 root=/dev/mapper/vg_fedora-root ro rd.lvm.lv=vg_fedora/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=vg_fedora/root rhgb quiet LANG=cs_CZ.UTF-8
initrdefi /initramfs-4.1.6-200.fc22.x86_64.img
}
menuentry 'Fedora (4.1.5-200.fc22.x86_64) 22 (Twenty Two)' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-3.11.10-301.fc20.x86_64-advanced-a92a5965-5854-4fe3-b187-035fcdc9a425' {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 7ce53d1d-66d2-4193-9c60-04da20b15168
else
search --no-floppy --fs-uuid --set=root 7ce53d1d-66d2-4193-9c60-04da20b15168
fi
linuxefi /vmlinuz-4.1.5-200.fc22.x86_64 root=/dev/mapper/vg_fedora-root ro rd.lvm.lv=vg_fedora/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=vg_fedora/root rhgb quiet LANG=cs_CZ.UTF-8
initrdefi /initramfs-4.1.5-200.fc22.x86_64.img
}
menuentry 'Boot Rawhide Installation' --class gnu-linux --class gnu --class os {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 7ce53d1d-66d2-4193-9c60-04da20b15168
else
search --no-floppy --fs-uuid --set=root 7ce53d1d-66d2-4193-9c60-04da20b15168
fi
linuxefi /rawhide repo=http://download.fedoraproject.org/pub/fedora/linux/development/rawhide/x86_64/os/
initrdefi /rawhide.img
}
menuentry 'Boot BFO' --class gnu-linux --class gnu --class os {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 7ce53d1d-66d2-4193-9c60-04da20b15168
else
search --no-floppy --fs-uuid --set=root 7ce53d1d-66d2-4193-9c60-04da20b15168
fi
linuxefi /bfo.lkrn
}
menuentry 'ISO' --class gnu-linux --class gnu --class os {
load_video
set gfxpayload=keep
insmod gzio
insmod part_gpt
insmod ext2
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 7ce53d1d-66d2-4193-9c60-04da20b15168
else
search --no-floppy --fs-uuid --set=root 7ce53d1d-66d2-4193-9c60-04da20b15168
fi
loopback iso /boot/ipxe.iso
linuxefi (iso)/bfo.lrkn
}
menuentry 'Fedora, with Linux 0-rescue-a546af57a103442d9d8b1b0dcb3afb97' --class fedora --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-0-rescue-a546af57a103442d9d8b1b0dcb3afb97-advanced-a92a5965-5854-4fe3-b187-035fcdc9a425' {
load_video
insmod gzio
insmod part_gpt
insmod ext2
set root='hd0,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 7ce53d1d-66d2-4193-9c60-04da20b15168
else
search --no-floppy --fs-uuid --set=root 7ce53d1d-66d2-4193-9c60-04da20b15168
fi
linuxefi /vmlinuz-0-rescue-a546af57a103442d9d8b1b0dcb3afb97 root=/dev/mapper/vg_fedora-root ro rd.lvm.lv=vg_fedora/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=vg_fedora/root rhgb quiet
initrdefi /initramfs-0-rescue-a546af57a103442d9d8b1b0dcb3afb97.img
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###

### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/20_ppc_terminfo ###
### END /etc/grub.d/20_ppc_terminfo ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f ${config_directory}/custom.cfg ]; then
source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f $prefix/custom.cfg ]; then
source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###

Please see also attached images (and forgive my shaky hands :/)

(file #34899, file #34900, file #34901)

Vít Ondruch <vo_x>
Fri 11 Sep 2015 01:22:50 PM UTC, comment #5:

I do not get any error with kernel [2] using either upstream or Ubunut 14.04 grub2. Also message "too old" is always qualified with the reason, too old for what. You omit this detail.

Please describe step by step what you did and attach screenshot or picture of error message.

Andrei Borzenkov <arvidjaar>
Project Member
Mon 07 Sep 2015 12:34:46 PM UTC, comment #4:

I am trying to boot kernel for [1], specifically [2]. I tried the kernel from Debian iPXE package [3] as well.

[1] https://boot.fedoraproject.org/
[2] http://dl.fedoraproject.org/pub/alt/bfo/bfo.lkrn
[3] https://packages.debian.org/sid/ipxe

Vít Ondruch <vo_x>
Sun 06 Sep 2015 10:32:30 AM UTC, comment #3:

That is what grub checks. Please attach or otherwise make available kernel that does not boot.

Andrei Borzenkov <arvidjaar>
Project Member
Fri 04 Sep 2015 12:04:21 PM UTC, comment #2:

This [1] is reply I got from iPXE guys:

> GRUB shouldn't care about the version number string (which is not supposed to be interpretable, just human-readable), but it might care about the bzImage header version field, which iPXE reports as 2.07.


[1] http://lists.ipxe.org/pipermail/ipxe-devel/2015-September/004379.html

Vít Ondruch <vo_x>
Thu 03 Sep 2015 07:29:26 PM UTC, comment #1:

> Could you please decide if required functionality is available by other means?


Sure; if you describe how we can either detect functionality by other means or how we can detect iPXE kernel so check can be skipped.

Andrei Borzenkov <arvidjaar>
Project Member
Tue 01 Sep 2015 10:04:47 AM UTC, original submission:

Description of problem:
Trying to boot Fedora using iPXE from GRUB [1], it does not work. Following the manual how to add the boot menu item, the boot fails with the "kernel too old" message. Failure with similar symptoms was already reported as bug 894300.

This is probably caused due to iPXE kernel reporting its version as 1.0.0+:

$ file /boot/bfo.lkrn
/boot/bfo.lkrn: Linux kernel x86 boot executable bzImage, version 1.0.0+ (a937), RO-rootFS,

$ file /boot/vmlinuz-3.18.7-200.fc21.x86_64
/boot/vmlinuz-3.18.7-200.fc21.x86_64: Linux kernel x86 boot executable bzImage, version 3.18.7-200.fc21.x86_64 (mockbuild@bkernel02.phx2.fedoraproject., RO-rootFS, swap_dev 0x5, Normal VGA

This is rather naive to check some Kernel features by its version. How many features are backported into RHEL Kernel versions? Could you please decide if required functionality is available by other means?

BTW I originally reported the issue against fedora-infrastructure [2].

[1] http://boot.fedoraproject.org/
[2] https://fedorahosted.org/fedora-infrastructure/ticket/4437

Version-Release number of selected component (if applicable):
$ rpm -q grub2
grub2-2.02-0.13.fc21.x86_64

I originally reported the issue here:

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1215693

Vít Ondruch <vo_x>

 

Attached Files
file #34899:  IMG_20150916_155018.jpg added by vo_x (153KiB - image/jpeg)
file #34900:  IMG_20150916_155225.jpg added by vo_x (116KiB - image/jpeg)
file #34901:  IMG_20150916_155203.jpg added by vo_x (126KiB - image/jpeg)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by arvidjaar (Posted a comment)
  • -unavailable- added by vo_x (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 5 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Wed 16 Sep 2015 04:20:48 PM UTCarvidjaarStatusNone=>Invalid
      Open/ClosedOpen=>Closed
    Wed 16 Sep 2015 02:07:02 PM UTCvo_xAttached File-=>Added IMG_20150916_155018.jpg, #34899
      Attached File-=>Added IMG_20150916_155225.jpg, #34900
      Attached File-=>Added IMG_20150916_155203.jpg, #34901

    Back to the top


    Powered by Savane 3.1-cleanup1