summaryrefslogtreecommitdiffstats
path: root/libinstaller
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2010-01-06 18:40:52 -0800
committerH. Peter Anvin <hpa@zytor.com>2010-01-06 18:40:52 -0800
commit44bad3a849a5f30186365eecf69722133775cee8 (patch)
treeb68d2fbff69d386159b95bdbde99da2475ea1fc0 /libinstaller
parent8739796206f1a69880ed3a223f3a108e050292f8 (diff)
downloadsyslinux-44bad3a849a5f30186365eecf69722133775cee8.tar.gz
syslinux-44bad3a849a5f30186365eecf69722133775cee8.tar.xz
syslinux-44bad3a849a5f30186365eecf69722133775cee8.zip
core: initial work on path-based cwd selection
Work on picking the initial cwd by storing a path instead of by storing an inode number. This should be both more general (in the sense of supporting filesystems in a generic way) as well as conceptually cleaner. The code doesn't work yet, but this at least provides support for the extlinux installer to store its subpath into the installed image. Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'libinstaller')
-rw-r--r--libinstaller/syslxint.h3
-rw-r--r--libinstaller/syslxmod.c1
2 files changed, 2 insertions, 2 deletions
diff --git a/libinstaller/syslxint.h b/libinstaller/syslxint.h
index e2a80724..ba3e501e 100644
--- a/libinstaller/syslxint.h
+++ b/libinstaller/syslxint.h
@@ -87,7 +87,8 @@ struct patch_area {
uint16_t adv_sectors;
uint32_t dwords;
uint32_t checksum;
- uint32_t currentdir;
+ uint16_t diroffset;
+ uint16_t dirlen;
uint16_t secptroffset;
uint16_t secptrcnt;
};
diff --git a/libinstaller/syslxmod.c b/libinstaller/syslxmod.c
index 9e1da440..42160375 100644
--- a/libinstaller/syslxmod.c
+++ b/libinstaller/syslxmod.c
@@ -255,7 +255,6 @@ int syslinux_patch(const uint32_t * sectors, int nsectors,
set_16_sl(&patcharea->data_sectors, nsect); /* Not including ADVs */
set_16_sl(&patcharea->adv_sectors, 0); /* ADVs not supported yet */
set_32_sl(&patcharea->dwords, dw);
- set_32_sl(&patcharea->currentdir, 0);
/* Set the sector pointers */
wp = (uint32_t *) ((char *)syslinux_ldlinux +