platform/upstream/syslinux.git
14 years agoMake __free_tagged actually free memory
Sebastian Herbszt [Tue, 27 Jul 2010 12:46:57 +0000 (14:46 +0200)]
Make __free_tagged actually free memory

__free_tagged called by comboot_cleanup_lowmem (core/mem/free.c) doesn't
seem to work correctly. Memory allocated with lmalloc() isn't marked as free
after the allocating module exits:

boot: mem
lowmem_buf: 0x000353e0
boot: mem
lowmem_buf: 0x000553f0
boot: mem
lowmem_buf: 0x00075400
boot: mem
lowmem_buf: 0x00000000
boot:

The expected behaviour

boot: mem
lowmem_buf: 0x000353e0
boot: mem
lowmem_buf: 0x000353e0
boot: mem
lowmem_buf: 0x000353e0

can be achieved with the following patch.

14 years agocore: define and use set_flags() helper
H. Peter Anvin [Mon, 26 Jul 2010 20:57:34 +0000 (13:57 -0700)]
core: define and use set_flags() helper

Rather than opencoding the arithmetic flag mask, define an inline to
make that happen properly.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agosample: remove obsolete "raw" comboot/com32 samples
H. Peter Anvin [Mon, 26 Jul 2010 20:33:37 +0000 (13:33 -0700)]
sample: remove obsolete "raw" comboot/com32 samples

We really don't want people to write code without using the library,
so just remove these obsolete and no longer functional samples.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agolibmenu: Fix cursor on exit from showmenus()
Gene Cumm [Mon, 26 Jul 2010 19:09:43 +0000 (15:09 -0400)]
libmenu: Fix cursor on exit from showmenus()

This fixes the issue in hdt.c32 that Kent Robotti noticed where
exiting directly from Menu Mode caused the cursor to not be displayed.
This same issue also affects com32/cmenu/simple.c32 and probably
others using showmenus().

Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agocore: don't hang if no config file is found
H. Peter Anvin [Mon, 26 Jul 2010 00:27:37 +0000 (17:27 -0700)]
core: don't hang if no config file is found

If we can't find a configuration file, we need to do something
slightly more friendly than hanging.

Reported-by: Sebastian Herbszt <herbszt@gmx.de>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agowin64: experimental Win64 installer (syslinux64.exe) syslinux-4.02
H. Peter Anvin [Wed, 21 Jul 2010 19:33:13 +0000 (12:33 -0700)]
win64: experimental Win64 installer (syslinux64.exe)

Experimental Win64 installer.  This is necessary to be able to run on
WinPE64, since WinPE64 doesn't support running 32-bit binaries.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agowin32: fix README, adjust broken +x bits
H. Peter Anvin [Wed, 21 Jul 2010 19:00:12 +0000 (12:00 -0700)]
win32: fix README, adjust broken +x bits

Fix the win32/README file and adjust some stray +x bits which had
crept in.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agolua: remove obsolete FIXME comment
Geert Stappers [Tue, 20 Jul 2010 22:12:36 +0000 (15:12 -0700)]
lua: remove obsolete FIXME comment

Remove an obsolete FIXME comment; the problem was caused by a stale
library.

14 years agoNEWS: document IP byte order fix. syslinux-4.02-pre5
H. Peter Anvin [Tue, 20 Jul 2010 06:45:18 +0000 (23:45 -0700)]
NEWS: document IP byte order fix.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agopxe: fix byte order of output from parse_dotquad()
H. Peter Anvin [Tue, 20 Jul 2010 06:42:41 +0000 (23:42 -0700)]
pxe: fix byte order of output from parse_dotquad()

parse_dotquad() incorrectly returned output in host byte order.

Reported-by: Alexander Wuerstlein <arw@arw.name>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoextlinux, linux: Ignore --force in these installers syslinux-4.02-pre4
Shao Miller [Tue, 20 Jul 2010 03:34:04 +0000 (23:34 -0400)]
extlinux, linux: Ignore --force in these installers

Previous commits described this behaviour, but did not
actually implement it. :)

Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
14 years agodos: Use libinstaller option parser
Shao Miller [Tue, 20 Jul 2010 03:21:57 +0000 (23:21 -0400)]
dos: Use libinstaller option parser

