summaryrefslogtreecommitdiff
path: root/core
Commit message (Collapse)AuthorAgeFilesLines
* extlinux.asm: update copyright headerext4H. Peter Anvin2009-02-091-3/+3
|
* ext2_fs.inc: add ext4 constants and definitionsH. Peter Anvin2009-02-091-6/+50
| | | | Beginning of ext4 support: add constants and structure definitions.
* Add comboot interface to access the keyboard remapping tableH. Peter Anvin2009-02-031-1/+16
| | | | | | Add a comboot interface to access the keyboard remapping table, which can be used for either querying or changing the keyboard map.
* parseconfig.inc: use "skipline" where appropriateH. Peter Anvin2009-01-311-2/+2
| | | | Use "skipline" where appropriate instead of reading into the trackbuf.
* Make sure we eat the input when ignoring a DEFAULT commandH. Peter Anvin2009-01-312-11/+13
| | | | | | | | | Make sure we eat the rest of the input line when we encounter a DEFAULT command that is to be ignored because we have a UI command already. Do this by making skipline a subroutine. Based on a patch by Sebastian Hebszt <herbszt@gmx.de>, although substantially modified.
* Fix the new "UI" directiveSebastian Herbszt2008-12-141-0/+1
| | | | | | | | | The new directive doesn't seem to work here. Looks like DefaultLevel is never changed: core/parseconfig.inc:pc_default: cmp ax,[DefaultLevel] core/parseconfig.inc:DefaultLevel dw 0 ; The current level of default core/ui.inc: cmp word [DefaultLevel],1 ; Active UI statement?
* Add new "UI" directive instead of abusing the DEFAULT directiveH. Peter Anvin2008-12-144-7/+14
| | | | | | | | | Add a new "UI" directive to specify a user interface module, instead of abusing the DEFAULT directive. This allows the DEFAULT directive to be used for setting the default, even when the menu system is enabled. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* PXELINUX: local domain is option 15, not option 16syslinux-3.73-pre7H. Peter Anvin2008-12-011-1/+1
| | | | | | The local domain name is option 15, not option 16. Fix. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* core/Makefile: fix dependency generation with old versions of NASMH. Peter Anvin2008-12-011-1/+6
| | | | | | | Fix dependency generation with certain old versions of NASM, which omitted the '\n' between dependency lines. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* e820: pre-initialize bufferH. Peter Anvin2008-10-131-0/+5
| | | | | | | | Pre-initialize the e820 buffer to all zero, except for the active bit; we have found that BIOSes will make assumptions about the pre-existing value of the buffer and this seems the most conservative value. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Support "extended attributes" for INT 15h, AX=E820hH. Peter Anvin2008-10-131-2/+12
| | | | | | | | | | | | | | | Some blithering idiot thought it was a good idea to introduce "extended attributes" for INT 15h, AX=E820h, and in doing so, breaking compatibility with ALL E820 users out there. F*cking morons. Implement handling of extended attributes in: - e820 parsing in the core - e820 parsing in libcom32 - e820 parsing *and proxying* in memdisk The latter is the really painful one. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Add CD-ROM mode query to the COM32 interfaceH. Peter Anvin2008-10-101-0/+4
| | | | | | Report the booting mode of ISOLINUX through the COM32 interface. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Add Tab display of labelssyslinux-3.72-pre6H. Peter Anvin2008-09-094-0/+48
| | | | | | When the Tab key is pressed, display a list of matching labels. This can be disabled via the NOCOMPLETE configuration command. This is a slightly modified patch by Sebastian Herbszt.
* parsecmd: show keyword in err_noparm messageSebastian Herbszt2008-09-091-3/+5
| | | | | | Show which keyword is missing the parameter. - Sebastian
* isolinux: save a few bytesH. Peter Anvin2008-09-081-2/+1
| | | | | | Save a few bytes in ISOLINUX. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* isolinux: save a few bytes to make sure we actually fitH. Peter Anvin2008-09-081-12/+7
| | | | | | | With a long VERSION_STR, we would sometimes fail to compile. Shorten a few of the messages to make sure that doesn't happen. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* isolinux: display BIOS typeH. Peter Anvin2008-09-051-8/+28
| | | | | | | Display the BIOS type for isolinux in the same way we do for ldlinux/extlinux. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* ISOLINUX: fix EBIOS information passing in hybrid HDD modeH. Peter Anvin2008-09-051-1/+4
| | | | | | | | | We were incorrectly not passing the EBIOS flag in hybrid HDD mode; also compute the EBIOS LBA correctly in hybrid HDD mode. Allow a 34-bit LBA for this, that way we still support up to 2^32 CD-ROM sectors (8 TB). Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* ISOLINUX: support for hybrid mode (CD-ROM/USB key)H. Peter Anvin2008-09-051-17/+238
| | | | | | Still a work in progress. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* core/Makefile: iso%.bin depends on checksumiso.plH. Peter Anvin2008-09-051-1/+1
| | | | | | iso%.bin depends on checksumiso.pl Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* checksumiso: pad isolinux.bin to a sector boundaryH. Peter Anvin2008-09-051-3/+18
| | | | | | | Always pad isolinux.bin to a full CD-ROM sector boundary. This avoids a lot of potential special cases. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* isolinux: return failure when opening a zero-length fileH. Peter Anvin2008-09-021-1/+2
| | | | | | | | | | | | In the Syslinux view of the world, a zero-length file doesn't exist and therefore should return error on open. A lot of the code relies on this, but ISOLINUX allowed a zero-length file to be opened, which could cause all kinds of trouble. It would be nicer to not have that restriction, but removing it will probably not happen until the configuration code is rewritten in C. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* core/Makefile: The core is an embedded targetH. Peter Anvin2008-08-221-21/+1
| | | | The core is an embedded target, so use MCONFIG.embedded.
* Major Makefile cleanups; gcc 4.3.0 compatiblityH. Peter Anvin2008-08-201-15/+14
| | | | | Cleanup and centralize the Makefile system even more. Fix a gcc 4.3 incompatibility in memdisk (definition of strlen).
* Simplify and fix label string scanningH. Peter Anvin2008-07-222-15/+7
| | | | | | | Simplify and fix bugs in the code to store and match label names without filename mangling. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* parseconfig, ui: store the label name unmangledSebastian Herbszt2008-07-222-4/+27
| | | | | | | | Store the label names unmangled and match those against command_line. - Sebastian Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* core/runkernel.inc: remove dead codesyslinux-3.71-pre16Sergey Vlasov2008-07-221-6/+0
| | | | | Signed-off-by: Sergey Vlasov <vsu@altlinux.ru> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Fix initrd overwriting the kernel for some kernel sizesSergey Vlasov2008-07-221-0/+2
| | | | | | | | | | | | | The address in EDI returned by the load_high call used to load the kernel needs to be passed to parse_load_initrd, but the code which clears memory after setup sectors for 1.2.x kernels was corrupting low 16 bits of EDI. In most cases this corruption was not noticed, because with usual setup sizes DI was set to 0xf800, therefore the chance of getting the kernel size such that initrd would actually overwrite the kernel was about 3%. Signed-off-by: Sergey Vlasov <vsu@altlinux.ru> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Fix loading of *.lkrn images from gPXESergey Vlasov2008-07-221-7/+6
| | | | | | | | | | | Attempts to load *.lkrn images were failing with "Not enough memory to load specified image". These images have the su_ramdisk_max header field set to zero, and the code in core/runkernel.inc was limiting MyHighMemSize too early (before the load_high call used to load the main part of the kernel). Signed-off-by: Sergey Vlasov <vsu@altlinux.ru> Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Correctly parse "serial" statements with no baud rateH. Peter Anvin2008-07-171-7/+6
| | | | | People often don't bother specifying a baud rate for virtual serial ports. Handle parsing correctly.
* isolinux: rename CurDir to CurrentDirSebastian Herbszt2008-07-161-8/+8
| | | | | | | ldlinux and extlinux are both using CurrentDir variable name. Rename CurDir to make it consistent with those. - Sebastian
* adv: fix the handling of the ADV with CBIOSH. Peter Anvin2008-07-161-25/+39
| | | | | | | Fix numerous problems in the way we handled the ADV with CBIOS. The EBIOS code was largely correct, but the CBIOS code was just busted. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* parseconfig: fix invalid mangle_name assumptionH. Peter Anvin2008-07-161-1/+1
| | | | | | | | Remove assumption that mangle_name leaves DI beyond the end of the buffer. This was true back when the mangled filename buffer was an 11-byte DOS filename, but it is definitely not true anymore. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* gen-id: only truncate tags starting with syslinux-<version>-H. Peter Anvin2008-07-151-1/+1
| | | | | If git-describe comes up with a tag not starting with syslinux-<version>- then leave it as-is.
* Reformat overwide commentH. Peter Anvin2008-07-151-11/+15
|
* keymap, font: use readc, so we can handle indeterminate file sizessyslinux-3.71-pre10H. Peter Anvin2008-07-143-30/+42
| | | | | | The keymap and font commands still assumed that we knew the file size, which is no longer true. Fix that by instead using "readc" and checking the CF.
* getc: add "readc" function to do block readsH. Peter Anvin2008-07-141-0/+20
| | | | | Add "readc" function to do block reads. Currently it just does a loop around "call getc/stosb".
* conio: jump to loadkeys_ret in loadkeys if size not 256 bytessyslinux-3.71-pre9Sebastian Herbszt2008-07-141-0/+2
| | | | | Add back jump to loadkeys_ret if the file size was not 256 bytes; inadvertently deleted when removing DX:AX 16-bitism.
* Fix residual use of DX:AX in the KEYMAP commandH. Peter Anvin2008-07-131-6/+2
| | | | The KEYMAP command still expected length in DX:AX, and so got broken.
* ldlinux: CurrentDir not set if syslinux.cfg is missingSebastian Herbszt2008-07-091-0/+2
| | | | | | | | | | | | | | | If a syslinux floppy does not contain a config file (syslinux.cfg) modules are not being found unless specified with a directory prefix (e.g. /pcitest.c32). The reason is that CurrentDir is only set if there is a config file present. This is a possible regression since commit 68eefb79e2cbb590ebf958dd0c50ce00b941abd2. Before this change RootDir was used in searchdir and now it's CurrentDir unless the filename starts with '/'. Possible fix is to set CurrentDir to RootDir if no config file is found. Actually it seems better to move this to the top of the "check for config file" block. Initialize CurrentDir to RootDir and change it if a config file is found. - Sebastian
* Make version.mk optional, so cleaning commands worksyslinux-3.71-pre6H. Peter Anvin2008-07-071-1/+1
| | | | For cleaning commands, we need version.mk to be optional.
* Share the gen-id stuff between core and memdiskH. Peter Anvin2008-07-074-47/+2
| | | | Both core and memdisk wants to use the gen-id stuff, so let it.
* Centralize more of the version number machineryH. Peter Anvin2008-07-076-7/+8
| | | | Centralize more (most) of the version number machinery to version.pl.
* Drop macros that just point to other macrosH. Peter Anvin2008-07-075-7/+5
| | | | | Drop macros for "date" and "version_str", which are nothing but redefined names of macros we already define (DATE_STR and VERSION).
* comboot: re-enable the idle callsyslinux-3.71-pre5H. Peter Anvin2008-07-071-4/+2
| | | | Try again to enable the idle call.
* comboot: make sure we CLD at all relevant entry pointsH. Peter Anvin2008-07-071-1/+6
| | | | | DF is undefined on entry, so make sure we clear it at all entry points where it could possibly matter.
* comboot.inc: add missing "section .text"H. Peter Anvin2008-07-071-0/+2
|
* comboot: save/restore all the DOS vectors; handle a few moreH. Peter Anvin2008-07-071-16/+85
| | | | | - save and restore all the DOS vectors around COMBOOT invocations. - handle INT 28h and INT 29h, and IRET on INT 2Dh, 2Fh, 33h.
* Include the git ID in the build stringH. Peter Anvin2008-07-072-1/+23
| | | | | | If we're doing an unofficial build from git, put the git id and a dirty flag in the build string, instead of a timestamp. This is a lot more useful.
* Allow the initrd to be specified on a separate linesyslinux-3.71-pre4H. Peter Anvin2008-07-038-45/+49
| | | | | Allow the initrd to be specified on a separate line from command-line options (append). This apparently can help certain tools.