H. Peter Anvin [Tue, 16 Feb 2010 20:01:19 +0000 (12:01 -0800)]
cache: update the metadata cache design
- instead of get_cache_block() returning a descriptor, have
get_cache() returning const void *.
- have a subfunction to allow getting a block without reading it
from disk, and returning the cache descriptor. This will be
used in ext2 to pre-seed block 0 with all zero.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 16 Feb 2010 18:35:34 +0000 (10:35 -0800)]
core: move fs-related C files into fs/
Move filesystem-related C files into the fs/ directory.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 16 Feb 2010 18:33:21 +0000 (10:33 -0800)]
core: remove obsolete assembly strecpy.inc
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 16 Feb 2010 18:32:29 +0000 (10:32 -0800)]
core: remove obsolete assembly cache.inc
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 16 Feb 2010 17:33:28 +0000 (09:33 -0800)]
fs: use malloc'd mutable pathname buffers
Use malloc'd mutable pathname buffers during pathname walks. This
avoids the need for very large static buffers, as well as the need to
copy character by character. It also handles the symlink case fairly
nicely.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 16 Feb 2010 17:24:21 +0000 (09:24 -0800)]
ext2: clean up types in the bmap functions
No need to take an explicit fs pointer when we're passing an inode
anyway...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 16 Feb 2010 17:21:09 +0000 (09:21 -0800)]
generic_close_file: use put_inode(), not free_inode()
Nothing other than put_inode() should ever really call free_inode()...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 16 Feb 2010 06:47:17 +0000 (22:47 -0800)]
btrfs: use generic_load_config
btrfs can use generic_load_config, so use it.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 16 Feb 2010 06:45:59 +0000 (22:45 -0800)]
fs: centralize symlink handling
Put all handling of symbolic links into the central pathname walker.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 16 Feb 2010 04:32:21 +0000 (20:32 -0800)]
fs: reference-count inodes, fix generic loadconfig
Reference-count inodes, so we don't leak them all over the place.
This also lets us hold onto the root inode from the very beginning.
Make the generic loadconfig work again. Significant cleanups to the
ext2 filesystem core.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 16 Feb 2010 01:47:09 +0000 (17:47 -0800)]
core: separate bcopyxx code and data; use linker-generated symbols
Separate out bcopyxx code and data, and use linker-generated barrier
symbols instead of inline label hacks. This makes it possible to link
code into the bcopyxx area if need be.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Tue, 16 Feb 2010 00:28:23 +0000 (16:28 -0800)]
memmove: don't reverse copy if there is no overlap
Don't do reverse copies if there is no overlap. Current x86 CPUs
optimize forward copies, but some of them don't optimize reverse
copies.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 14 Feb 2010 23:09:04 +0000 (15:09 -0800)]
bootsect.inc: change 100000h -> free_high_memory
We can't load stuff at 100000h... that will overwrite the PM code.
That is what free_high_memory is for.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 14 Feb 2010 23:02:42 +0000 (15:02 -0800)]
pxelinux: remove USE_PXE_PROVIDED_STACK
Remove USE_PXE_PROVIDED_STACK once and for all.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 14 Feb 2010 22:11:15 +0000 (14:11 -0800)]
sysdump: guard against a nonsensical month number
If the month is off the table, don't even try to read it...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 14 Feb 2010 22:09:42 +0000 (14:09 -0800)]
sysdump: don't force cpuid() to be inlined
The compiler can usually decide that better than we can...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 14 Feb 2010 21:57:50 +0000 (13:57 -0800)]
Merge branch 'master' into pathbased
Resolved Conflicts:
com32/Makefile
com32/include/syslinux/pxe.h
core/pxelinux.asm
core/syslinux.ld
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 14 Feb 2010 21:40:04 +0000 (13:40 -0800)]
config: allow a chdir at the time a new configuration file is loaded
If a directory name/path prefix is appended to a loaded configuration
file, do a chdir at that point. We finally have all the mechanism to
do this right.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 14 Feb 2010 07:42:59 +0000 (23:42 -0800)]
fs: move to a chdir()-based mechanism for managing cwd
Introduce a chdir() system and a way to obtain absolute pathnames.
This should allow us to set the current base directory (filename
prefix for PXE) without breaking access to the configuration file.
As a side benefit, for the "normal" filesystems we no longer need
magic hacks to figure out where we should set our current working
directory.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 14 Feb 2010 01:09:27 +0000 (17:09 -0800)]
mtools: add MTOOLS_FAT_COMPATIBILITY=1
It's perfectly legitimate to have a bigger FAT area than is needed,
and it is often done for alignment. Tell mtools not to throw a hissy
fit over it.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 14 Feb 2010 00:46:22 +0000 (16:46 -0800)]
chain.c: part_info -> partinfo
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 14 Feb 2010 00:45:11 +0000 (16:45 -0800)]
NEWS: update for 3.85 release
H. Peter Anvin [Sat, 13 Feb 2010 22:45:42 +0000 (14:45 -0800)]
chain.c32: add option to set hidden sectors; load boot sector for NTLDR
Add an option to update the in-memory version of FAT/NTFS hidden
sectors (== partition offset); load the boot sector for NTLDR.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sat, 13 Feb 2010 01:02:50 +0000 (17:02 -0800)]
pxelinux: complete but disable debugging code, not for production
Disable some debugging code that was never intended for production
use. The intent is to track down specific memory-clobbering bugs.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sat, 13 Feb 2010 00:49:55 +0000 (16:49 -0800)]
core: document the stack location, use STACK_TOP throughout
The global absolute symbol STACK_TOP defined in layout.inc can be used
by the linker script as well as by anything else that needs to know
where the stack is. Also document why we do it differently for
PXELINUX.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Fri, 12 Feb 2010 21:37:20 +0000 (13:37 -0800)]
pxelinux: move the stack to avoid AMI BIOS bug
There is apparently some AMI BIOSes which leave a BEV stack just below
7c00h, which means that they can't return from the PXE NBP. Thus, for
PXELINUX, move the stack down a few kilobytes.
This particularly refers to the "rouilj/ops12" system my private
sysdump archive.
Reported-and-tested-by: John Rouillard <rouilj@renesys.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 11 Feb 2010 00:21:55 +0000 (16:21 -0800)]
fs: fix cwd setting for FAT/iso9660/extfs
Fix the cwd setting for FAT, iso9660 and ext*fs.
In particular:
When FS_THISIND is set in the filesystem flags, only memoize the
parent directory iff we are currently doing a config file walk. Use
this feature for ext*fs as well, this makes the pathbased branch fully
featured.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Alek Du [Mon, 8 Feb 2010 02:54:31 +0000 (10:54 +0800)]
pathbased: Add FAT support to extlinux and let FAT be "true" pathbased
Now extlinux can install FAT partition now, and FAT honors patched
path area.
Signed-off-by: Alek Du <alek.du@intel.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Alek Du [Mon, 8 Feb 2010 02:40:09 +0000 (10:40 +0800)]
pathbased: fix relative path in the extlinux installer
Fix a bug in the extlinux installer where the relative path is not
found correctly.
Signed-off-by: Alek Du <alek.du@intel.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 10 Feb 2010 23:59:46 +0000 (15:59 -0800)]
Merge branch 'fsc' into pathbased
Resolved Conflicts:
core/fs/ext2/ext2.c
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 8 Feb 2010 22:37:48 +0000 (14:37 -0800)]
vesa: for jpg or png images, tile the image across the screen
If we specify a smaller image than the screen size, tile it across the
screen rather than leaving a big black box. This may have to be made
configurable.
Also note that Syslinux currently does not handle the case of an image
bleeding off the end of the screen.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 8 Feb 2010 22:37:20 +0000 (14:37 -0800)]
sysdump: quiet gcc warning
Null change to quiet a gcc warning.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 8 Feb 2010 17:13:11 +0000 (09:13 -0800)]
memdisk: make "nopass" type-specific, add "nopassany"
Make "nopass" specific to the current drive type. Add new option
"nopassany", which also clobbers the drive counts of both types.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 8 Feb 2010 04:08:46 +0000 (20:08 -0800)]
sysdump: use the same serial receive threshold as the core
Match the core with regards to the serial receive threshold.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 8 Feb 2010 04:06:27 +0000 (20:06 -0800)]
sysdump: make ymodem work even on a serial console
Make it possible to do a ymodem transfer even on the port used for a
serial console. Furthermore, on a serial console, get the parameters
from the serial console information, so port number and speed don't
have to be specified.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 8 Feb 2010 01:17:35 +0000 (17:17 -0800)]
sysdump: don't include final null byte in version file
We don't want the null byte at the end as part of the version file.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 8 Feb 2010 01:05:08 +0000 (17:05 -0800)]
sysdump: ymodem: actually retransmit a block if we get NAK
Incorrectly nested loops, we need to actually retransmit if we get a
NAK reply...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 8 Feb 2010 00:26:40 +0000 (16:26 -0800)]
sysdump: actually make the new backend system work
With these changes, both TFTP and Ymodem seem to actually work.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 7 Feb 2010 23:14:21 +0000 (15:14 -0800)]
sysdump: change to a two-phase generate/output model, buffer in memory
Instead of outputting data as it is generated, buffer it all in memory
and then output it all at once. This not only gives us exact size and
so on before we start, but turns out to be faster at least for TFTP.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 7 Feb 2010 20:14:46 +0000 (12:14 -0800)]
sysdump: serial: add missing header file
Missing header file -> warning.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 7 Feb 2010 20:14:14 +0000 (12:14 -0800)]
sysdump: be_tftp.c: fix prototype
The init function now takes an additional length argument.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 7 Feb 2010 20:13:34 +0000 (12:13 -0800)]
sysdump: *actually* generate the proper version string
Make the gen-id.sh script actually do the right thing...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 7 Feb 2010 19:56:19 +0000 (11:56 -0800)]
sysdump: handle the case of more than one DMI table
On the offchance a system has more than one valid DMI table, record
them all. Also record the address of the signature structure and of
the table itself.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 7 Feb 2010 19:55:41 +0000 (11:55 -0800)]
sysdump: record the sysdump version used to generate a bundle
Record the sysdump version used to actually generate a data set.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 7 Feb 2010 08:09:31 +0000 (00:09 -0800)]
sysdump: dump CPUID information
Dump CPUID information in as generic of a way as is possible, given
the ugliness in certain places.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 7 Feb 2010 08:08:50 +0000 (00:08 -0800)]
sysdump: remove unused variable
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 7 Feb 2010 07:26:53 +0000 (23:26 -0800)]
sysdump: be more explicit about what we are doing
Print more information on the console about what is going on. That
can help detect problems if we find a machine which hangs on sysdump.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 7 Feb 2010 07:26:32 +0000 (23:26 -0800)]
sysdump: fix the dumping of the e820 memory information
Need to advance the pointer...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 7 Feb 2010 07:26:00 +0000 (23:26 -0800)]
sysdump: fix hacking of the DMI structure address
Fix the hacking of the DMI structure address, for dmidecode's sake.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 7 Feb 2010 07:10:24 +0000 (23:10 -0800)]
sysdump: dump memory map information
Dump the memory map information - e820 et al.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 7 Feb 2010 06:54:06 +0000 (22:54 -0800)]
sysdump: add PCI config space dumping
Dump PCI configuration space.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 7 Feb 2010 06:28:01 +0000 (22:28 -0800)]
sysdump: add support for dumping DMI tables
Add support for dumping DMI tables; hopefully in a way that is
compatible with dmidecode.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 7 Feb 2010 05:55:03 +0000 (21:55 -0800)]
sysdump: add back ymodem support; clean up memory dump structure
Now we just need more front ends (information providers)...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 7 Feb 2010 01:47:15 +0000 (17:47 -0800)]
sysdump: add missing return statement in cpio_writefile()
cpio_writefile() should return the actual return value...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 7 Feb 2010 01:46:21 +0000 (17:46 -0800)]
pxe: add missing prototype for pxe_dns()
All global functions should have a prototype...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 7 Feb 2010 01:43:11 +0000 (17:43 -0800)]
sysdump: dump vesa modes, generate usable timestamps
Dump all the VESA modes; give functional timestamps for the cpio
members.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 7 Feb 2010 00:38:53 +0000 (16:38 -0800)]
sysdump: first working version (can dump lowmem over TFTP)
Most of the infrastructure for sysdump, and enough to make it useful.
Sysdump will produce a gzipped cpio archive containing individual data
members; for now only a memory dump of lowmem.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 7 Feb 2010 00:31:26 +0000 (16:31 -0800)]
com32: add library function for DNS lookup
Add a library function for DNS lookup
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 7 Feb 2010 00:29:41 +0000 (16:29 -0800)]
syslinux/pxe.h use the same type as <com32.h> for a far pointer
<syslinux/pxe.h> was using segoff16_t, <com32.h> was using far_ptr_t
for the same thing -- use the same type so the macros are available
for both.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 7 Feb 2010 00:28:05 +0000 (16:28 -0800)]
pxelinux: give our own IP address in the "derivate info" API call
Add our own IP address to the "get derivative-specific info" API call.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sat, 6 Feb 2010 19:24:24 +0000 (11:24 -0800)]
sysdump: port memdump to com32 with the intent of enhancing it
Port memdump to com32, with the intent of modifying and enhancing it.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sat, 6 Feb 2010 02:17:10 +0000 (18:17 -0800)]
memdump: srecs need a length, and max 32 data bytes
Length + 32 data bytes max...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sat, 6 Feb 2010 02:03:14 +0000 (18:03 -0800)]
memdump: allow outputting S-records
Allow outputting S-records, for users who only have the capability of
passively monitoring a serial port as opposed to being able to capture
the contents directly.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sat, 6 Feb 2010 01:28:27 +0000 (17:28 -0800)]
Merge branch 'master' into fsc
Resolved Conflicts:
core/pxelinux.asm
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sat, 6 Feb 2010 01:20:49 +0000 (17:20 -0800)]
PXE: fix the EFI localboot hack
Make the EFI localboot hack work again, by properly detecting the EFI
signature and adjusting the stack properly.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sat, 6 Feb 2010 00:41:02 +0000 (16:41 -0800)]
pxelinux: call reset_pxe before local boot
Reset the PXE configuration before we do a local boot.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 4 Feb 2010 19:18:36 +0000 (11:18 -0800)]
gPXE: change heap size to 512K
Change heap size from 128K to 512K to accommodate larger TCP windows.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sat, 6 Feb 2010 00:17:06 +0000 (16:17 -0800)]
pxe: make gPXE work
Make the gPXE interface code work. gpxelinux.0 now appears
functional.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Fri, 5 Feb 2010 06:02:09 +0000 (22:02 -0800)]
Merge branch 'master' into fsc
Resolved Conflicts:
core/pxelinux.asm
Note: this PXELINUX currently seems to hang with interrupts on trying
to fetch the configuration file -- further debugging will be required.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Fri, 5 Feb 2010 04:57:30 +0000 (20:57 -0800)]
memdisk: update documentation
Document the nopass option, eltorito.sys is now in the standard
distro.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Fri, 5 Feb 2010 02:15:25 +0000 (18:15 -0800)]
fs: generic handling of single dot (.) in disk-based filesystems
Single dot (.) support is useful to have for readdir. In some
filesystems we get it for free, but not in others. Either way, handle
it generically.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Fri, 5 Feb 2010 02:07:37 +0000 (18:07 -0800)]
FAT: handle WinNT filename case flags
Handle WinNT-style filename case flags (where it uses a shortname only
but with flags to indicate the filename case.)
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Fri, 5 Feb 2010 01:56:03 +0000 (17:56 -0800)]
codepage: add a lower-case table
Add a lower-case table; necessary for readdir on FAT in the presence
of WinNT case flags.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Fri, 5 Feb 2010 01:40:36 +0000 (17:40 -0800)]
FAT: cache file position, re-enable codepages
Cache the position of the file rather than seeking through the FAT
from the beginning every time.
Re-enable the handling of codepages. This is not yet fully complete:
when using WinNT case flags, we need an upper->lower case table as
well.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 4 Feb 2010 19:08:29 +0000 (11:08 -0800)]
gPXE: bump the window size to 64K
Change the window size from 4K to 64K to have at least a hope of sane
WAN performance. Retransmission cost is mostly related to timeouts,
not amount retransmitted, anyway.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 4 Feb 2010 00:13:28 +0000 (16:13 -0800)]
gPXE: suppress the Ctrl+B banner
Suppress the Ctrl+B banner and zero out the timeout. It's not very
useful for an integrated product, and very visually annoying on NBP
chainload.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 4 Feb 2010 00:06:21 +0000 (16:06 -0800)]
Merge branch 'chainload'
H. Peter Anvin [Thu, 4 Feb 2010 00:05:59 +0000 (16:05 -0800)]
menu: add MENU CLEAR option
Add MENU CLEAR to clear the screen on menu exit.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 3 Feb 2010 23:55:47 +0000 (15:55 -0800)]
menu: when running hidden, clear the screen before final boot
Clear away the countdown message before actually running the final
boot.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 3 Feb 2010 23:25:37 +0000 (15:25 -0800)]
pxelinux: allow chainloading from gpxelinux
Use the new "exit hook" functionality in gPXE to allow NBP
chainloading from gpxelinux.0.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 3 Feb 2010 23:20:19 +0000 (15:20 -0800)]
pxelinux: stop using the PXE-provided stack
Using the PXE-provided stack complicates things tremendously for gPXE
chainloading support, plus we are hostages to the stack size set up by
the PXE stack (1.5K by spec.)
Use a private stack instead, as the fsc branch already does.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 3 Feb 2010 06:53:18 +0000 (22:53 -0800)]
gpxelinux: use the cached DHCP packet
gPXE 1.0.0 has support for using the cached DHCP packet from the
previous PXE stack, so do that rather than doing another DHCP.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 3 Feb 2010 06:41:00 +0000 (22:41 -0800)]
Update gPXE to version 1.0.0
H. Peter Anvin [Tue, 2 Feb 2010 02:21:08 +0000 (18:21 -0800)]
FAT: For FAT32, the root directory is a cluster chain
The old code would set the FAT32 root directory right after the FAT
like everything else... which would just happen to work if the root
directory was in cluster 2. This is very common for a newly formatted
filesystem, but isn't guaranteed!
Reported-by: Gert Huselmans <gerth@zytor.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 1 Feb 2010 23:42:39 +0000 (15:42 -0800)]
Merge commit 'origin/master' into fsc
H. Peter Anvin [Mon, 1 Feb 2010 23:41:43 +0000 (15:41 -0800)]
mkdiskimage: add option -s to make a sparse image
It is often fine to have a sparse file for the output image, so add an
-s option to generate a sparse image.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 1 Feb 2010 17:45:23 +0000 (09:45 -0800)]
core: set QUIET_FLAG if we load Linux "quiet"
If we see the "quiet" flag for the Linux kernel, also suppress the
early Linux kernel messages; for people who want a completely clean
boot.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 1 Feb 2010 04:20:09 +0000 (20:20 -0800)]
FAT: remove debugging printf
Remove debugging printf which snuck in...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 1 Feb 2010 04:16:14 +0000 (20:16 -0800)]
FAT: fix FAT16/32 next cluster calculation, make more similar to FAT12
The FAT16/32 next cluster calculations were changed to be somewhat
more like the FAT12 one, but that was done incorrectly: we would end
up reading off the end of the FAT sector we were looking at. Make it
structurally more similar to the FAT12 calculation, and actually make
it compute correctly.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Sun, 31 Jan 2010 19:10:54 +0000 (11:10 -0800)]
FAT: fix next_sector implementation
"return ++sector;" is a bit subtle and I brainfarted and changed to
"return sector++;" -- change it to "return sector+1;" to make it
obvious we're not looking for a side effect at all here...
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Thu, 28 Jan 2010 00:16:14 +0000 (16:16 -0800)]
Merge branch 'master' into fsc
Resolved Conflicts:
core/ldlinux.asm
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Wed, 27 Jan 2010 23:45:01 +0000 (15:45 -0800)]
chain.c32: Handle nonlinear logical partitions
Some partitioning program, including at least parted, apparently
create the list of logical partition headers nonlinearly with the
partition themselves. Thus, make it a requirement that then fit
inside the overall extended partition, but not inside the
corresponding sublogical partition.
Reported-by: Gert Huselmans <gerth@zytor.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 25 Jan 2010 23:00:38 +0000 (15:00 -0800)]
openmem: fix openmem()
Correct the implementation of openmem().
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 25 Jan 2010 22:53:32 +0000 (14:53 -0800)]
core/fs: abstract filesystem, use cache for ext2 group descriptors
Abstract out the filesystem, remove all references to "this_fs" in the
main filesystem drivers. There is still some in the core (dir.c, fs.c)
which eventually need to be replaced by a properly defined device
marker and root.
The inode structure now contains a reference to its parent filesystem.
The inode structure can now contain additional data at the end of the
structure, this is used for filesystem private data.
TODO: move the filesystem private data into proper structures.
Finally, use the block cache for ext2 block group descriptors. Trying
to allocate them all at filesystem mount time doesn't work for large
filesystems.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 25 Jan 2010 21:44:11 +0000 (13:44 -0800)]
FAT: use an anonymous union
We can use an anonymous union here... we're more or less gcc-specific
anyway, and it cleans up the namespace a lot.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 25 Jan 2010 19:34:33 +0000 (11:34 -0800)]
FAT: deal with non-mirrored FATs for FAT32
FAT32 has the option of non-mirrored FATs, used to improve atomicity
of some operations. If we have non-mirrored FATs, we need to make
sure to read the one FAT which is currently marked active.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 25 Jan 2010 18:57:19 +0000 (10:57 -0800)]
core/fs: make it more explicit sector size is per filesystem
Sector size is per device, and can vary between filesystems. In
particular, it is time to be getting rid of assumptions of 512-byte
sectors whereever possible.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 25 Jan 2010 17:57:15 +0000 (09:57 -0800)]
fs.h: fix prototype
Another () -> (void)
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 25 Jan 2010 17:56:32 +0000 (09:56 -0800)]
FAT: Compare cluster count to total number of clusters
We have to know the total number of clusters, so we might as well make
use of that knowledge. Treat any impossible cluster number as EOF.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
H. Peter Anvin [Mon, 25 Jan 2010 17:41:53 +0000 (09:41 -0800)]
FAT: generate EOF depending on exceeding the number of clusters
Generate EOF by comparing to the actual number of clusters. We have
to compute the number of clusters in the filesystem anyway during
setup, so save the number and use it for the EOF computation.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>