We will produce an error message if a user attempts
to use an option we don't implement.

Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
14 years agodos: add .size directives to int2526.S
H. Peter Anvin [Tue, 20 Jul 2010 00:36:12 +0000 (17:36 -0700)]
dos: add .size directives to int2526.S

Add .size directives to int2526.S.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodos: add .size attribute for syslinux_ldlinux_len
H. Peter Anvin [Tue, 20 Jul 2010 00:33:22 +0000 (17:33 -0700)]
dos: add .size attribute for syslinux_ldlinux_len

Just for the sake of good order, a .size attribute for
syslinux_ldlinux_len.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodos: add missing file ldlinux.S
H. Peter Anvin [Tue, 20 Jul 2010 00:30:30 +0000 (17:30 -0700)]
dos: add missing file ldlinux.S

Add missing assembly wrapper for ldlinux.sys.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agowin32: remove an archive before running ar on it
H. Peter Anvin [Tue, 20 Jul 2010 00:28:25 +0000 (17:28 -0700)]
win32: remove an archive before running ar on it

Always remove an archive before ar...

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodos, win32: use our own getopt_long() for both
H. Peter Anvin [Tue, 20 Jul 2010 00:23:16 +0000 (17:23 -0700)]
dos, win32: use our own getopt_long() for both

Use our own version of getopt_long() for both the DOS and Win32
installers.  Currently, on MinGW, getopt_long() is a static library,
but that could change in some installations.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodos: fix non-executable files which were +x
H. Peter Anvin [Tue, 20 Jul 2010 00:15:44 +0000 (17:15 -0700)]
dos: fix non-executable files which were +x

Don't make non-executable files +x...

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agoMerge branch 'master' into libinstaller_dos_wip
H. Peter Anvin [Mon, 19 Jul 2010 23:56:35 +0000 (16:56 -0700)]
Merge branch 'master' into libinstaller_dos_wip

Resolved Conflicts:
libinstaller/syslxopt.c
mtools/syslinux.c

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodos: advance the pointer correctly
H. Peter Anvin [Mon, 19 Jul 2010 23:37:00 +0000 (16:37 -0700)]
dos: advance the pointer correctly

Advance the pointer into the payload segment correctly.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodos: add memcpy_from_sl() and use it where appropriate
H. Peter Anvin [Mon, 19 Jul 2010 23:29:24 +0000 (16:29 -0700)]
dos: add memcpy_from_sl() and use it where appropriate

Add memcpy_from_sl() and use it to handle pointers into the payload
section.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodos: change the link procedure to use negative pointers below DGROUP
H. Peter Anvin [Mon, 19 Jul 2010 23:17:04 +0000 (16:17 -0700)]
dos: change the link procedure to use negative pointers below DGROUP

Use negative pointer values below DGROUP, i.e. for the .payload
segment.  This makes it a lot easier to figure out if we are dealing
with pointers that shouldn't come from where they do, since the DGROUP
and .payload segments no longer overlap, and in fact are congruent.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agoNEWS: mtools, win32 uses new CLI
H. Peter Anvin [Mon, 19 Jul 2010 21:57:44 +0000 (14:57 -0700)]
NEWS: mtools, win32 uses new CLI

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agoman: update syslinux.1. It is still out of date, however.
H. Peter Anvin [Mon, 19 Jul 2010 21:55:16 +0000 (14:55 -0700)]
man: update syslinux.1.  It is still out of date, however.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agoMerge remote branch 'gerth/lua'
H. Peter Anvin [Mon, 19 Jul 2010 20:18:24 +0000 (13:18 -0700)]
Merge remote branch 'gerth/lua'

14 years agoMerge remote branch 'gerth/ifplop_comments'
H. Peter Anvin [Mon, 19 Jul 2010 20:18:14 +0000 (13:18 -0700)]
Merge remote branch 'gerth/ifplop_comments'

14 years agoMerge remote branch 'sha0/for_hpa' syslinux-4.02-pre3
H. Peter Anvin [Mon, 19 Jul 2010 17:48:15 +0000 (10:48 -0700)]
Merge remote branch 'sha0/for_hpa'

14 years agodiskio: add a paranoia cast
H. Peter Anvin [Sat, 17 Jul 2010 19:40:01 +0000 (12:40 -0700)]
diskio: add a paranoia cast

