| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
This variable indicates whether or nor the files are compiled for EFI.
The lack of it lead the Makefiles to forget to add some compilation
options specific to EFI.
Signed-off-by: Sylvain Gault <sylvain.gault@gmail.com>
|
|
|
|
|
|
|
| |
It's relatively simple to just apply the geodsp1s_f.bin force drive 80h
after applying the plain geodsp1s.img.xz
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
|
|
|
|
|
|
| |
Move library dependendcies to a variable; Add another _f (Force DL == 80h)
variant.
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
|
|
|
|
|
|
|
| |
Print drive number at start. Print '!' before data when an error is
encountered (but continue). Several macros to change codesize. Code
refactoring to reduce size.
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
|
|
|
| |
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
|
|
|
|
|
|
| |
mk-lba-img.pl misdirects a status message about len/tail such that it hits
stdout (which may be our file) instead of stderr.
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
|
|
|
|
|
| |
Accomodates the per-firmware object directory support
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
|
|
|
|
|
| |
Correct merge f88b4f47
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
|\
| |
| |
| |
| |
| |
| | |
Resolved Conflict:
diag/geodsp/Makefile
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Resolved Conflicts:
NEWS
core/fs/fs.c
version
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
| | |
| | |
| | |
| | |
| | |
| | | |
Should clarify the situation; also word-wrap & save example
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Results in null image
Reported-By: ioannis
Signed-off-by: Gene Cumm <gene.cumm@gmail.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>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Before modules were dynamically loaded the boundary between GPL and
non-GPL code was implicit because of the separate link domains for
each module. With dynamic modules we need an explicit whitelist of
core symbols that non-GPL code can link against at runtime without
needing to be re-licensed under the GPL.
Mark such symbols with __export, so that it is explicitly clear which
symbols in the core can be linked against by non-GPL code.
Reduce the visibility of symbols in both the core and ldlinux.c32 with
-fvisibility=hidden. __export changes the visibility to 'default'.
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
|
| |/
| |
| |
| |
| | |
Reported-by: Ady <ady-sf@hotmail.com>
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>
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
Makefile
com32/elflink/ldlinux/adv.c
com32/elflink/ldlinux/kernel.c
com32/elflink/ldlinux/ldlinux.c
com32/include/bitsize/stddef.h
com32/include/bitsize/stdint.h
com32/include/stdint.h
com32/include/sys/module.h
com32/include/sys/x86_64/bitops.h
com32/include/syslinux/linux.h
com32/lib/Makefile
com32/lib/sys/ansicon_write.c
com32/lib/sys/module/elfutils.h
com32/lib/sys/vesa/efi/fill.h
com32/lib/syslinux/load_linux.c
com32/lib/syslinux/serial.c
com32/lib/syslinux/shuffle.c
core/conio.c
core/elflink/config.c
core/elflink/load_env32.c
core/graphics.c
core/include/graphics.h
core/init.c
core/pxelinux.asm
mk/elf.mk
mk/lib.mk
|
| |
| |
| |
| | |
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
I suspect that some instructions about how to use the diag/mbr was not
updated when the source file was renamed to handoff.S. Here is a simple
proposition to fix that only into the handoff.S file.
Jean-Christian de Rivaz
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This reduces the host binary dependence and prevents the need for a
rebuild of the images after a 'make clean'.
This has the unfortunate side effect of going from 0.03s to 0.30s to
build an image.
Also fix Makefile to include (optional) raw targets and use $(GZIPPROG)
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
| |
| |
| |
| | |
To be used to replace the native C binary
|
| |
| |
| |
| |
| |
| | |
Do not distribute the mk-lba-img host tool binary.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
| |
| |
| |
| |
| |
| |
| | |
Use the appropriate variables but for now the flags/options are
overridden in this Makefile. Also add XZ to mk/syslinux.mk
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
| |
| |
| |
| |
| |
| | |
They are a BTARGET file
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
| |
| |
| |
| | |
Unneeded statements; delete *.lst like other Makefiles
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Pertinent changes are sprinkled through *.mk and Makefile in the syslinux tree.
Build architecture is specified at the command line via ARCH macro. This is to enable whether
one is building for the native platform or cross-building for a different architecture. Currently,
the only supported architectures via ARCH macro are i386 and x86_64.
There are some modules (e.g. memdump) that don't build under the EFI environment. To go forward
with efi boot support, a separate EFI_BUILD=1 macro has been added and is required to be
specified while building. This is a temporary solution for the current build environment.
example build:
On a x86_64 platform, the following cross-builds syslinux for i386
To build for i386: make EFI_BUILD=1 ARCH=i386
On a x86_64 platform, the following builds syslinux for x86_64
To build natively: make EFI_BUILD=1
Changes specific to GCC and LD options:
Architecture specific flags and include/search directories are set up for GCC and LD commands.
Internally, GCC options such as stack-boundary, PIC and machine architecture are set up
based on ARCH macro. While stack-boundary=2 is fine for i386, it does not work for x86_64
and so it is left to the default value. Using -fPIE with gcc does not work with ld on x86_64,
but -fPIC works fine. Similarly, target and elf options are set up for linking
as approrpriate for architecture.
Assumption about gnu-efi install path:
Since the EFI build supports both EFI32 and EFI64, the following assumptions
are made with regard to the installed location of gnu-efi on the build platform.
1. gnu-efi-ia32: assumed installed in /usr/local
[ EFI-32 include files in /usr/local/include/efi and gnu-efi library in /usr/local/lib/ ]
2. gnu-efi-x86_64: assumed installed in /usr
[ EFI-64 include files in /usr/include/efi and gnu-efi library in /usr/lib64/ ]
Remanants of the unused old i386-only files, if any, need to be pruned.
|
|\
| |
| |
| |
| |
| |
| |
| | |
Resolved Conflicts:
com32/hdt/Makefile
com32/sysdump/Makefile
Signed-off-by: H. Peter Anvin <hpa@zytor.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>
|
| |
| |
| |
| |
| |
| |
| | |
In -1 mode, zero-fill the sector instead of writing whatever garbage
was in the buffer already.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| | |
If we want the return value to be in bytes, make sure we pass the byte
count in the nmemb field instead of the size field.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Allow the generation program mk-lba-img to merge the prefix file and
output to stdout, so it can be fed directly to the compressor; that
way we avoid generating huge intermediate files on disk.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|/
|
|
|
|
| |
"make clean" should not remove BTARGET
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|\ |
|
| | |
|
| |
| |
| |
| |
| | |
The printing of CR/LF was misplaced such that it'd print a blank line if
no PnP data was found.
|
|/ |
|
|\
| |
| |
| |
| |
| |
| | |
Conflicts:
diag/mbr/handoff.S
diag/mbr/handoff.S: Remove the attempt to zero pad/prevent overflow
|
| |
| |
| |
| |
| |
| | |
When running a file in the current directory, use ./ as a prefix.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| | |
The construct used for zero-padding in handoff.S doesn't work with gas
2.21.51.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| | |
|
| |
| |
| |
| |
| |
| | |
This produces two images that are 8MiB+ in size (in order to exceed the
size of the largest CHS cylinder) containing 1 or multiple sectors of
code/data and the remaining sectors filled with their LBA.
|
|/
|
|
| |
HPA noticed that using Fedora 15 Alpha and gcc-4.6 broke on this code
|
| |
|
| |
|
| |
|
| |
|
|
|