| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
MSVC requires prefix and suffix attributes for packing structures.
Signed-off-by: Pete Batard <pete@akeo.ie>
|
|
|
|
|
|
|
|
| |
Due to size constraints on DOS systems, do not include whole syslxcom
into DOS-based installer for using xpread() and xpwrite() functions,
instead make them part of another separate library and include it only.
Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As per bug #4, we should report a clear failure if the target path is
not writable.
The current code was catching the fact the file was not writable
but it didn't wrote an explicit message and even more confusing, was
trying to process the file descriptor leading to a creepy "Bad file
descriptor" error message.
This patch does return EACCES to avoid process the file description.
It also print an explicit message saying a particular file isn't
writable which generates a fatal error.
A typical output looks like :
[root@host]: extlinux --once=plop /boot
/boot is device /dev/sda
Cannot open file '/boot/ldlinux.sys' in read/write mode !
Fatal error, exiting.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
_BSD_SOURCE was deprecated in favour of _DEFAULT_SOURCE since glibc
2.20[1]. To avoid build warning on glibc2.20, _DEFAULT_SOURCE should
also be defined.
[1]: https://sourceware.org/glibc/wiki/Release/2.20
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
_BSD_SOURCE was fist used at 1769d57c94d7a965168b72b6fd8d48251710b452
Signed-off-by: Gene Cumm <gene.cumm@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
| |
It's needed to enumerate both UFS1 and UFS2 as they have different magic numbers
and super block offsets.
Neither UFS1 nor UFS2 move files around, therefore, ldlinux.sys can be
installed as a regular file.
Signed-off-by: Raphael S. Carvalho <raphael.scarv@gmail.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|
|
|
|
|
|
| |
The access functions for architectures which need bytewise access had
type problems.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|
|
|
|
|
| |
0 used as NULL triggers a warning.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
| |
Add sparse address space annotations for the syslinux boot image, to
make it easier to catch errors that break the DOS installer build
again. Use "make CC=cgcc" to run sparse.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
|
| |
We started using memset() on the extents buffer in ldlinux.sys, which
doesn't reside in the main segment, which worked on all the installer
platforms except DOS. Fix DOS by introducing memset_sl() for this
case.
Reported-by: Ady <ady-sf@hotmail.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
DOS actually does provide the fully qualified pathname to the
executable, which would be useful to make ldlinux.c32 data rather than
live inside the executable itself -- it has gotten too large.
Also, move some DOS internals -- inline functions only used inside the
dos directory -- out of libinstaller.
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>
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
merge/elflink/xfs
Pull XFS filesystem driver from Paulo Alcantara,
* 'xfs-for-hpa' of git://zytor.com/users/pcacjr/syslinux: (60 commits)
xfs: Fix the way we check di_mode of an inode
xfs: Cleanup previous commit
xfs: Add xfs_readlink()
xfs: Cleanup and remove some trailing whitespaces
xfs: Add XFS_DINODE_FMT_BTREE support in xfs_next_extent()
xfs: Cleanup and remove some trailing whitespaces
xfs: Rework xfs_dir2_get_right_blk()
xfs: cleanup unused structure
xfs: Remove some trailing whitespaces
xfs: Add full B+tree search support in xfs_dir2_node_find_entry()
xfs: Add xfs_fmt_btree_find_entry()
xfs: Fix memory leak in xfs_dir2_node_find_entry() function
xfs: Cleanup xfs_readdir_dir2_leaf() function
xfs: Implement xfs_readdir_dir2_node() function
EXTLINUX: Add sanity check for XFS filesystems
xfs: Add xfs_fmt_local_readdir() function
xfs: Add xfs_fmt_local_find_entry() function
xfs: Move readdir functions to another source file
xfs: Remove trailing whitespace in xfs_dir2_isleaf() function
xfs: Move dir2 functions to another source file
...
Conflicts:
extlinux/main.c
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
XFS filesystems are divided into a number of equally sized chunks called
Allocation Groups (AGs). Each AG can almost be thought of as an
individual filesystem that maintains its own's space usage.
Each AG has the following structure:
- A super block describing the overall filesystem info
- Free space management
- Inode allocation and tracking
So, due to historical reasons (SGI IRIX's design of disk layouts), the
first sector in the primary AG on XFS filesystems contains the
superblock, which is a problem with bootloaders that rely on BIOSes (that
load VBRs which are located in the first sector of the partition).
This patch adds support to the EXTLINUX installer to be able to install
Syslinux in an XFS partition, but with a limitation (temporarily) of
relying on the filesystem block size being 4+ KiB, otherwise there won't
be enough space to store the Syslinux boot sector in the blank area around
the 2048 to 4096 bytes of the primary AG/superblock.
Signed-off-by: Paulo Alcantara <pcacjr@zytor.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The merge commit 0b26e59c8f5d didn't cause any conflicts in
libinstaller/ so this bug went unnoticed, but we need to sync the
merged libinstaller/Makefile with the changes in 1408e6ca7b38 ("Add
per-firmware object directory support").
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
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
__attribute__((packed)) does the wrong thing when in ms-struct
mode; this breaks compiling on mingw-w64. Therefore force gcc struct
mode when we use packed.
This obsoletes checkin
7d9ee65 win: Add -mno-ms-bitfields
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | | |
Just some minor cleanup
Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Because ldlinux.c32 is required for Syslinux to function correctly, we
should be installing it automatically much like ldlinux.sys.
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>
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| | |
Oops :)
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| | |
Add a --device option for scripts and expert users to override the
device detection.
Signed-off-by: H. Peter Anvin <hpa@zytor.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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Don't use <linux/ext2_fs.h> if we can avoid it.
The ioctl constants have been globalized and moved to <linux/fs.h>.
Use a private copy of ext2_fs.h from e2fsprogs with the ioctl
constants removed for the data structures.
Do at least attempt backward compatibility for old kernel headers, but
no real hope of proper operation there...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| | |
Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
|
| |
| |
| |
| |
| |
| | |
Sanity check for FAT volumes
Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Add a "make strip" target, to make doing the official build easier.
We want the official build to have stripped binaries for size reasons,
so do it right and make it an actual build target.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Don't use <linux/ext2_fs.h> if we can avoid it.
The ioctl constants have been globalized and moved to <linux/fs.h>.
Use a private copy of ext2_fs.h from e2fsprogs with the ioctl
constants removed for the data structures.
Do at least attempt backward compatibility for old kernel headers, but
no real hope of proper operation there...
[ Doing this as a cherry-pick to unblock this branch ]
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Resolved Conflicts:
libinstaller/linuxioctl.h
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We need the recent Makefile filename changes to be merged into the
elflink branch because it will make things simpler when converting all
modules to ELF format.
Conflicts:
com32/Makefile
com32/modules/Makefile
version
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
syslinux_already_installed function will be used in both extlinux and
syslinux for checking if the boot sector has either the string
"SYSLINUX" or "EXTLINUX" in the OEMID field.
Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
|
| |/
| |
| |
| |
| |
| |
| | |
1. Make sure extents are strictly less than 64K in size
2. Make sure extents do not cross 64K boundaries
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|\ \
| |/
| |
| |
| |
| |
| | |
Conflicts:
com32/lib/Makefile
com32/lib/sys/open.c
version
|
| |
| |
| |
| |
| |
| | |
gcc 4.6 warns on variables set but not used, so remove them.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Put a magic signature at the end of the boot sector, and a backpointer
to the code that contains the pointer to the main code extent. This
is useful for integrity-checking tools, and could help the installer
in the future.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
In 'libinstaller/syslxopt.c' on line 71 the "s" (undercast) is missing in:
const char short_options[] = "t:fid:UuzS:H:rvho:OM:ma";
Adding the 's' there seems to solve our problem.
|
|\ \
| |/
| |
| |
| |
| |
| |
| | |
Resolved Conflicts:
core/diskfs.inc
core/mem/free.c
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| | |
Remove a lengthy warning message which cause the actual command
reference to overflow a 24-line screen.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix fatal warnings in syslxopt.c partly due to legal but non-idiomatic
use of switch(). Since the only purpose was to conditionalize single
output statements, just do it explicitly.
In addition, since they are conditional messages, there is no need to
explain when they apply.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| | |
Gert Hulselmans noticed this.
|
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| |
| |
| |
| |
| |
| | |
Don't make non-executable files +x...
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
| |
| |
| |
| |
| |
| |
| | |
Add memcpy_from_sl() and use it to handle pointers into the payload
section.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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>
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
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>
|