| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Merge the SYSLINUX and EXTLINUX patching code and core code, removing
EXTLINUX as a separate derivative. All the disk-based systems now use
the same code.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
|
| |
Reduce sector 1 space pressure by moving objects that aren't needed by
Sector 1 proper into an "extended patch area". While we're mucking
with the installer code, make the syslxint and extlinux installer code
even more similar. It should now be pretty straightforward to
outright merge the code.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
Fix off-by-one error in the FAT installer, which caused the install to
incorrectly abort without the patched version of the data.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
| |
We must make sure we actually use the modified pointer returned from
set_fs(), otherwise bad things happen...
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|
|
|
|
|
| |
Add missing const
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|
|
|
|
|
| |
Synchronize the code for generate_extents() from extlinux to syslinux.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Switch to consistent use of 64-bit sector pointers; this should enable
booting even for individual *partitions* larger than 2 TB. In order
to not slow down the boot too much, switch the initial load from an
enumeration to an extent map. This means the table gets larger (since
we have to assume the worst case), but it simplifies the Sector 1 code
(since we can push all the hard stuff into the installer), and will
speed up booting in the general case.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implement the !GPT handover protocol in the Syslinux core, and handle
partition offsets above 2 TB. We do not yet handle filesystem sizes
above 2 TB, but that should be a reasonably straightforward extension
at this time (need to switch to 8-byte block pointers).
This finally meant moving getlinsec out of the boot sector, since it
no longer fits. Instead have a very simple getonesec implementation
in the boot sector. getlinsec still fits in Sector 1, although it
doesn't leave space for very many block pointers. That's still better
than adding yet another boot loader stage, however.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|
|
|
|
|
|
| |
Clean up warnings in checkin
146c34a2 Make syslinux installer real "pathbased"
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The previous merging extlinux/syslinux patch is not sufficient, the
syslinux is not real "patchbased", hence:
* fill currentdir in patcharea
* search "extlinux.conf" and "syslinux.cfg" for generic_load_config
* define boot_image and boot_sector macro for ldsyslinux
this could make further merging extlinux and syslinux possible
Signed-off-by: Alek Du <alek.du@intel.com>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|
|
|
|
|
|
|
|
|
|
| |
Thus we can share same command line options and reduce a lot of dup
code...
Seems like a big patch, but the changes are quite safe, no much logical
change.
Signed-off-by: Alek Du <alek.du@intel.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
|
|
|
| |
The first sector ptr is in bs->NextSector not in the array in
the patch_area. And actually the ADV sectors counting is wrong for a
while ...
Signed-off-by: Alek Du <alek.du@intel.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
| |
CLean up warnings in the installers.
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
|
|\
| |
| |
| |
| |
| |
| | |
Resolved Conflicts:
core/fs/ext2/ext2.c
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Give readable error messages as to why we think a filesystem is bad.
Given the current sizes of the installer, these extra strings are
worth it.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|/
|
|
|
|
|
|
|
|
|
| |
Work on picking the initial cwd by storing a path instead of by
storing an inode number. This should be both more general (in the
sense of supporting filesystems in a generic way) as well as
conceptually cleaner. The code doesn't work yet, but this at least
provides support for the extlinux installer to store its subpath into
the installed image.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
com32/include/netinet/in.h
com32/include/sys/cpu.h
dos/argv.c
dos/malloc.c
dos/syslinux.c
extlinux/main.c
libinstaller/setadv.c
libinstaller/syslinux.h
libinstaller/syslxint.h
libinstaller/syslxmod.c
linux/syslinux.c
mtools/syslinux.c
win32/syslinux.c
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Automatically reformat libinstaller/syslxmod.c using Nindent.
Do this for all files except HDT, gPXE and externally maintained
libraries (zlib, tinyjpeg, libpng).
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| | |
Forcibly uninline the far data accessor functions. This significantly
reduces the size of the code.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| | |
Make ldlinux_seg a global variable, and use it in syslxmod.c. This
reduces the size of syslxmod.o fairly significantly.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| | |
Use the names SECTOR_SIZE and SECTOR_SHIFT everywhere, instead of an
odd mix of symbols and hard-coded constants.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Additional fixes for the 32K limits in the installers. In the case
of the DOS installer, that means changing it from COM format to EXE
format (since COM format has a 63K hard limit); retain the name
syslinux.com for user compatibility, though (DOS doesn't care what the
extension except for pathname search; if it finds an MZ EXE header it
will use it.)
With the change to EXE means having to handle more than one segment.
Since we don't have a real DOS compiler we have to wing it a bit.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
"nsect" here is the size of ldlinux.sys, not the total structure;
therefore it should not be decremented. Again, all this should really
be unified.
With this patch the FAT derivatives boot with the current code.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Update the FAT installers to match the new patch area format in
diskstart.inc. Also, update the coding style to match extlinux; this
code should eventually get unified.
This does not resolve the current issues with the DOS installer when
ldlinux.sys exceeds about 48K, at which point the DOS installer needs
to become a segment-aware EXE program.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
|
|
|
|
|
|
| |
Conflicts:
extlinux/extlinux.c
|
|
--once now supported for extlinux; some infrastructure for syslinux
there as well, need implementation in all the various installers,
however.
|