path: root/dosutil
Commit message (Collapse)AuthorAgeFilesLines
* Test for Watcom C presencesyslinux-6.03-pre18Lubomir Rintel2014-06-241-0/+8
| | | | | | | | | This adds checks for Watcom C DOS cross-compiler in a manner analogous to mingw compiler for Windows. The compiler is not commonly present in Linux distributions due to a non-free license. Signed-off-by: Lubomir Rintel <lkundrak@v3.sk> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* Add per-firmware object directory supportMatt Fleming2012-10-161-3/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Makefile: Use -Ox option to NASMH. Peter Anvin2012-03-261-1/+1
| | | | | | | We already require a new enough version of NASM that the -Ox option is supported, so just use it. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* Makefile: Move Makefile fragments into mk/Matt Fleming2011-04-071-1/+2
| | | | | | | | | | | | | | | | | | 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>
* memdisk: make mstructs.h includable from LinuxH. Peter Anvin2010-06-212-5/+1
| | | | | | Make mstructs.h includable from a Linux utility. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* Merge syslinux/extlinux patch code and core codeH. Peter Anvin2010-06-201-0/+0
| | | | | | | | 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>
* mdiskchk: Add --no-sequential modeShao Miller2010-06-151-1/+10
| | | | | | | | | | It might be useful to suppress MDISKCHK.COM's classic behaviour of probing all BIOS drive numbers in search of MEMDISKs. Some BIOSes might not enjoy being probed. Reported-by: bylokk Reported-by: Gert Hulselmans <gerth@zytor.com> Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
* eltorito: Include drive 0xFF in scanShao Miller2010-06-151-7/+8
| | | | | | | | Although drive 0xFF could yield a false positive as the El Torito booted-from drive number, some users of GRUB4DOS actually use this drive number, so we should include it in our scan. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
* eltorito: Scan upwards instead of downwardsShao Miller2010-06-171-4/+4
| | | | | | | | | | | | | | | | A developer for GRUB4DOS called tinybit has reported that some BIOSes crash when the DOS ElTorito.Sys driver scans drive number 0xFF. According to the El Torito specification, drive 0x7F means "terminate all," so a plausible explanation suggested by H. Peter Anvin is that the drive 0xFF is a shadow of drive 0x7F, thus contributing to a failure on these BIOSes. Now we scan from 0x80 through 0xFF, instead. [ hpa: dropped checkin of eltorito.sys ] Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* mdiskchk: Support three new featuresShao Miller2010-06-102-21/+228
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MDISKCHK.COM now supports three new modes: mdiskchk.com --mbfts This mode will scan between free base memory and 0xA00000 looking for MEMDISK mBFTs. For each one found, its detail will be reported. mdiskchk.com --safe-hooks This mode will attempt to walk the chain of INT 13h "safe hooks". For each MEMDISK "safe hook" found, its detail will be reported. mdiskchk.com --batch-output This mode suppresses the normal detail report and instead outputs a list of DOS SET commands. This is useful if one wishes to populate a batch file and call that batch file to set DOS environment variables, so that programs have access to those MEMDISK kernel arguments passed at boot-time. These command-line options may be combined. For example, your AUTOEXEC.BAT might go: @echo off echo @echo off>setenv.bat mdiskchk.com -m -s -b>>setenv.bat call setenv.bat>nul Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
* dosutil: move copybs here, update MakefileH. Peter Anvin2010-02-153-2/+279
| | | | | | | Move copybs to dosutil, change the Makefile to deal with UPX being able to compress (e.g. very small files.) Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* dosutil: don't remove targets which need Watcom even for "make spotless"H. Peter Anvin2009-12-301-2/+4
| | | | | | | Most systems won't have Watcom installed, so don't remove Watcom-generated binaries even with "make spotless". Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* eltorito: align some pointlessly misaligned data itemsH. Peter Anvin2009-12-281-4/+5
| | | | | | | Align some data items (including the jump table) which were misaligned for no clear reason. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* eltorito: align the bufferH. Peter Anvin2009-12-091-0/+1
| | | | | | Align the sector buffer. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* dosutil: move install to a subdirectoryH. Peter Anvin2009-12-091-1/+2
| | | | | | Move the DOS directory to a subdirectory of the auxdir. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Makefile: add DOS utilities as installablesH. Peter Anvin2009-12-091-0/+6
| | | | | | | | Add the DOS utilities as auxilliary installables In case someone wants them... Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* eltorito: it is converted to NASM...H. Peter Anvin2009-12-081-3/+2
| | | | | | Fix comment to give a NASM compilation rule, not TASM. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* dosutil: add $(NASMOPT) to rules; clean up *.lstH. Peter Anvin2009-12-081-3/+3
| | | | | | Add $(NASMOPT) to NASM rules, clean up *.lst. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* eltorito: fix comments that confuse NASMH. Peter Anvin2009-12-081-2/+2
| | | | | | | The sequence ; ... \ is interpreted by NASM as a continuation line of a comment which thus comments out the next line. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* dosutil: add eltorito.sysH. Peter Anvin2009-12-084-1/+1173
| | | | | | | | Add eltorito.sys. Original by Gary Tong and Bart Lagerweij; reconstructed to binary version 1.4 by Eric Auer; converted to NASM by NoMySo and HPA ;) Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* dosutil/Makefile: more complete structureH. Peter Anvin2009-07-051-8/+20
| | | | | | More complete and consistent structure for dosutil/Makefile. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* dosutil: update mdiskchk, add MakefileH. Peter Anvin2009-07-054-20/+38
| | | | | | | | Update mdiskchk and add a Makefile. Note that since this needs OpenWatcom to compile, we still check in the binary file (which is quite small, anyway.) Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Create a dosutil subdirectory and move mdiskchk thereH. Peter Anvin2009-06-262-0/+146
DOS utilities aren't really "samples". Create a dedicated "dosutil" directory, and move mdiskchk there for now. Signed-off-by: H. Peter Anvin <hpa@zytor.com>