Make sure we don't overflow the shift, even though that should never
be possible.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agodiskio: fix name for secpercyl field, remove unused type field
H. Peter Anvin [Sat, 17 Jul 2010 19:36:26 +0000 (12:36 -0700)]
diskio: fix name for secpercyl field, remove unused type field

Fix the name for the incorrectly named "t" (track) field; it is in
fact the sectors/cylinder (secpercyl) field.  Furthermore, remove the
completely unused "type" field... right now the pointer to the
rdwr_sectors field acts as a proxy, and if we need more complex stuff
in the future it is probably better handled by pointing to an ops
structure.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoNEWS: document EDD->CHS fallback. syslinux-4.02-pre2
H. Peter Anvin [Fri, 16 Jul 2010 23:38:16 +0000 (16:38 -0700)]
NEWS: document EDD->CHS fallback.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodiskio: remove locally coded ilog2()
H. Peter Anvin [Fri, 16 Jul 2010 23:35:41 +0000 (16:35 -0700)]
diskio: remove locally coded ilog2()

Use the centrally coded ilog2() function.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodiskio: expand most fields; cache the number of total tracks
H. Peter Anvin [Fri, 16 Jul 2010 23:33:39 +0000 (16:33 -0700)]
diskio: expand most fields; cache the number of total tracks

Expand most fields in struct disk to 32 bits -- it makes the code
smaller in general, and struct disk is not a common data element.

Add a field for the number of tracks (number of heads*sectors).

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodiskio: move strict CHS start value check into chs_rdwr_sectors()
H. Peter Anvin [Fri, 16 Jul 2010 23:29:17 +0000 (16:29 -0700)]
diskio: move strict CHS start value check into chs_rdwr_sectors()

It really makes more sense in chs_rdwr_sectors()...

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodiskio: check early for an impossible LBA value for CHS requests
H. Peter Anvin [Fri, 16 Jul 2010 23:25:53 +0000 (16:25 -0700)]
diskio: check early for an impossible LBA value for CHS requests

Make sure we don't end up trying to do a CHS request for a truly
absurd value, that could possibly be misconverted.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodiskio: when falling back EDD->CHS make sure to get the offset right
H. Peter Anvin [Fri, 16 Jul 2010 23:24:08 +0000 (16:24 -0700)]
diskio: when falling back EDD->CHS make sure to get the offset right

When we decide to go from EDD to CHS, make sure we convert from
absolute back to a partition offset.  The cylinder check should still
be on the absolute value, however.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodiskio: remove redundant sector count cap
H. Peter Anvin [Fri, 16 Jul 2010 23:20:22 +0000 (16:20 -0700)]
diskio: remove redundant sector count cap

The sector count cap on CHS is automatically given as a result of the
no-track-crossing rule.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodiskio: allow fallback from EDD to CHS
H. Peter Anvin [Fri, 16 Jul 2010 23:18:16 +0000 (16:18 -0700)]
diskio: allow fallback from EDD to CHS

At least one system has been found which require fallback from EDD to
CHS, so actually make it doable.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agoNEWS: Try again for proper lua.c32 credits
H. Peter Anvin [Fri, 16 Jul 2010 06:11:36 +0000 (23:11 -0700)]
NEWS: Try again for proper lua.c32 credits

Trying again to get this right...

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoMerge branch 'master' of ssh://terminus.zytor.com/pub/git/syslinux/syslinux
H. Peter Anvin [Fri, 16 Jul 2010 06:06:21 +0000 (23:06 -0700)]
Merge branch 'master' of ssh://terminus.zytor.com/pub/git/syslinux/syslinux

14 years agowhichsys.c32: Fix example in the comments and Usage output
Gert Hulselmans [Mon, 12 Jul 2010 22:26:09 +0000 (00:26 +0200)]
whichsys.c32: Fix example in the comments and Usage output

Fix example in the comments and Usage output.

Signed-off-by: Gert Hulselmans <gerth@zytor.com>
14 years agoifplop.c32: Fix spelling errors and other mistakes in comments
Gert Hulselmans [Mon, 12 Jul 2010 21:54:14 +0000 (23:54 +0200)]
ifplop.c32: Fix spelling errors and other mistakes in comments

