summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* pxe: Add support for embedded options in EFIsyslinux-6.03-pre16H. Peter Anvin2014-06-162-23/+113
| | | | | | | | For EFI, rather than mucking with the PECOFF or ELF headers (we have both!) just use a fixed-size buffer embedded in the image with a large magic number that can be scanned for safely. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* pxe: Re-add support for embedded DHCP optionssyslinux-6.03-pre15H. Peter Anvin2014-06-164-3/+23
| | | | | | | | | | Fix the support for embedded DHCP options. Although we were diligently saving them away, we never actually parsed them. This fixes embedded options for BIOS only -- for EFI we need to modify the encoding scheme so that it can fit inside an EFI PECOFF image. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Revert "ldlinux: Allow a held shift key to override UI as well as DEFAULT"H. Peter Anvin2014-06-101-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 7e7139788c8ac6ffbf474976ad4d1727e0677b9f. Requested by Ady <ady-sf@hotmail.com> who also requested the original patch: After some tests with MENU SHIFTKEY with different versions of Syslinux, I came to the conclusion that, at least for now, it would be better to undo commit 7e7139788c8ac6ffbf474976ad4d1727e0677b9f: "ldlinux: Allow a held shift key to override UI as well as DEFAULT" committed on Thu, 22 May 2014. Although the aforementioned commit makes the current 6.03 branch behave as version 4.xx, my tests show that the behavior is effectively inadequate and inconsistent. Although I had been previously nagging you in irc about maintaining backward compatibility of the "force-prompt" keys, I have to ask you to undo the aforementioned commit before the final release of 6.03 stable. The behavior of Syslinux 6.03 without this particular commit will slightly "break" with the prior "force-prompt" behavior as seen in 4.xx when using [vesa]menu.c32, but it will be more consistent and clean. Without this commit, the user can still avoid the automatic launch of the default label by the same means (the "escape" "shift" keys), which is the most important characteristic of MENU SHIFTKEY. Please consider this request before the release of 6.03 stable. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* com32: Fixing lua's dependenciessyslinux-6.03-pre14Erwan Velu2014-06-101-1/+2
| | | | | | | | | | Lua shall be one of the latest module to build as it requires some other components to be built before. Prior this patch, it was impossible to make a parallel build when "j" was greater than 26. This patch fix the ordering and allow a "make -j" of com32 directory.
* memdump: Remove old obsolete COM16 binaryH. Peter Anvin2014-06-1033-3898/+2
| | | | | | | | memdump was a com16 binary. If still useful, it should be replaced with a com32 library using libupload, but it has largely been replaced by sysdump anyway. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* sysdump: Remove README that was for memdump, not sysdumpH. Peter Anvin2014-06-101-19/+0
| | | | | | | Sysdump was forked from memdump, but the README was never fixed. It should be updated, but until then, delete it. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Make symbols defined in linker script HIDDENH. Peter Anvin2014-06-102-164/+164
| | | | | | | This makes symbols defined in com32.ld and syslinux.ld HIDDEN, to avoid collisions. Additional linker scripts should have this done, too. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* adv: Remove double defintionH. Peter Anvin2014-06-091-3/+1
| | | | | | | | __syslinux_adv_* symbols are now part of the core, so don't export them again elsewhere. This broke all uses of the ADV, including --once. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* core/fs: Add support to Unix File system 1/2.syslinux-6.03-pre13Raphael S. Carvalho2014-06-024-0/+944
| | | | | | | | It's already loading modules successfully, booting Linux, and both UFS version 1 and 2 seem to be working correctly. Signed-off-by: Raphael S. Carvalho <raphael.scarv@gmail.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* installer: Add UFS1/2 support for Extlinux installerRaphael S. Carvalho2014-06-024-10/+378
| | | | | | | | | | | 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>
* ntfs: fix incorrect file->offset usage in ntfs_readdirAndy Alex2014-06-021-6/+4
| | | | | | | | | | | | | file->offset is used to store position in index root between ntfs_readdir calls. Previously, pointer to buffer was stored in this field. However this buffer is reallocated and read each ntfs_readdir call so the pointer may become incorrect. Now offset in index root rather than pointer is stored in this field. [ hpa: applied patch manually as it arrived whitespace-corrupted ] Signed-off-by: Andy Alex <andy at r-tt.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* cache, btrfs: Provide a general cached read routineH. Peter Anvin2014-05-263-34/+41
| | | | | | | | btrfs_read() was really just a function to read data linearly while using the metadata cache. Move it to cache.c and rename it cache_read() so other filesystems can make use of it as well. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* btrfs: Remove static variablesH. Peter Anvin2014-05-262-77/+100
| | | | | | | Remove the use of static variables and replace them with per-instance allocations that can be found from the fs_info structure. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* btrfs: Fix stack smash with node size > 4Ksyslinux-6.03-pre12H. Peter Anvin2014-05-262-41/+62
| | | | | | | | | | | Newer btrfs has a node size of more than 4K. Make sure we have a buffer big enough to hold a node -- instead of allocating it on the stack, allocate it at startup time. While changing this code, remove a completely unnecessary arbitrary 64-bit divide. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* ldlinux: Allow a held shift key to override UI as well as DEFAULTH. Peter Anvin2014-05-211-4/+1
| | | | | | | For compatibility with 4.xx, make a held shift escape to override UI as well as DEFAULT. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* btrfs: fix typo in definition of BTRFS_ADV_OFFSETH. Peter Anvin2014-05-201-1/+2
| | | | | | Correct the macros used in BTRFS_ADV_OFFSET. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* btrfs: Move ldlinux.sys to Boot Area BH. Peter Anvin2014-05-202-6/+15
| | | | | | | | | | ldlinux.sys is frequently too big to fit into Boot Area A (64K). Per a recent ruling by Chris Mason, we have a 768K Boot Area B at offset 256K, so use that to store ldlinux.sys. In theory we could split it up and make it slightly larger, however, ldlinux.sys is loaded below the 640K mark so it has to be smaller than that size anyway. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* Centralize shift_is_held(), make it work to force the command linesyslinux-6.03-pre11H. Peter Anvin2014-04-204-7/+11
| | | | | | | Holding down shift is supposed to force a command line unless noescape is provided; make it behave that way. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* kbd: Use the extended keyboard state query for bios_shiftflags()H. Peter Anvin2014-04-201-3/+18
| | | | | | Mixing extended and non-extended keyboard functions can be a bad idea. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* kbd: Make getting the keyboard shift state a firmware methodH. Peter Anvin2014-04-204-12/+24
| | | | | | | Getting the keyboard shift state is a firmware method. It is unfortunately unclear if it is even possible on EFI. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* bios: Use int 0x16, ah=0x02 to probe for shift flagssyslinux-6.03-pre10H. Peter Anvin2014-04-172-5/+17
| | | | | | | | At least one USB keyboard BIOS has been reported to not properly handle the keyboard flags in memory. See if actually using INT 16h works better. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* NTFS: Fragmented $MFT file was not handledAndy Alex2014-04-171-100/+93
| | | | | | | | | | NTFS $MFT file may be fragmented by itself (and actually is in most cases). However, such a situation was not handled. This patch adds support for a fragmented $MFT file. Signed-off-by: Andy Alex <andy at r-tt.com> Fixed-by: Ady <ady-sf@hotmail.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* core: Avoid initializing the cache more than onceRaphael S. Carvalho2014-04-034-2/+7
| | | | | | | | | | Most of file system drivers initialize the cache themselves. The problem is that the same cache could be again initialized later, then invalidating the previous one. This patch fixes this. Problem found while auditing the code. Signed-off-by: Raphael S. Carvalho <raphael.scarv@gmail.com>
* lua: Remove additional old cruft from sl_boot_linux()syslinux-6.03-pre9H. Peter Anvin2014-03-131-4/+0
| | | | | | More obsolete cruft... Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* ntfs: Make byte_shift a constH. Peter Anvin2014-03-131-1/+1
| | | | | | byte_shift is a constant, label it as such. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* NTFS: Incorrect parsing of file runsAndy Alex2014-03-131-6/+2
| | | | | | | Length of some extents of NTFS files is parsed in wrong way. Signed-off-by: Andy Alex <andy at r-tt.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* FSUUID for ext2 filesystemSerj Kalichev2014-03-132-1/+40
| | | | | | | | | The ext2 filesystem supports volume UUID now. The FSUUID variable can be set to kernel command line. Patch is based on FSUUID for FAT patch. Signed-off-by: Serj Kalichev <serj.kalichev@gmail.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Add filesystem UUID to SYSAPPEND for FATSerj Kalichev2014-03-1313-1/+75
| | | | | | | | | | Filesystem UUID shows the partition we boot kernel from. The kernel parameter has format like FSUUID=DA1A-0B2E. The SYSAPPEND bit is 0x40000. Now the FAT only supports FSUUID. The patch is based on 67aaaeeb228. Signed-off-by: Serj Kalichev <serj.kalichev@gmail.com> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Merge branch 'nocomapi'H. Peter Anvin2014-03-1319-541/+121
|\ | | | | | | | | | | | | Trying again. Tested-by: Gene Cumm <gene.cumm@gmail.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * biosboot: This file is not for EFInocomapiH. Peter Anvin2014-03-131-0/+4
| | | | | | | | | | | | | | This file causes dynamic link failures on EFI, and of course has no use in the EFI environment. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| * Merge branch 'nocomapi'syslinux-6.03-pre7H. Peter Anvin2014-03-0319-541/+117
| |\
| | * lib.mk: Add biosboot.oH. Peter Anvin2014-02-131-1/+1
| | | | | | | | | | | | | | | | | | We need biosboot.o for shuffle and boot now. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| | * comapi: Remove the comapi interfaces completelyH. Peter Anvin2014-02-1310-459/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the last bits of the comapi interfaces completely. This does not install stub handlers for the INT 20-3Fh handlers, as we don't support loading old COMBOOT/COM32/COM32R images anymore. We could put those back if we really need them. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| | * bios: Remove shuffle and boot comapi callH. Peter Anvin2014-02-1311-53/+89
| | | | | | | | | | | | | | | | | | | | | | | | Remove the shuffle and boot comapi call. This is the last of the comapi calls left; we should now be able to completely remove the comapi support. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
| | * bios: Remove comapi calls related to the ADVH. Peter Anvin2014-02-134-38/+20
| | | | | | | | | | | | | | | | | | | | | | | | The only comapi calls left are the ones related to the ADV and to shuffle and boot. Remove the ADV-related ones as part of getting rid of the comapi framework completely. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | | lua: Remove obsolete crap from sl_boot_linux()syslinux-6.03-pre8H. Peter Anvin2014-03-131-29/+0
| | | | | | | | | | | | | | | | | | sl_boot_linux() contained a bunch of random obsolete garbage. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | | lua: In sl_initramfs_add_file(), actually use the real file nameH. Peter Anvin2014-03-131-3/+3
|/ / | | | | | | | | | | Instead of "/testfile1", actually use the real file name... Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | lua: replace the syslinux module test with an automatic boot menu generatorsyslinux-6.03-pre6Ferenc Wágner2014-03-021-0/+152
| |
* | lua: base the package load paths on the Syslinux pathFerenc Wágner2014-03-022-2/+35
| |
* | lua: upgrade to 5.2.3Ferenc Wágner2014-03-0263-107/+160
| |
* | lua: add demo of the cmenu binding (the simple example)Ferenc Wágner2014-03-021-0/+34
| |
* | lua: start of a binding module for libmenu.c32Ferenc Wágner2014-03-022-0/+94
| |
* | lua: make the dmi module standaloneFerenc Wágner2014-03-012-4/+14
| | | | | | | | | | | | By copying two short functions from the cpu module. They do not warrant a separate module. Also make those functions static in both modules.
* | lua: also reactivate the cpu, dhcp, dmi, pci and vesa extension modulesFerenc Wágner2014-03-017-8/+19
| | | | | | | | And document the change in usage.
* | lua: bind get_key() in the syslinux moduleFerenc Wágner2014-03-011-0/+49
| |
* | lua: reactivate the syslinux extension moduleFerenc Wágner2014-03-012-2/+3
| | | | | | | | | | Under Lua 5.2 modules are not expected to set global variables to reduce namespace pollution. Explicit require() is preferred.
* | lua: add the LuaFileSystem libraryFerenc Wágner2014-03-012-0/+297
| |
* | lua: enable dynamic module loadingFerenc Wágner2014-03-012-0/+48
| |
* | sys/module.h: fix some typos in function documentationsFerenc Wágner2014-03-011-2/+3
| |
* | sys/module.h: remove the #ifdef DYNAMIC_MODULE conditionFerenc Wágner2014-03-011-20/+0
| | | | | | | | | | This makes the module_* functions accessible to COM32 modules. MODULE_INIT and MODULE_EXIT are not used anymore.