Bug 1192137 - Failed to load libcom32.c32 and COM32 file vesamenu.c32
Summary: Failed to load libcom32.c32 and COM32 file vesamenu.c32
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: livecd-tools
Version: 21
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Brian Lane
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 1177265 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-02-12 16:44 UTC by John Florian
Modified: 2015-04-18 01:41 UTC (History)
8 users (show)

Fixed In Version: livecd-tools-21.5-1.fc21
Clone Of:
Environment:
Last Closed: 2015-03-10 15:34:12 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description John Florian 2015-02-12 16:44:13 UTC
Description of problem:
Every attempt I make to use livecd-iso-to-disk under Fedora 21 results in images that will not boot.

Version-Release number of selected component (if applicable):
livecd-tools-21.4-1.fc21.x86_64


How reproducible:
always

Steps to Reproduce:
1. Find a live ISO.
2. livecd-iso-to-disk --reset-mbr --noverify $iso $target
3. Try booting it.

Actual results:
System will show the following messages:

Failed to load libcom32.c32
Failed to load COM32 file vesamenu.c32
boot:

These will repeat endlessly.


Expected results:
Operable boots, of course.


Additional info:
See also #117833 which I suspect is strongly related.

I've tried numerous ISO images from my own to Fedora originals and all meet the same demise though show slightly different banners before going into the failure loop.

Comment 1 Brian Lane 2015-02-14 01:46:31 UTC
Thanks for the report. Since syslinux/extlinux is installed from the host version it needs more files :)

You can work around this by adding these files to the /syslinux/ directory:

ldlinux.c32
libcom32.c32
libutil.c32
vesamenu.c32

I'll try to get an update out next week.

Comment 2 John Florian 2015-02-16 14:38:43 UTC
Only libcom32.c32 and libutil.c32 were missing but adding them in did make everything work.

I had compared the syslinux dirs between a image made with F20 and one made with F21 and hadn't seen a difference in which files were present but some had grown significantly smaller.  Now I see why.  Apparently syslinux has split some things apart causing some files to shrink and the requirement for more files than before.

Thank Brian for the prompt response!

Comment 3 John Florian 2015-02-16 14:44:14 UTC
Also I stated:

    Additional info:
    See also #117833 which I suspect is strongly related.

That should have been #1173833 or
https://bugzilla.redhat.com/show_bug.cgi?id=1173833

Comment 4 Brian Lane 2015-02-16 23:06:13 UTC
*** Bug 1177265 has been marked as a duplicate of this bug. ***

Comment 5 Fedora Update System 2015-03-03 01:43:28 UTC
livecd-tools-21.5-1.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/livecd-tools-21.5-1.fc21

Comment 6 Fedora Update System 2015-03-19 18:45:18 UTC
livecd-tools-21.5-1.fc21 has been pushed to the Fedora 21 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 7 Madison Kelly 2015-04-15 22:32:28 UTC
I've got a fully up to date Fedora 21 install, with:

livecd-tools-21.5-1.fc21.x86_64
syslinux-6.03-1.fc21.x86_64

When I run 'syslinux -i /dev/sdX1', I get the same "Failed to load COM32 file vesamenu.c32" error when I try to boot the USB device. If I mount the USB device and manually copy:

rsync -av /usr/share/syslinux/ldlinux.c32 /mnt/usb/syslinux/
rsync -av /usr/share/syslinux/libcom32.c32 /mnt/usb/syslinux/
rsync -av /usr/share/syslinux/libutil.c32 /mnt/usb/syslinux/
rsync -av /usr/share/syslinux/vesamenu.c32 /mnt/usb/syslinux/

(Where /mnt/usb/ is the mount point of the generated USB device)

Then the USB can mount and display the menu properly.

So it appears this issue remains.

# uname -a
Linux lemass.alteeve.ca 3.19.3-200.fc21.x86_64 #1 SMP Thu Mar 26 21:39:42 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Comment 8 Brian Lane 2015-04-16 17:05:58 UTC
How did you create this USB? What did syslinux have in it before you copied the files over?

