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:  Booting Severity:  Major
Priority:  5 - Normal Item Group:  None
Status:  Invalid Privacy:  Public
Assigned to:  None Originator Name: 
Open/Closed:  Closed Release: 
Release:  2.02~beta1 Reproducibility:  None
Planned Release:  None

( 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 :/)


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
  • -email is unavailable- added by arvidjaar (Posted a comment)
  • -email is unavailable- added by vo_x (Submitted the item)
  •  

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

    Only logged-in users can vote.

     

     

     

    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2015-09-16 arvidjaar StatusNone => Invalid
        Open/ClosedOpen => Closed
    2015-09-16 vo_x Attached 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.6