Hi, I'm looking for a hint about what has changed in syslinux 6.03. Some years ago I had written a script that configures a bootable USB pen drive with syslinux and some boot images, which still worked well under Ubuntu 14.04 LTS and previous versions, but does not work anymore under Ubuntu 15.10 with syslinux 6.03. I've boiled this down to a test-script that isolates the problem: ------------------------------------------------------------------- #!/bin/bash device=/dev/disk/by-id/usb-SMI_Corporation_CnMemory_00040127008368-0:0 device=`realpath $device` echo "Device $device" if [[ ! -b $device ]] ; then echo 1>&2 "Device $device missing" exit 1 fi parted -s $device rm 1 || : parted -s $device rm 2 || : parted -s $device rm 3 || : parted -s $device rm 4 || : parted -s $device mkpart primary fat32 0MB 4000MB parted -s $device set 1 boot on blockdev --rereadpt $device sleep 2 dd if=/usr/lib/SYSLINUX/mbr.bin of=$device mkdosfs ${device}1 syslinux --install ${device}1 kvm -drive file=${device},format=raw ------------------------------------------------------------------- That script works under 14.04 LTS and creates a running pendrive (i.e. syslinux boot process reaches the point where it complains about the missing config file as expected, the test script does not install a config file)), while on 15.10 with syslinux 6.03 it creates a USB device that can't boot, it just brings the lines SYSLINUX 6.03 EDD 20150813 Copyright... Boot error What has changed between syslinux 6.03 and the older version in Ubuntu 14.04, that causes this different behaviour? regards Hadmut
On Wed, Dec 9, 2015 at 5:19 AM, Hadmut Danisch via Syslinux <syslinux at zytor.com> wrote:> Hi, > > I'm looking for a hint about what has changed in syslinux 6.03.A lot under the covers. The installer usage hasn't really changed.> Some years ago I had written a script that configures a bootable USB > pen drive with syslinux and some boot images, which still worked well > under Ubuntu 14.04 LTS and previous versions, but does not work > anymore under Ubuntu 15.10 with syslinux 6.03.http://packages.ubuntu.com/search?keywords=syslinux&searchon=names&suite=trusty§ion=all says v4.05.> I've boiled this down to a test-script that isolates the problem: > > > ------------------------------------------------------------------- > #!/bin/bash > > device=/dev/disk/by-id/usb-SMI_Corporation_CnMemory_00040127008368-0:0 > device=`realpath $device` > echo "Device $device" > > if [[ ! -b $device ]] ; then > echo 1>&2 "Device $device missing" > exit 1 > fi > > parted -s $device rm 1 || : > parted -s $device rm 2 || : > parted -s $device rm 3 || : > parted -s $device rm 4 || : > > parted -s $device mkpart primary fat32 0MB 4000MB > parted -s $device set 1 boot on > > blockdev --rereadpt $device > > sleep 2 > > dd if=/usr/lib/SYSLINUX/mbr.bin of=$device > > mkdosfs ${device}1 > > syslinux --install ${device}1 > > kvm -drive file=${device},format=raw > > > -------------------------------------------------------------------Nothing wrong there.> That script works under 14.04 LTS and creates a running pendrive > (i.e. syslinux boot process reaches the point where it complains about > the missing config file as expected, the test script does not install > a config file)), while on 15.10 with syslinux 6.03 it creates > a USB device that can't boot, it just brings the lines > > SYSLINUX 6.03 EDD 20150813 Copyright... > Boot error1) This is an Ubuntu build as indicated by the datestamp. Did you try 6.03 from the binary/source archive at kernel.org? http://www.syslinux.org/wiki/index.php/Download If these work, you'll need to report it to Ubuntu rather than skipping them in your bug report. 2) This indicates an error that occurs very early within SYSLINUX. The portion in the VBR (volume boot record) is attempting to load the rest of SYSLINUX and fails.> What has changed between syslinux 6.03 and the older version in Ubuntu > 14.04, that causes this different behaviour?If memory serves, NASM 2.11.06 has issues though the version string indicates it should be 2.11.05: http://packages.ubuntu.com/search?keywords=nasm&searchon=names&suite=wily§ion=all -- -Gene
> > What has changed between syslinux 6.03 and the older version in Ubuntu > 14.04, that causes this different behaviour? > > > regards > HadmutThe problem with the Syslinux-related packages in Ubuntu 15.10, as suggested already about a month ago in this same Syslinux Mailing List (among other places), is basically that someone decided to build the packages with gcc v.5+, but did not care to test them: [quote] syslinux (3:6.03+dfsg-8ubuntu2) wily; urgency=medium * debian/patches/0001-SYSAPPEND-Fix-space-stripping.patch: backport fix to space stripping in sysappend functions. (LP: #1484571) * debian/control: revert the previous change to build with GCC 4.9, and get back to GCC 5. -- Mathieu Trudel-Lapierre <email address hidden> Thu, 13 Aug 2015 14:43:15 -0400 [/quote] The key phrase from the above changelog is "back to GCC 5". Considering that currently there are no active maintainers for these packages in Ubuntu (nor in Debian), that was a "risky" move. At least a minimal test would had been appropriate, but it was never performed, while leaving numerous reports unanswered for several months (and still today). What Fedora did for F23: _ Patch0003: fix-alignment-change-gcc-5.patch _ Patch0004: dont-guess-section-alignment.patch Please note that the terms "Patch0003" and "Patch0004" are relevant for Fedora, not for every distro. A solution for Ubuntu 15.10+ would be to go back to compiling these packages with gcc v.4.9, as they used to be in v.15.04 (as the current Debian Sid packages are). Updating the packages in Ubuntu so to use the current Debian Sid's Syslinux-related packages might probably be the easier method. Alternatively, Ubuntu could replicate what Fedora did for F23, picking relevant commits from the upstream Syslinux git repository. Regards, Ady.> _______________________________________________ > Syslinux mailing list > Submissions to Syslinux at zytor.com > Unsubscribe or set options at: > http://www.zytor.com/mailman/listinfo/syslinux >
2015-12-09 11:19 UTC+01:00, Hadmut Danisch via Syslinux <syslinux at zytor.com>:> Hi, > > I'm looking for a hint about what has changed in syslinux 6.03. > > Some years ago I had written a script that configures a bootable USB > pen drive with syslinux and some boot images, which still worked well > under Ubuntu 14.04 LTS and previous versions, but does not work > anymore under Ubuntu 15.10 with syslinux 6.03. > > I've boiled this down to a test-script that isolates the problem: > > > ------------------------------------------------------------------- > #!/bin/bash > > device=/dev/disk/by-id/usb-SMI_Corporation_CnMemory_00040127008368-0:0 > device=`realpath $device` > echo "Device $device" > > if [[ ! -b $device ]] ; then > echo 1>&2 "Device $device missing" > exit 1 > fi > > parted -s $device rm 1 || : > parted -s $device rm 2 || : > parted -s $device rm 3 || : > parted -s $device rm 4 || : > > parted -s $device mkpart primary fat32 0MB 4000MB > parted -s $device set 1 boot on > > blockdev --rereadpt $device > > sleep 2 > > dd if=/usr/lib/SYSLINUX/mbr.bin of=$device > > mkdosfs ${device}1 > > syslinux --install ${device}1 > > kvm -drive file=${device},format=raw > > > -------------------------------------------------------------------It's very probably not the problem here, but when you get a weird low level bug in KVM, you may want to make a test run in a simple QEMU without KVM. Just for information: there's a bug in the KVM kernel module for Linux 4.2 and 4.3. This bug at least affects OVMF which in turn affects syslinux. But as I said, it's very probably a known bug with gcc 5, not with KVM.> > > That script works under 14.04 LTS and creates a running pendrive > (i.e. syslinux boot process reaches the point where it complains about > the missing config file as expected, the test script does not install > a config file)), while on 15.10 with syslinux 6.03 it creates > a USB device that can't boot, it just brings the lines > > SYSLINUX 6.03 EDD 20150813 Copyright... > Boot error > > > > What has changed between syslinux 6.03 and the older version in Ubuntu > 14.04, that causes this different behaviour?As mentioned by Ady, a previous occurrence of this bug has been reported in ubuntu: same error, same ubuntu version, same usage. https://bugs.launchpad.net/ubuntu/+source/usb-creator/+bug/1499746 It seems to be marked "fix released". So I guess you may just upgrade to fix it. And the discussion on the syslinux ML about it: http://www.syslinux.org/archives/2015-November/024539.html Best regards, Celelibi
> As mentioned by Ady, a previous occurrence of this bug has been > reported in ubuntu: same error, same ubuntu version, same usage. > https://bugs.launchpad.net/ubuntu/+source/usb-creator/+bug/1499746 > It seems to be marked "fix released". So I guess you may just upgrade to fix it.Nah, it is just marked as "duplicate". As I said, there are several "reports" about this "Boot error" message in Ubuntu 15.10, but no package maintainer(s).> > And the discussion on the syslinux ML about it: > http://www.syslinux.org/archives/2015-November/024539.htmlBut nothing specific there, until and unless a package maintainer would care to follow this upstream project, or at least to get in touch with upstream Syslinux (by means of this Syslinux Mailing List). Some reports were already opened by then, and they still have the same status. The only way to stop this useless amounts of reports is for someone from the Ubuntu QA Team to actually _do_ something about it: either to update from "3:6.03+dfsg-8ubuntu2" to "3:6.03+dfsg-11" (i.e. building with gcc 4.9) or by picking up the same upstream commits as Fedora 23 does (we could help with that too, if someone in Ubuntu would care). Good luck with that. Regards, Ady.> _______________________________________________ > Syslinux mailing list > Submissions to Syslinux at zytor.com > Unsubscribe or set options at: > http://www.zytor.com/mailman/listinfo/syslinux >