Fix various spelling errors and other mistakes in the comment section.

Signed-off-by: Gert Hulselmans <gerth@zytor.com>
14 years agodoc: Recommend NASM 2.07+
H. Peter Anvin [Mon, 12 Jul 2010 16:06:21 +0000 (09:06 -0700)]
doc: Recommend NASM 2.07+

Recommend NASM 2.07+ to avoid the overlong instructions problem around
NASM 2.05.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agodoc: NASM 2.03+ has been required since 4.00 at least
H. Peter Anvin [Mon, 12 Jul 2010 16:05:02 +0000 (09:05 -0700)]
doc: NASM 2.03+ has been required since 4.00 at least

At least since the 4.00 code was merged, NASM 2.03 or higher has been
required.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agodos: Work-in-progress 2
Shao Miller [Sat, 10 Jul 2010 04:47:55 +0000 (00:47 -0400)]
dos: Work-in-progress 2

14 years agowin32: Use libinstaller option parser
Shao Miller [Sat, 3 Jul 2010 20:23:44 +0000 (16:23 -0400)]
win32: Use libinstaller option parser

We will produce an error message if a user attempts
to use an option we don't implement.

Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
14 years agomtools: Use libinstaller option parser
Shao Miller [Sat, 3 Jul 2010 10:04:16 +0000 (06:04 -0400)]
mtools: Use libinstaller option parser

We will produce an error message if a user attempts
to use an option we don't implement.

Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
14 years agolibinstaller: Add --mbr, --active, and --force options
Shao Miller [Sat, 3 Jul 2010 07:47:25 +0000 (03:47 -0400)]
libinstaller: Add --mbr, --active, and --force options

In order to consolidate the installer option-parsing system,
we add the --mbr (-m), --active (-a), and --force (-f)
options from the DOS, Win32, and mtools installers to
libinstaller.

Since the -m and -a options are not currently valid for the
Linux 'syslinux' and 'extlinux' installers, we add error
messages to both of these.  The -f option is allowed but
does nothing for them.

Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
14 years agoNEWS: correct credit for new Lua work.
H. Peter Anvin [Thu, 8 Jul 2010 21:53:02 +0000 (14:53 -0700)]
NEWS: correct credit for new Lua work.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agoNEWS: update syslinux-4.02-pre1
H. Peter Anvin [Thu, 8 Jul 2010 21:22:40 +0000 (14:22 -0700)]
NEWS: update

Update in preparation of a 4.02 release cycle.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agoDMI: Fixing memory mgmnt in dmi_memory_module_types
Laurent Licour [Wed, 7 Jul 2010 18:53:22 +0000 (20:53 +0200)]
DMI: Fixing memory mgmnt in dmi_memory_module_types

In some case, dmi_memory_module_types could read the entire memory as a
result of a bogus snprintf usage.

14 years agolua: Add .syslinux.derivative() and .syslinux.version()
Gert Hulselmans [Wed, 7 Jul 2010 00:54:53 +0000 (02:54 +0200)]
lua: Add .syslinux.derivative() and .syslinux.version()

Add .syslinux.derivative() and .syslinux.version().
Add an example script which shows how you can use .syslinux.derivative().

Signed-off-by: Gert Hulselmans <gerth@zytor.com>
14 years agozlib: rename DEBUG to DEBUG_ZLIB again
H. Peter Anvin [Tue, 6 Jul 2010 21:16:15 +0000 (14:16 -0700)]
zlib: rename DEBUG to DEBUG_ZLIB again

We don't want to use the global DEBUG for zlib...

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agolua: remove obsolete header used for old sleep function
Gert Hulselmans [Tue, 6 Jul 2010 20:41:29 +0000 (22:41 +0200)]
lua: remove obsolete header used for old sleep function

Remove obsolete header used for old sleep function.

Signed-off-by: Gert Hulselmans <gerth@zytor.com>
14 years agomtools: slightly more obvious definition of tmpdir fallback
H. Peter Anvin [Tue, 6 Jul 2010 01:16:02 +0000 (18:16 -0700)]
mtools: slightly more obvious definition of tmpdir fallback

