summaryrefslogtreecommitdiff
path: root/libinstaller
Commit message (Collapse)AuthorAgeFilesLines
* Packed definition: workaround for mingw + gcc 4.7H. Peter Anvin2012-10-221-6/+17
| | | | | | | | | | | | __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>
* make some functions static remove unused NADV defineFrediano Ziglio2012-10-091-2/+0
| | | | | | | Just some minor cleanup Signed-off-by: Frediano Ziglio <frediano.ziglio@citrix.com> Signed-off-by: Matt Fleming <matt.fleming@intel.com>
* syslxopt: fix syntax errorssyslinux-4.06-pre7H. Peter Anvin2012-06-201-2/+2
| | | | | | Oops :) Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* extlinux: add --device option to override device detectH. Peter Anvin2012-06-202-1/+9
| | | | | | | Add a --device option for scripts and expert users to override the device detection. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* libinstaller: Avoid using <linux/ext2_fs.h>syslinux-4.06-pre3H. Peter Anvin2012-03-263-11/+886
| | | | | | | | | | | | | 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>
* Add NTFS filesystem support to Linux and Windows installersPaulo Alcantara2011-09-0710-60/+184
| | | | Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
* implement fat_check_sb_fields()Paulo Alcantara2011-07-051-0/+9
| | | | | | Sanity check for FAT volumes Signed-off-by: Paulo Alcantara <pcacjr@gmail.com>
* Add "make strip" targetH. Peter Anvin2011-05-091-0/+2
| | | | | | | | 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>
* Merge commit 'syslinux-4.04' into dynamic-sectordynamic-sectorH. Peter Anvin2011-04-182-0/+14
|\
| * libinstaller: implement syslinux_already_installedPaulo Alcantara2011-04-152-0/+14
| | | | | | | | | | | | | | | | 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>
* | installer: Update and correct generate_extents()H. Peter Anvin2011-04-051-9/+12
|/ | | | | | | 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>
* libinstaller/fat.c: remove variables set but not usedH. Peter Anvin2011-03-161-3/+0
| | | | | | gcc 4.6 warns on variables set but not used, so remove them. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* disk: put a magic at the end of the boot sectorH. Peter Anvin2011-01-251-2/+6
| | | | | | | | | 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>
* Fix missing option -s in libinstallersyslinux-4.03-pre3Arwin Vosselman2010-09-091-1/+1
| | | | | | | | 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.
* syslxopt: remove lengthy warning messageH. Peter Anvin2010-07-301-10/+0
| | | | | | | 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>
* syslxopt: fix fatal warningsH. Peter Anvin2010-07-301-9/+12
| | | | | | | | | | | 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>
* libinstaller/syslxopt.c: remove unneeded usage text from certain variants.Gene Cumm2010-07-271-3/+10
| | | | Gert Hulselmans noticed this.
* dos: Use libinstaller option parserShao Miller2010-07-191-2/+3
| | | | | | | 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>
* dos, win32: use our own getopt_long() for bothH. Peter Anvin2010-07-192-0/+177
| | | | | | | | 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>
* dos: fix non-executable files which were +xH. Peter Anvin2010-07-193-0/+0
| | | | | | Don't make non-executable files +x... Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* dos: add memcpy_from_sl() and use it where appropriateH. Peter Anvin2010-07-191-0/+2
| | | | | | | Add memcpy_from_sl() and use it to handle pointers into the payload section. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* dos: change the link procedure to use negative pointers below DGROUPH. Peter Anvin2010-07-191-3/+1
| | | | | | | | | 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>
* dos: Work-in-progress 2Shao Miller2010-07-101-0/+0
|
* dos: Work-in-progressShao Miller2010-07-031-3/+5
|
* win32: Use libinstaller option parserShao Miller2010-07-032-1/+15
| | | | | | | 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>
* libinstaller: Add --mbr, --active, and --force optionsShao Miller2010-07-032-2/+20
| | | | | | | | | | | | | | In order to consolidate the installer option-parsing system, we add the --mbr (-m), --active (-a), and --force (-f) options from the DOS, Win32, and mtools installers to libinstaller. Since the -m and -a options are not currently valid for the Linux 'syslinux' and 'extlinux' installers, we add error messages to both of these. The -f option is allowed but does nothing for them. Signed-off-by: Shao Miller <shao.miller@yrdsb.edu.on.ca>
* installers: handle asprintf() correctlyH. Peter Anvin2010-07-021-6/+8
| | | | | | | | | | | | | It appears that the glibc version of asprintf() is braindamaged, and doesn't set the target pointer to NULL in the event of an error (only returns -1). Therefore we need to check the return value. Just in case someone else made the *opposite* error, also check the pointer. Bleh. The glibc documentation states that *BSD sets the pointer to NULL, but instead of following that, the glibc people put warn_unused_result on asprintf. Sigh. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* <linux/loop.h>: deal with really ancient Linux kernel headersH. Peter Anvin2010-06-271-0/+6
| | | | | | | RHEL4 had a 2.6.9 kernel, but 2.4.20 Linux kernel headers, so put in a workaround for 2.4 kernel headers. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* libinstaller: include <linux/loop.h>H. Peter Anvin2010-06-271-0/+90
| | | | | | | Some versions of glibc have broken versions of <linux/loop.h>, so include our own canned version. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* extlinux: set bsHidden for loop devicesH. Peter Anvin2010-06-261-0/+7
| | | | | | | If we are on a loop device, set bsHidden based on the loopback device offset. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
* Merge branch 'master' of ssh://terminus.zytor.com/pub/git/syslinux/syslinuxsyslinux-4.00-pre59H. Peter Anvin2010-06-241-2/+3
|\
| * advio: make read_adv() distinguish ENOENT from other errorsH. Peter Anvin2010-06-241-2/+3
| | | | | | | | | | | | | | Make it possible to distinguish ENOENT from other "non-fatal" errors in read_adv(), so we can try more than one filename. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* | Move modify_adv() into common codeH. Peter Anvin2010-06-232-0/+30
|/ | | | | | | modify_adv() should be used by any installer which uses the common CLI, so it should go into syslxopt.c. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* setadv: remove unused, nonportable header fileH. Peter Anvin2010-06-221-1/+0
| | | | | | This file does not need <sys/types.h>. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* win32: vacuous ADV supportH. Peter Anvin2010-06-222-129/+160
| | | | | | | | Install an empty ADV in the Windows installer to keep it from being broken. In order to do that, separate the Unix-specific ADV I/O functions from the generic data structure manipulation. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* Merge syslinux/extlinux patch code and core codeH. Peter Anvin2010-06-205-111/+144
| | | | | | | | 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; further merge installer codesyslinux-4.00-pre52H. Peter Anvin2010-06-202-140/+99
| | | | | | | | | | 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>
* fat: fix off-by-one error in the FAT installersyslinux-4.00-pre51H. Peter Anvin2010-06-201-3/+4
| | | | | | | 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>
* Move Linux ioctl header magic into a single fileH. Peter Anvin2010-06-163-14/+109
| | | | | | | Put all the Linux ioctl header magic into a single shared file, and try to make it as generally useful as possible. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* installer: fix use of FIEMAPH. Peter Anvin2010-06-151-2/+2
| | | | | | | Correct the implementation of block mapping using FIEMAP (as opposed to FIBMAP). Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* dos: fix get_64_sl() and set_64_sl()H. Peter Anvin2010-06-151-5/+2
| | | | | | | 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>
* Fix prototype for generate_extentsH. Peter Anvin2010-06-151-1/+1
| | | | | | Add missing const Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* syslinux: synchronize generate_extents() with extlinuxH. Peter Anvin2010-06-151-16/+15
| | | | | | Synchronize the code for generate_extents() from extlinux to syslinux. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* Switch to 64-bit sector pointers everywhereH. Peter Anvin2010-06-155-63/+266
| | | | | | | | | | | | 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 !GPT protocol in Syslinux core; handle offset > 2 TBH. Peter Anvin2010-06-142-10/+11
| | | | | | | | | | | | | | | 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>
* setadv: asprintf() doesn't return an error codeH. Peter Anvin2010-06-091-4/+4
| | | | | | | asprintf() doesn't return an error number, but a count of characters (which we don't need.) Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* syslxopt: add missing break;H. Peter Anvin2010-06-091-0/+1
| | | | | | Add missing break; in the command-line parser. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* syslinux: provide for backwards compatibilityH. Peter Anvin2010-06-091-11/+22
| | | | | | | Provide for backwards command-line compatibility, together with warning messages where appropriate. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* syslinux: don't break -o just yet; print warning and resumeH. Peter Anvin2010-06-092-14/+39
| | | | | | | -o has been supported for a very long time; recommend using -t instead, but for now proceed with an error message. Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
* Clean up warnings in previous checkinH. Peter Anvin2010-06-091-2/+3
| | | | | | | Clean up warnings in checkin 146c34a2 Make syslinux installer real "pathbased" Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>