Comment 9 Madison Kelly 2015-04-16 17:29:30 UTC
Section of the script that generates the bootable USB device (USB is blanked first, if any partitions exist).

=====
USBDEV=/dev/sdb
USBDEVPART=${USBDEV}1
USBMNT=/mnt/usb

parted $USBDEV --script -- mklabel msdos
parted $USBDEV --script -- mkpart primary fat32 4MiB -1s
parted $USBDEV --script -- set 1 boot on
mkfs.vfat -F 32 ${USBDEVPART}
dd bs=440 count=1 conv=notrunc if=/usr/share/syslinux/mbr.bin of=$USBDEV
syslinux -i ${USBDEVPART}
=====

Files on the USB drive when just calling syslinux:

=====
  0 root@lemass:/data0/ISO/Anvil-m2/rhel/6# ls -lah /mnt/usb/syslinux/
total 42M
drwxr-xr-x  2 root root  32K Feb 25 11:33 .
drwxr-xr-x 13 root root  32K Dec 31  1969 ..
-rwxr-xr-x  1 root root 2.0K Feb 13 10:28 boot.cat
-rwxr-xr-x  1 root root   84 Feb 13 10:28 boot.msg
-rwxr-xr-x  1 root root  334 Feb 13 10:28 grub.conf
-rwxr-xr-x  1 root root  34M Feb 13 10:28 initrd.img
-rwxr-xr-x  1 root root 162K Feb 13 10:28 memtest
-rwxr-xr-x  1 root root 961K Feb 13 10:28 pxe_splash_1024_768.png
-rwxr-xr-x  1 root root 542K Feb 13 10:28 pxe_voyager1.png
-rwxr-xr-x  1 root root   56 Feb 13 11:12 README
-rwxr-xr-x  1 root root 1.2M Feb 13 10:28 rhel_splash.jpg
-rwxr-xr-x  1 root root 961K Feb 13 10:28 splash_anvil.jpg
-rwxr-xr-x  1 root root 542K Feb 13 10:28 splash.jpg
-rwxr-xr-x  1 root root  24K Feb 13 10:28 syslinux.bin
-rwxr-xr-x  1 root root 4.4K Apr 15 14:28 syslinux.cfg
-rwxr-xr-x  1 root root 3.3K Apr 15 20:13 TRANS.TBL
-rwxr-xr-x  1 root root 160K Feb 13 10:28 vesamenu.c32
-r-xr-xr-x  1 root root 4.0M Feb 13 10:28 vmlinuz
=====

This fails, until I run (vesamenu.c32 is probably not needed, as it is already there):

=====
rsync -av /usr/share/syslinux/ldlinux.c32   ${USBMNT}/syslinux/
rsync -av /usr/share/syslinux/libcom32.c32  ${USBMNT}/syslinux/
rsync -av /usr/share/syslinux/libutil.c32   ${USBMNT}/syslinux/
rsync -av /usr/share/syslinux/vesamenu.c32  ${USBMNT}/syslinux/
=====

Then it boots and shows the menu properly.

In case it matters, generating bootable ISOs works fine.

Comment 10 Brian Lane 2015-04-17 16:54:16 UTC
Oh, ok. You're creating your own USB stick, not using livecd-iso-to-disk which is what this bug is about. The modules you need to copy depend on what version of syslinux you are copying over, as you have found.

Comment 11 Madison Kelly 2015-04-17 20:47:06 UTC
Should I open this as a new bug? Or is this not a bug and I am just doing something wrong?

Comment 12 Brian Lane 2015-04-18 00:04:36 UTC
Unless I'm misunderstanding something this looks like a bug in your creation script, it needs to copy the files.

Comment 13 Madison Kelly 2015-04-18 01:41:10 UTC
OK, disregard my comments then. 

Cheers.


Note You need to log in before you can comment on or make changes to this bug.