Make it a bit more obvious what actually happens for the tmpdir
fallback.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agomtools: honor TMPDIR, check for errors writing mtools.conf
H. Peter Anvin [Tue, 6 Jul 2010 01:12:29 +0000 (18:12 -0700)]
mtools: honor TMPDIR, check for errors writing mtools.conf

Honor TMPDIR when picking a place to write mtools.conf.

Check for errors while writing mtools.conf.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agobtrfs: print an error if finding compressed/encrypted data
H. Peter Anvin [Tue, 6 Jul 2010 00:50:13 +0000 (17:50 -0700)]
btrfs: print an error if finding compressed/encrypted data

If we find compressed or encrypted data, print an error message
instead of returning garbage.  This is suboptimal, but at least
handles the common subcase of an encrypted configuration file.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoMerge remote branch 'gerth/ifcpu_remove_defines'
H. Peter Anvin [Tue, 6 Jul 2010 00:43:51 +0000 (17:43 -0700)]
Merge remote branch 'gerth/ifcpu_remove_defines'

14 years agoifcpu.c32: Remove defines used in the old sleep function.
Gert Hulselmans [Mon, 5 Jul 2010 23:59:40 +0000 (01:59 +0200)]
ifcpu.c32: Remove defines used in the old sleep function.

Remove useless defines which where used in the old sleep function.

Signed-off-by: Gert Hulselmans <gerth@zytor.com>
14 years agoNEWS: add grubcfg= and whichsys.c32
Gert Hulselmans [Mon, 5 Jul 2010 23:43:29 +0000 (01:43 +0200)]
NEWS: add grubcfg= and whichsys.c32

Add grubcfg= and whichsys.c32 to the NEWS file.

14 years agoNEWS: add grubcfg= and whichsys.c32
Gert Hulselmans [Mon, 5 Jul 2010 23:38:29 +0000 (01:38 +0200)]
NEWS: add grubcfg= and whichsys.c32

Add grubcfg= and whichsys.c32 to the NEWS file.

14 years agoMerge remote branch 'gerth/whichsys'
H. Peter Anvin [Mon, 5 Jul 2010 23:05:50 +0000 (16:05 -0700)]
Merge remote branch 'gerth/whichsys'

14 years agoMerge remote branch 'gerth/chain_grubcfg'
H. Peter Anvin [Mon, 5 Jul 2010 23:05:44 +0000 (16:05 -0700)]
Merge remote branch 'gerth/chain_grubcfg'

14 years agoifcpu.c32: need <unistd.h>
H. Peter Anvin [Mon, 5 Jul 2010 22:59:36 +0000 (15:59 -0700)]
ifcpu.c32: need <unistd.h>

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoifcpu.c32: remove open-coded sleep function
H. Peter Anvin [Mon, 5 Jul 2010 22:58:45 +0000 (15:58 -0700)]
ifcpu.c32: remove open-coded sleep function

Remove open-coded sleep function, which uses an unreliable BIOS call.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agolua: change syslinux.sleep() to seconds, syslinux.msleep() to ms
H. Peter Anvin [Mon, 5 Jul 2010 22:52:07 +0000 (15:52 -0700)]
lua: change syslinux.sleep() to seconds, syslinux.msleep() to ms

For consistency with just about everything else, make syslinux.sleep()
count seconds, and syslinux.msleep() count milliseconds.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocom32: add proper sleep()/msleep() functions and make Lua use them
H. Peter Anvin [Mon, 5 Jul 2010 22:45:37 +0000 (15:45 -0700)]
com32: add proper sleep()/msleep() functions and make Lua use them

Add proper sleep() and msleep() functions, which among other things
call syslinux_idle(), and make Lua use them.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocom32: change clock_t to 32 bits, and in milliseconds
H. Peter Anvin [Mon, 5 Jul 2010 22:43:09 +0000 (15:43 -0700)]
com32: change clock_t to 32 bits, and in milliseconds

Previously, clock_t was 16 bits and counted timer ticks, now make it
32 bits and count milliseconds.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocore: add a ms-denominated timer
H. Peter Anvin [Mon, 5 Jul 2010 22:41:36 +0000 (15:41 -0700)]
core: add a ms-denominated timer

