[Bug 187910] sysutils/syslinux: failed to create ldlinux.c32

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Thu Oct 9 02:42:32 UTC 2014


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=187910

--- Comment #9 from uffe at uffe.org ---
How to test:

Despite the name of this port (syslinux) - no linux is actually required in
order to test this patch.

Background:
syslinux is a boot menu (manager) ala grub - just without the ugly syntax
On DOS partitions it installs a stage1 boot loader file "ldlinux.sys" into the
filesystem root - it is hooked into the PBR (partition boot record).
A stage2 (com32) boot loader called "ldlinux.c32" is also installed into the
filesystem root - this installation (of ldlinux.c32) fails with the current
port.
The attached patch fixes that issue.


Here is a quick "before-and-after-patch" test-case:

Make sure that you have the mtools (emulators/mtools) package installed.
All you need is a FreeBSD root access, an usb-stick or similar media that can
be manipulated for test purposes - in other words no
valuable data should be on that media.

The rest of this text assumes that device /dev/da0 and slice-partition
/dev/da0s1 identifies the USB device that testing is to be carried out on.

1) Create a MBR-style partition table on the usb stick (da0) - use your
favourite partitioning tool - fdisk, gpart etc
2) Create a MSDOS partition (slice) on the usb stick (da0) - use your favourite
partitioning tool - fdisk, gpart etc
3) Create a MSDOS filesystem on the newly created partition (da0s1) - command:
newfs_msdos /dev/da0s1
4) Display newly created (empty) MSDOS filesystem - run: # mdir -a -i
/dev/da0s1

5) before applying my patch to syslinux - running the following command:

# syslinux -i -f /dev/da0s1

Results in error message:
syslinux: failed to create ldlinux.c32

6) run:
# mdir -a -i /dev/da0s1
shows that only ldlinux.sys is copied to root of the MSDOS filesystem -
ldlinux.c32 is not seen

7) after applying my patch to syslinux - running the following command:

# syslinux -i -f /dev/da0s1

Completes without error

8) rerun:

# mdir -a -i /dev/da0s1

should show that now both ldlinux.sys and ldlinux.c32 is copied to root of
MSDOS filesystem.

9) Done.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-ports-bugs mailing list