This is the initial NTFS file system support for Syslinux :-)
The following changes since commit 67954e370003d9bbfd8b58042669f2e9d532636f:
ifmemdsk: remove spurious +x bit (2011-08-25 10:58:44 -0700)
are available in the git repository at:
git://github.com/pcacjr/syslinux.git ntfs-for-hpa
Paulo Alcantara (34):
Add NTFS filesystem support to Linux and Windows installers
Initial NTFS readonly support code to Syslinux
ntfs: implement new_ntfs_inode()
ntfs: implement for_each_mft_record() macro
ntfs: implement ntfs_iget_root()
ntfs: implement ntfs_iget()
ntfs: implement get_inode_mode()
ntfs: implement ntfs_readdir()
ntfs: implement ntfs_next_extent() and ntfs_getfssec()
ntfs: implement fixups_realloc()
ntfs: set block shift and size to their correct values
ntfs: heh :-)
ntfs: continue on its implementation
ntfs: it's working, partially... :-/
ntfs: fix bug in parse_data_run()
ntfs: cleanups
ntfs: more cleanups
ntfs: make ntfs_match_longname() faster
ntfs: make index_inode_setup() faster
ntfs: fix ntfs_match_longname() and make index_lookup() faster
ntfs: and more speed improvements
ntfs: better way to check whether a MFT record is file or directory
ntfs: mapping_chunk's length field must not be an uint8_t type
ntfs: fix ntfs_readdir()
ntfs: I think ntfs_readdir() is now fixed
ntfs: fix ntfs_fs_init()
ntfs: more bugfixes
ntfs: fix VCN calculation and the ntfs_readdir() function
ntfs: and more fixes...
ntfs: fix ntfs_read()
ntfs: don't start lookup from the same block in
ntfs_mft_record_lookup()
ntfs: use a runlist for handling multiple data runs
ntfs: cleanups
ntfs: keep a state structure for ntfs_readdir() callers
Shao Miller (4):
win: Add further NTFS support to Windows installers
win: Fix an out-of-bounds array access
ntfs: Deal with NTFS versions for MFT record lookups
ntfs: Check for disk read error during FS probing
core/fs/ntfs/ntfs.c | 1208
++++++++++++++++++++++++++++++++++++++++++
core/fs/ntfs/ntfs.h | 464 ++++++++++++++++
core/fs/ntfs/runlist.h | 83 +++
core/ldlinux.asm | 2 +
dos/Makefile | 2 +-
dos/syslinux.c | 5 +-
extlinux/Makefile | 2 +-
extlinux/main.c | 59 ++-
extlinux/ntfs.h | 19 +
libinstaller/{fat.c => fs.c} | 120 +++--
libinstaller/linuxioctl.h | 5 +-
libinstaller/setadv.c | 1 +
libinstaller/syslinux.h | 4 +-
libinstaller/syslxcom.c | 6 +
libinstaller/syslxcom.h | 9 -
libinstaller/syslxfs.h | 26 +
libinstaller/syslxint.h | 70 +++-
libinstaller/syslxmod.c | 2 +-
libinstaller/syslxopt.c | 1 +
linux/Makefile | 4 +-
linux/syslinux.c | 24 +-
mtools/Makefile | 2 +-
mtools/syslinux.c | 5 +-
win/ntfssect.c | 355 +++++++++++++
win/ntfssect.h | 152 ++++++
win/ntfstest.c | 163 ++++++
win/ntfstest.rc | 26 +
win/syslinux.c | 44 ++-
win32/Makefile | 4 +-
win32/ntfstest/Makefile | 87 +++
win64/Makefile | 4 +-
win64/ntfstest/Makefile | 76 +++
32 files changed, 2938 insertions(+), 96 deletions(-)
create mode 100644 core/fs/ntfs/ntfs.c
create mode 100644 core/fs/ntfs/ntfs.h
create mode 100644 core/fs/ntfs/runlist.h
create mode 100644 extlinux/ntfs.h
rename libinstaller/{fat.c => fs.c} (52%)
create mode 100644 libinstaller/syslxfs.h
create mode 100644 win/ntfssect.c
create mode 100644 win/ntfssect.h
create mode 100644 win/ntfstest.c
create mode 100644 win/ntfstest.rc
create mode 100644 win32/ntfstest/Makefile
create mode 100644 win64/ntfstest/Makefile