Add a timer denominated in milliseconds.  This is still driven by the
18.2 Hz timer interrupt, but counts "real" milliseconds, including
handing the adjustment factor (which in reality means it advances by
55 for most timer ticks and 54 for some.)

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agowhichsys.c32: execute specific command, based on Syslinux bootloader variant
Gert Hulselmans [Mon, 5 Jul 2010 21:52:39 +0000 (23:52 +0200)]
whichsys.c32: execute specific command, based on Syslinux bootloader variant

Detemine which command to execute, based on the Syslinux bootloader variant
from which you run it.

  Usage:    whichsys.c32 [-iso- command] [-pxe- command] [-sys- command]
  Examples: whichsys.c32 -iso- chain.c32 hd0 -sys- chain.c32 hd1 swap
            whichsys.c32 -iso- config iso.cfg -sys- sys.cfg -pxe- pxe.cfg

Signed-off-by: Gert Hulselmans <gerth@zytor.com>
14 years agoMerge remote branch 'marcel/luaext'
H. Peter Anvin [Mon, 5 Jul 2010 21:23:50 +0000 (14:23 -0700)]
Merge remote branch 'marcel/luaext'

Merge Marcel Ritter's work on the lua branch:

The last time he wrote about the state of his lua branch:
http://syslinux.zytor.com/archives/2009-October/013383.html

The current state is:

- VESA:
  - switching to vesa mode works
  - loading/displaying images works
  - display text works (s. com32/lua/test/vesa.lua)

- PCI:
  - list PC devices + ID
  - get human-readable device name for device
   (s. com32/lua/test/pci.lua)

- DMI:
  - get DMI info (BIOS, Hardware, etc).
  (s. com32/lua/test/dmi.lua)

- syslinux:
  - loading files, kernel, initrd
  - start kernel, initrd, local boot
  ... just working on this, so no example lua file right now

Most of the actual merging work was done by Gert Hulselmans <gerth@zytor.com>.

Resolved Conflicts:
com32/lib/sys/vesa/initvesa.c
com32/lua/src/Makefile

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agozlib: update to zlib 1.2.5
H. Peter Anvin [Mon, 5 Jul 2010 20:41:04 +0000 (13:41 -0700)]
zlib: update to zlib 1.2.5

Update zlib to zlib 1.2.5.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agochain.c32: Put declaration of *stage2 before common code
Gert Hulselmans [Mon, 5 Jul 2010 12:04:46 +0000 (14:04 +0200)]
chain.c32: Put declaration of *stage2 before common code

Put declaration of *stage2 before common code.

Signed-off-by: Gert Hulselmans <gerth@zytor.com>
14 years agolibpng: upgrade to version 1.2.44
H. Peter Anvin [Mon, 5 Jul 2010 05:29:42 +0000 (22:29 -0700)]
libpng: upgrade to version 1.2.44

Upgrade libpng from 1.2.8 to 1.2.44.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agochain.c32: add grubcfg= for passing an alternative config filename to GRUB Legacy...
Gert Hulselmans [Sun, 4 Jul 2010 18:35:15 +0000 (20:35 +0200)]
chain.c32:  add grubcfg= for passing an alternative config filename to GRUB Legacy and cleanup the root partition passing

GRUB Legacy reserves 89 bytes for storing the filename of the configfile
from memory address 0x8217 to 0x826f.
We allow overwriting the default value (/boot/grub/menu.lst) when
grubcfg=<filename> is used together with grub=<loader>.

Examples:
  chain.c32 fs grub=/boot/grub/stage2 grubcfg=/boot/grub/grub.lst
  chain.c32 hd1,10 grub=/boot/grub/stage2 grubcfg=/boot/grub/grub.lst

Use a structure instead of hard-coded offsets for modifying the install_partition variable
(and the configfile name) in the stage2 file.

Add some comments about the "boot information format" of the Multiboot specification, which
is very similar to the install_partition variable used by GRUB Legacy.

Signed-off-by: Gert Hulselmans <gerth@zytor.com>
14 years agodos: Work-in-progress
Shao Miller [Sat, 3 Jul 2010 23:06:10 +0000 (19:06 -0400)]
dos: Work-in-progress

14 years agowin32: Use libinstaller option parser
Shao Miller [Sat, 3 Jul 2010 20:23:44 +0000 (16:23 -0400)]
win32: Use libinstaller option parser

