| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
Makefile
NEWS
com32/cmenu/Makefile
com32/elflink/ldlinux/Makefile
com32/gfxboot/Makefile
com32/gpllib/Makefile
com32/include/sys/module.h
com32/lib/Makefile
com32/lib/sys/module/elf_module.c
com32/menu/Makefile
com32/rosh/Makefile
com32/samples/Makefile
core/init.c
mk/elf.mk
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A struct s_hardware is far too large to be placed onto the stack and
was causing us run past the end of the allocated stack and overwrite
the diskcache, which resulted in apparent file system corruption.
Move this hefty object into the bss.
Cc: Erwan Velu <erwanaliasr1@gmail.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Always strip the modules; they are too big unstripped. Specifically,
we generate unstripped *.elf files, and then convert them to
stripped *.c32 files.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
Makefile
com32/elflink/ldlinux/Makefile
com32/lib/sys/module/elf_module.c
core/cleanup.c
core/comboot.inc
core/conio.c
core/fs/fs.c
core/init.c
core/mem/free.c
core/mem/malloc.c
core/timer.inc
diag/geodsp/Makefile
extlinux/main.c
mk/embedded.mk
modules/Makefile
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
We need to be allocating sizeof(char *) (4) not sizeof(char) (1) for
'new_argv'.
Cc: Erwan Velu <erwanaliasr1@gmail.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This merge also includes the Syslinux-4.06 release.
Conflicts:
Makefile
com32/hdt/Makefile
com32/modules/Makefile
com32/samples/hello.c
mtools/Makefile
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The following conflict is a result of the fact comapi_chainboot was
only stubbed out on the 'elflink' branch but was properly marked as
obsolete in 'master'.
Conflicts:
core/comboot.inc
|
| | |
| | |
| | |
| | | |
New release with codename Manon
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
By using the "silent" option at the cmdline, HDT tries not displaying
any boring message.
This is particulary interesting with the "display" option.
|
| | |
| | |
| | |
| | | |
Using more_printf allow to manage more easily several pages printing.
|
| | |
| | |
| | |
| | |
| | | |
If people want to sleep while saying message, they now have to use the
sleep command instead of the previous specific %x syntax.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This command will help users getting some delay between two automatic
commands.
As an example, it can be used to show a serie of pictures.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This command allow switching the background image. This could be used
for example to give more explicit message to users.
Idea is coming from the FGTC project
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Modules were linking against com32/gpllib/libcom32gpl.c32 even when
NOGPL was set, so remove it from various modules Makefiles and use
$(C_LIBS) in mk/elf.mk which already has the conditional-magic for
$(GPLLIB).
Also, the object files in com32/gpllib/ are not distributed in the
release tarballs, which means that if a user does a 'make netinstall'
they hit the following install error,
install: cannot stat `com32/gpllib/*.c32': No such file or directory
Add a $(INSTALLABLE_MODULES) variable to separate the list of build
and install modules.
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Now that we have multiple firmware backends it no longer makes sense
to write object files to the same directory as their source. A better
solution is to write the object files to a per-firmware directory
under a top-level object directory.
The top-level object directory can be specified on the command-line
with the O= variable, e.g. make O=/tmp/obj. If no top-level object
directory is specified an 'obj' directory is created in the top-level
of the Syslinux source repository.
All the existing make targets continue to work as before, however now
they apply to all firmware backends, e.g. 'make installer' will build
the BIOS, 32-bit EFI and 64-bit EFI installers and place them under
$(OBJ)/bios, $(OBJ)/efi32 and $(OBJ)/efi64 respectively.
Note unlike every other bit of Syslinux, the gpxe objects are still
kept in the src directory, e.g. gpxe/src, since gpxe is only required
by the BIOS backend.
It is possible to specify a make target for a specific firmware or
list of firmware with the following syntax,
make [firmware[,firmware]] [target[,target]]
To clean the object directory for just the BIOS firmware type,
'make bios clean'
To build both the 32-bit and 64-bit EFI installers type,
'make efi32 efi64 installer'
Since the Syslinux make infrastructure is now more complex a new file
doc/building.txt has been created to explain how to build Syslinux.
The top-level Makefile now exports some make variables for use in
module Makefiles,
- topdir - the top-level source directory of the Syslinux
repository, e.g. /usr/src/syslinux
- objdir - the top-level object directory for the firmware
backend currently being built, e.g. /obj/syslinux/bios
- SRC - the source directory in the Syslinux repository for the
module currently being built,
e.g. /usr/src/syslinux/com32/libupload
- OBJ - the object directory for the module currently being
built, e.g. /obj/syslinux/bios/com32/libupload
Since we're rewriting the Makefile infrastructure anyway it seemed
like a good idea to add parallel support. By writing subdirectories as
prequisites for make targets the objects in those subdirectories can
be built in parallel.
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some object files need to link against the ELF libraries. Allow them
to be specified with the following syntax in the Makefiles,
LDFLAGS_$(object_file) = $(LIBS)
By adding libraries in this way DT_NEEDED entries are created in the
ELF modules and the required library dependencies are automatically
loaded before running the module.
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The COM32 cs_bounce buffer is not usable with ELF modules, as we're
trying to move to an environment where memory is dynamically
allocated. All users of __com32.cs_bounce have been converted to using
lmalloc() to allocate low memory.
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A lot of development has gone on in the 'master' branch since the last
time we merged; new features, bug fixes, etc, etc.
Conflicts:
Makefile
com32/Makefile
com32/lib/Makefile
com32/lib/syslinux/load_linux.c
com32/modules/Makefile
com32/modules/chain.c
core/bootsect.inc
core/init.inc
version
|
| | |
|
| |
| |
| |
| | |
When building official hdt image, let's add a say & postexec example.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This command is just for displaing a message to the cli during a defined
period of time.
Syntax is like the following : say `my message`%<number_of_seconds>
An example :
say `This is my text message to display during 5 seconds`%5
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Some new commands might need being able to manage the argv directly
instead of the much more oriented scheme we had until now.
This commit add a .nomodule option to cli object to explically tell they
don't have a module as parameter but only arguments.
This will be needed for the 'say' command.
|
| |
| |
| |
| | |
Sizeof(char *) is definetly wrong for getting the length of a string.
|
| |
| |
| |
| |
| | |
Adding more debug traces in the cli management to ease debugging &
feature adding.
|
| |
| |
| |
| | |
chain32 moved, let's adjust the "release" target.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When HDT is exiting, you might need executing something else.
This could be used in the following scenario :
You start HDT, do an automatic command like 'dump; exit', but then after
you might need to launch something else from syslinux.
The postexec option will allow you to define what label you'd love
running one HDT got terminated.
Syntaxt is like the following:
postexec='menu_label_to_run_once_hdt_got_exited'
Note the quotes (') after the equal sign (=)
This could looks like :
APPEND auto='dump; exit' postexec='memtest'
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
During CPU's capabilites computation, let's sure the buffer we manage is
big enought....
|
| |
| |
| |
| |
| |
| |
| | |
When physical disks were present, the computed items were not flushed
and so not present on the disk file.
Thanks to pscheie for reporting this.
|
| |
| |
| |
| |
| | |
Bootable flags shall be 6 char to let one NULL terminating char.
Thx Gerth for reporting this.
|
| |
| |
| |
| | |
New release 0.5.1 to manage dynamic filenames based on "%" variables.
|
| |
| |
| |
| | |
Checksums file are generated by release target. No need to track it.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This option allow the user to redefine the way filename is made-of.
By default that's "mac_address+dmi_vendor_name+dmi_product_name"
This can be overidded by the following syntax:
dump_filename=your_filename
Note that it's mandatory not to add "" or '' around your_filename.
your_filename could be a regular filename but can also includes %{}
directives as defined by :
%{m} = mac address
%{v} = vendor name of the machine
%{p} = product name of the machine
%{ba} = Asset tag of the base board
%{bs} = Serial number of the base board
%{ca} = Asset tag of the chassis
%{cs} = Serial number of the chassis
%{sk} = SKU number of the system
%{ss} = Serial number of the system
Here come a possible command line :
APPEND nomenu auto='dump;' dump_path=hdt2 tftp_ip=192.168.1.254 dump_filename=%{m}+%{bs}+%{ba}+%{cs}+%{ca}+%{sk}+%{ss}+%{p}+%{v}
|
| |
| |
| |
| | |
When we release hdt, generating an usb hybrid image could be useful.
|
| |
| |
| |
| | |
If the boot flag is set on a partition, let's dump this information.
|
| |
| |
| |
| |
| |
| |
| | |
This reverts commit 842d7e35ccd8cd89105faf0266497e838d96c8b3.
In fact, you found a real bug. I missed at dumping some information.
So I revert this commit and then add the missing code.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move the __unused tag from com32/hdt/ to com32/include/klibc/ so that
it can be used by the entire code base, and mark unused function
parameters as __unused to stop the following kind of build warning,
elflink/load_env32.c: In function ‘load_env32’:
elflink/load_env32.c:107:30: warning: unused parameter ‘regs’
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Don't link against libmenu.a, it no longer exists as it was removed in
commit 74518b8b691c ("elflink: Make ELF the default object format").
This fixes the following build error,
make[2]: *** No rule to make target `../cmenu/libmenu/libmenu.a', needed by `hdt.c32'. Stop.
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
com32/elflink/modules was originally created to house ELF modules and
keep them separate from the COM32 modules as the elflink branch was
being developed. However, this has inadvertently created a maintenance
nightmare because code was copied from elsewhere in the tree into
com32/elflink/modules, resulting in duplication. Bug fixes have been
going into the original code but have not been merged onto the elflink
branch, leaving the duplicate code in com32/elflink/modules buggy.
So let's delete this directory. There really is no reason to keep ELF
and COM32 modules separate because there's no reason to need both
COM32 and ELF modules to coexist. ELF is a far superior object file
format and all modules are not emitted as ELF objects.
Now that we're outputting ELF modules we can use dynamic memory
instead of the cs_bounce bounce buffer.
This commit requires a certain amount of shuffling for some
files. quicksort.c isn't a module and belongs as part of the util
library. cli.h belongs in com32/include so that other modules can make
use of the cli code in ldlinux.c32.
All libraries are now ELF shared libraries which are only loaded to
fixup unresolved symbols for executable modules and renamed from *.a
to *.c32. This reduces the runtime memory footprint because libraries
are only loaded when needed and because every executable no longer
gets its own copy of code/data (as it would if linking with a static
library). Also, remove MINLIBOBJS from libcom32.c32 because it is
already part of libcom32min.a and we don't want to have any duplicate
symbols between the core (which links with libcom32min.a) and
libcom32.c32.
Welcome to the New World Order of ELF modules!
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
|
|
|
|
|
|
|
| |
hdt picks up include files from outside the include directory and so
needs an explicit -I$(com32). This probably should be fixed.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|\
| |
| |
| |
| |
| |
| |
| | |
Resolved Conflicts:
com32/hdt/Makefile
com32/sysdump/Makefile
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| | |
com32.mk already includes the necessary libraries in $(C_LIBS), we
don't need to list them again in $(LIBS).
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move the MCONFIG files into a mk/ directory and give them more
descriptive names.
This is purely a cosmetic change to make the 'include' directives a
bit more coherent by making it obvious exactly which MCONFIG file
we're including. For example, in com32/lua/src/Makefile we exchange
the line,
include ../../MCONFIG
for the much more comprehensible,
include $(MAKEDIR)/com32.mk
Signed-off-by: Matt Fleming <matt.fleming@linux.intel.com>
|
| |
| |
| |
| |
| |
| |
| | |
The standard definition for inet_ntoa() is to take struct in_addr, and
not doing that causes a conflict on the lwip branch.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Remove a set but unused variable in HDT, which prevents building with
gcc 4.6. This is probably a bug; presumably the active flag should be
presented to the user, too.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| | |
Thanks for all who participe in this release.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When generating floppy images some version of mtools (< 4.0.14) are
buggy and generate incorrect labels. So using > 4.0.13 is recommended.
Anyway, let's use _ into the volume name, that cleaner :
We now have
disk label="HDT_0_5_0_B"
instead of
disk label="HDT_0~5~0-B"
|
| |
| |
| |
| |
| | |
Some screenshots shows that we have some troubles for aligning items.
This is now fixed.
|