Bug 5501 - Unable to boot memtest86+ using pxelinux
Summary: Unable to boot memtest86+ using pxelinux
Status: RESOLVED FIXED
Alias: None
Product: OE-Core
Classification: Build System, Metadata & Runtime
Component: core (show other bugs)
Version: 1.5
Hardware: x86 x86
: Medium normal
Target Milestone: 1.6
Assignee: Jonathan Liu
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2013-11-07 06:25 UTC by Jonathan Liu
Modified: 2014-02-23 09:34 UTC (History)
4 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: Regression (Used to work)
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jonathan Liu 2013-11-07 06:25:19 UTC
After syslinux was updated from 4.07 to 6.01, booting memtest86+ using pxelinux now fails:
PXELINUX 6.01 2013-07-04 Copyright (C) 1994-2013 H. Peter Anvin et al
Loading memtest86... ok
Booting kernel failed: invalid argument

A post on the syslinux mailing list indicates it is working again with syslinux 6.02 (I have already verified it works with syslinux 6.02): http://www.syslinux.org/archives/2013-August/020762.html

However, syslinux 6.02 has a known bug which corrupts the superblock when used on BTRFS volumes due to ldlinux.sys exceeding 64000 bytes:
http://www.syslinux.org/wiki/index.php/Syslinux_6_Changelog#Changes_in_6.02
http://www.syslinux.org/archives/2013-October/020956.html

There is also a regression in syslinux 6.02 which broke chainloading and is fixed by: http://git.kernel.org/cgit/boot/syslinux/syslinux.git/commit/?h=firmware&id=4ac63b5ac412d54462e292daf65a309775bc0448

Perhaps syslinux 6.03 can resolve all these issues when it's released?
Comment 1 Darren Hart 2013-11-07 16:00:51 UTC
Jonathan, since you seem to have a grasp on the problem, could you own this bug and prepare/test/submit a patch?
Comment 2 Jason Wessel 2013-11-10 13:32:22 UTC
I am also wondering if we can apply just the patch to fix the memtest86 problem and not pick up any other changes.

Can this case be updated to include information on how to reproduce the problem?
Comment 3 Jonathan Liu 2013-11-11 00:21:23 UTC
(In reply to comment #2)
> I am also wondering if we can apply just the patch to fix the memtest86
> problem and not pick up any other changes.

I think there were several patches.

> 
> Can this case be updated to include information on how to reproduce the
> problem?

1. Install dnsmasq and set up DHCP in dnsmasq.conf
2. Add following to dnsmasq.conf to enable TFTP and restart dnsmasq:
dhcp-boot=pxelinux.0
enable-tftp
tftp-root=/var/lib/tftpboot
3. cp tmp/sysroots/poky/usr/share/syslinux/{ldlinux.c32,pxelinux.0} /var/lib/tftpboot
4. mkdir /var/lib/tftpboot/pxelinux.cfg
5. cat > /var/lib/tftpboot/pxelinux.cfg/default << EOF
ALLOWOPTIONS 1
DEFAULT boot
TIMEOUT 1
PROMPT 0
LABEL boot
LINUX memtestp.bin
EOF
6. wget http://www.memtest.org/download/4.20/memtest86+-4.20.floppy.zip
7. unzip -j memtest86+-4.20.floppy.zip floppy/memtestp.bin
8. mv memtestp.bin /var/lib/tftpboot/memtestp.bin
9. Boot a computer system from PXE. You could use VirtualBox for example.
Comment 4 Jonathan Liu 2014-02-02 00:57:45 UTC
1.5.1 milestone has passed. Retargeting to 1.5.2.