We will produce an error message if a user attempts
to use an option we don't implement.

Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
14 years agomtools: Use libinstaller option parser
Shao Miller [Sat, 3 Jul 2010 10:04:16 +0000 (06:04 -0400)]
mtools: Use libinstaller option parser

We will produce an error message if a user attempts
to use an option we don't implement.

Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
14 years agolibinstaller: Add --mbr, --active, and --force options
Shao Miller [Sat, 3 Jul 2010 07:47:25 +0000 (03:47 -0400)]
libinstaller: Add --mbr, --active, and --force options

In order to consolidate the installer option-parsing system,
we add the --mbr (-m), --active (-a), and --force (-f)
options from the DOS, Win32, and mtools installers to
libinstaller.

Since the -m and -a options are not currently valid for the
Linux 'syslinux' and 'extlinux' installers, we add error
messages to both of these.  The -f option is allowed but
does nothing for them.

Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
14 years agocom32: update getopt() to the current version from klibc
H. Peter Anvin [Sat, 3 Jul 2010 01:00:42 +0000 (18:00 -0700)]
com32: update getopt() to the current version from klibc

Update getopt() to the current klibc version.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agocom32: add getopt_long() to the library
H. Peter Anvin [Sat, 3 Jul 2010 00:57:17 +0000 (17:57 -0700)]
com32: add getopt_long() to the library

Add getopt_long() to the library.  This is code lifted straight out of
klibc.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoNEWS, version: now working on version 4.02
H. Peter Anvin [Fri, 2 Jul 2010 23:48:24 +0000 (16:48 -0700)]
NEWS, version: now working on version 4.02

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agocore: split loadconfig.c into two files
H. Peter Anvin [Fri, 2 Jul 2010 23:19:59 +0000 (16:19 -0700)]
core: split loadconfig.c into two files

Split loadconfig.c into two files.  In particular, isolinux needs
search_config() but not generic_load_config().

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agocore: merge the configfile-searching code, isolinux generic names
H. Peter Anvin [Fri, 2 Jul 2010 23:13:44 +0000 (16:13 -0700)]
core: merge the configfile-searching code, isolinux generic names

Merge the config file searching code between syslinux and isolinux,
and make isolinux also recognize the generic names "syslinux" and
"syslinux.cfg".  Thus, isolinux now searches for configuration files
in the following order:

/boot/isolinux/isolinux.cfg
/boot/isolinux/syslinux.cfg
/isolinux/isolinux.cfg
/isolinux/syslinux.cfg
/boot/syslinux/isolinux.cfg
/boot/syslinux/syslinux.cfg
/syslinux/isolinux.cfg
/syslinux/syslinux.cfg
/isolinux.cfg
/syslinux.cfg

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agocore: always canonicalize the configuration file name
H. Peter Anvin [Fri, 2 Jul 2010 23:01:19 +0000 (16:01 -0700)]
core: always canonicalize the configuration file name

The FAT installers may not produce a canonical pathname in the
CurrentDirName field on entry.  Make sure that the core doesn't croak
when that happens, and still produces an absolute pathname for the
configuration file.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agolua: quiet warnings about unused variables and functions syslinux-4.01
H. Peter Anvin [Fri, 2 Jul 2010 18:19:39 +0000 (11:19 -0700)]
lua: quiet warnings about unused variables and functions

Quiet gcc warnings about unused variables and functions -- things that
are not used in the Syslinux environment at this time.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agolua: add parents to luaconf.h to quiet a gcc warning
H. Peter Anvin [Fri, 2 Jul 2010 18:18:57 +0000 (11:18 -0700)]
lua: add parents to luaconf.h to quiet a gcc warning

gcc warns about suspicious-looking code with a comparison inside ==.
The code is correct, but add parens so that gcc know we know it is
correct.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agolua: add missing <syslinux/boot.h> to syslinux.c
H. Peter Anvin [Fri, 2 Jul 2010 18:18:24 +0000 (11:18 -0700)]
lua: add missing <syslinux/boot.h> to syslinux.c

Need header files for functions we invoke.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agolua: Modernize the Makefile
H. Peter Anvin [Fri, 2 Jul 2010 18:16:40 +0000 (11:16 -0700)]
lua: Modernize the Makefile

