[syslinux] USB boot problems on Gigabyte GA-M55Plus-S3G

Ady
Fri, 10 Jan 2014 01:06:21 -0000

>
> I have successfully created bootable USB flash drives containing the
> following bootable products:
>
>     1)	Clonezilla (recent version)
>     2)  Ultimate Boot CD (recent version)
>     3)  OpenELEC (recent version)
>
> All of these apparently use SYSLINUX as part of the boot process.
>
> All three boot up just fine and with no problems at all on virtually all
> of the various systems that I have here at my disposal, except for one.
>
> The one system where I am unable to boot from these USB flash drives
> contains a Gigabyte GA-M55Plus-S3G motherboard (rev 1.1), which is
> running the latest official release BIOS from the manufacturer (F15B).
> (I have configured the BIOS on this system so that the first and only
> boot device is USB-HDD.)
>
> On this system, when attempting to boot either Clonezilla or OpenELEC
> from a USB flash drive, I receive the following messages:
>
> 	SYSLINUX 5.10 2013-06-04 ...
>
> 	Failed to load ldlinux.c32
> 	Boot failed: please change disks and press a key to continue.
>
> In the case of the Ultimate Boot CD, the messages are a bit different:
>
> 	SYSLINUX 4.07 2013-07-25 ...
>
> 	ERROR: No configuration file found
> 	No DEFAULT or UI configuration found
>
> As far as I have been able to gather, this sort of thing is a common
> problem on various Gigabyte motherboards.
>
> For Clonezilla and OpenELEC at least, I can apparently work-around this
> problem by placing a copy of the PLOP Boot manager onto a CD, and then
> booting from that CD in the first instance, then using PLOP to boot
> from my desired USB flash drive.
>
> I would just like to ask if anybody on this list is at all familiar with
> this sort of problem, and whether or not there is a better or simpler
> work-around.
>
>
> Regards,
> rfg
>
>
> P.S.  Whatever is causing the problem, it is clearly not the
"fault" of
> SysLinux.  I have also been unable to boot on this same system from a
> hard drive containing a good/working/bootable install of Windows 7, but
> only when that is detached from its internal sATA connector and then
> mounted instead into a perfectly functioning external USB enclosure.
> In short it is 100% clear that Gigabyte somehow snafued the part of their
> BIOS firmware that was supposed to have provided support for booting from
> attached USB devices.  I'd just like to find a work-around so that I
don't
> have to spring for a new motherboard just yet.

Since in all cases you get to see at least the Syslinux copyright
message, the problem doesn't seem to be related to whether your BIOS
can identify the USB disk and boot from it.

Some GA motherboards might identify some USB drives as "HDD", instead
of "USB-HDD". I would suggest pressing F8 during POST and double
check where exactly your USB drive is listed.

Regarding UBCD, it sounds like some conflicting path. From your
description, you should see a "boot:" prompt. But the original UBCD
includes its syslinux.cfg in '/boot/syslinux', a "standard"
location.
So either you have a wrongly customized UBCD in your USB drive, or
your BIOS is not booting from that specific UBCD drive.

So, do you have other drives connected to this system? Do you have
Syslinux also installed to those other drives? Can you disconnect /
disable all other drives in this system (at least for testing
purposes)?

Regarding Clonezilla Live, the latest version uses Syslinux
6.03-pre1, so you might be using an older release. The "ldlinux.c32"
file should be also part of the Syslinux 6.03-pre1 installation. If
you see a (hidden) file named "ldlinux.sys", but you don't see the
corresponding (from the same Syslinux version) "ldlinux.c32", then
you are probably not installing Syslinux correctly in that USB drive.

As a remainder, all files under the /syslinux directory of your
Clonezilla USB drive should match the same version of Syslinux that
you installed as bootloader.

I would suggest downloading the latest Clonezilla Live release
available and using the "manual" method to install it in your USB
drive. Other methods are probably going to fail (by mixing different
versions of Syslinux).

With regards to OpenELEC, my guess is that something similar to the
Clonezilla issue is going on.

In other words, review the method you are using to install Syslinux
in those USB drives; and for whichever version of Syslinux you
install as bootloader in one drive, the necessary *.c32 modules
should match the same Syslinux version (including, if necessary, its
corresponding lib*.c32 files for 5.xx and newer Syslinux versions).

HTH,
Ady.