Modernize the Makefile for lua to match the current style, in
particular to have it pick up its configuration and rules from the
central MCONFIG file.

This also fixes the incorrect use of "clean" vs. "spotless" which was
picked up from the Makefile style in use at that time.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agoNEWS: explain the memory overwrite bug a bit better
H. Peter Anvin [Fri, 2 Jul 2010 18:00:51 +0000 (11:00 -0700)]
NEWS: explain the memory overwrite bug a bit better

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoFix nuisance _FORTIFY_SOURCE failures
H. Peter Anvin [Fri, 2 Jul 2010 16:49:45 +0000 (09:49 -0700)]
Fix nuisance _FORTIFY_SOURCE failures

Fix a couple of _FORTIFY_SOURCE failures which are nuisance warnings,
but fortunately not too hard to just plain avoid.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoinstallers: handle asprintf() correctly
H. Peter Anvin [Fri, 2 Jul 2010 16:39:18 +0000 (09:39 -0700)]
installers: handle asprintf() correctly

It appears that the glibc version of asprintf() is braindamaged, and
doesn't set the target pointer to NULL in the event of an error (only
returns -1).  Therefore we need to check the return value.  Just in
case someone else made the *opposite* error, also check the pointer.

Bleh.  The glibc documentation states that *BSD sets the pointer to
NULL, but instead of following that, the glibc people put
warn_unused_result on asprintf.  Sigh.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoDocument 'nopassany' in MEMDISK documentation.
Gert Hulselmans [Sat, 6 Mar 2010 21:56:41 +0000 (13:56 -0800)]
Document 'nopassany' in MEMDISK documentation.

'nopassany' is missing in the MEMDISK documentation:
http://www.zytor.com/pipermail/syslinux-commits/2010-February/000096.html

14 years agopxelinux: new IPAPPEND 4 to generate a SYSUUID= option. syslinux-4.01-pre3
H. Peter Anvin [Fri, 2 Jul 2010 02:44:53 +0000 (19:44 -0700)]
pxelinux: new IPAPPEND 4 to generate a SYSUUID= option.

Add a new IPAPPEND option to generate a SYSUUID= option with the
in-system UUID.

Signed-off-by: H. Peter Anvin <hpa@zytor.com>
14 years agoMakefile: add lua.c32 to installables syslinux-4.01-pre2
H. Peter Anvin [Fri, 2 Jul 2010 01:12:41 +0000 (18:12 -0700)]
Makefile: add lua.c32 to installables

lua.c32 is an installable file.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agocore, diskio: reset controller between EDD retries
H. Peter Anvin [Fri, 2 Jul 2010 01:10:22 +0000 (18:10 -0700)]
core, diskio: reset controller between EDD retries

As documented in the old assembly code, reset the disk controller
between retries when using EDD.  We don't want to do that for CHS,
since a reset shuts down the floppy motor, and we might be suffering a
timeout.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agoMerge branch 'lua'
H. Peter Anvin [Fri, 2 Jul 2010 01:08:24 +0000 (18:08 -0700)]
Merge branch 'lua'

Resolved Conflicts:
NEWS

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agoNEWS: document memory overwrite fix
H. Peter Anvin [Fri, 2 Jul 2010 01:05:57 +0000 (18:05 -0700)]
NEWS: document memory overwrite fix

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agocom32: canonicalize DEBUG to mean <dprintf.h>
H. Peter Anvin [Fri, 2 Jul 2010 01:04:13 +0000 (18:04 -0700)]
com32: canonicalize DEBUG to mean <dprintf.h>

Remove historical uses of DEBUG/dprintf in favor of the centralized
<dprintf.h>.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agozlib: change DEBUG to DEBUG_ZLIB
H. Peter Anvin [Fri, 2 Jul 2010 01:03:01 +0000 (18:03 -0700)]
zlib: change DEBUG to DEBUG_ZLIB

zlib uses DEBUG for something slightly different than the Syslinux
main code, so change the name of the symbol.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
14 years agodprintf: allow overriding the serial port address
H. Peter Anvin [Fri, 2 Jul 2010 01:02:11 +0000 (18:02 -0700)]
dprintf: allow overriding the serial port address

Allow overriding the serial port address, e.g. for systems which only
have PCI serial ports.

Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>