Displaying 9 results from an estimated 9 matches for "syslinux_setadv".
2017 Jan 25
2
Possible to persist data across reboots from Lua?
I'd like to be able to save a boolean value across reboots. I believe
that being able to store to the auxiliary data vector would satisfy
this need, but I'm using syslinux and that doesn't seem to be
implemented. While I'm currently using a Lua script, I'm not tied to
it, so if there's a way to read and write any persistent filesystem or
disk, I'd be happy to switch.
2015 Oct 13
0
[PATCH 1/2] ldlinux: fix stack overflow when running COM32 modules
...fter the last character of the
* command.
@@ -302,6 +304,7 @@ __export int main(int argc __unused, char **argv)
const void *adv;
const char *cmdline;
size_t count = 0;
+ int retval;
ldlinux_console_init();
@@ -333,16 +336,25 @@ __export int main(int argc __unused, char **argv)
if (!syslinux_setadv(ADV_BOOTONCE, 0, NULL))
syslinux_adv_write();
- load_kernel(cmdline); /* Shouldn't return */
- ldlinux_enter_command();
- }
-
- if (!forceprompt && !shift_is_held())
- ldlinux_auto_boot();
+ /*
+ * The corresponding longjmp is located in the execute function
+ * after a CO...
2017 Jan 27
0
Possible to persist data across reboots from Lua?
...Syslinux API, just not exported to Lua.
> While I'm currently using a Lua script, I'm not tied to it, so if
> there's a way to read and write any persistent filesystem or disk, I'd
> be happy to switch.
I think the best would be adding Lua bindings for syslinux_getadv(),
syslinux_setadv(), syslinux_adv_write(), syslinux_adv_size() and the
BOOTONCE and MENUSAVE tags. And define some policy for allocating new
tags... which is the hard part.
> Reading through the source code, it seems like most filesystem
> operations are read-only
Yes, the filesystem drivers in Syslinux are...
2010 Jun 07
0
[PATCH] extlinux: Add the --menu-save option to set the MENU SAVE value from the running system using extlinux
...| 3 +++
4 files changed, 19 insertions(+), 2 deletions(-)
diff --git a/extlinux/main.c b/extlinux/main.c
index 0669bb9..8a0ac63 100644
--- a/extlinux/main.c
+++ b/extlinux/main.c
@@ -381,6 +381,13 @@ int modify_adv(void)
rv = -1;
}
}
+ if (opt.menu_save) {
+ if (syslinux_setadv(ADV_MENUSAVE, strlen(opt.menu_save), opt.menu_save)) {
+ fprintf(stderr, "%s: not enough space for menu-save label\n",
+ program);
+ rv = -1;
+ }
+ }
return rv;
}
@@ -877,7 +884,7 @@ int main(int argc, char *argv[])
usage(EX_USAGE, 0);
if (opt.updat...
2015 Oct 13
5
[PATCH 0/2] Stack overflows when running commands
From: Sylvain Gault <sylvain.gault at gmail.com>
Hello there,
I propose 2 patches that fix two possible stack overflows either when running a
COM32 module or when loading a new config file.
I didn't find a better way to do this than to use the infamous setjmp/longjmp
functions to restore the stack to a previous state. This makes the logic a bit
more complex, but the behavior is not
2011 May 25
1
[GIT PULL] elflink ldlinux
...dv;
+ cmdline = dst = malloc(count + 1);
+ if (!dst) {
+ printf("Failed to allocate memory for ADV\n");
+ goto cmdline;
+ }
+
+ for (i = 0; i < count; i++)
+ *dst++ = *src++;
+ *dst = '\0'; /* Null-terminate */
+
+ /* Clear the boot-once data from the ADV */
+ if (!syslinux_setadv(ADV_BOOTONCE, 0, NULL))
+ syslinux_adv_write();
+
+ load_kernel(cmdline); /* Shouldn't return */
+ goto cmdline;
+ }
+
/* TODO: Check KbdFlags? */
if (forceprompt)
diff --git a/com32/elflink/ldlinux/readconfig.c b/com32/elflink/ldlinux/readconfig.c
index 441651e..8ded92a 100644
--- a/...
2012 Jul 16
5
[PATCH 0/5] Deleting __intcall() from Syslinux
From: Matt Fleming <matt.fleming at intel.com>
Since we can't use __intcall() for EFI, and since we can now have the
ELF module code resolve all our symbols at runtime, we should delete
as many references to __intcall() as possible and just access the
symbols directly.
The most interesting patch is the support for weak symbols. We need to
be able to reference derivative-specific
2012 Aug 14
1
[GIT PULL] elflink fixes
...n error, and set errno.
- *
- * NOTE: Data is not written to disk unless
- * syslinux_adv_write() is called.
- */
-
-#include <syslinux/adv.h>
-#include <klibc/compiler.h>
-#include <inttypes.h>
-#include <string.h>
-#include <errno.h>
-#include <alloca.h>
-
-int syslinux_setadv(int tag, size_t size, const void *data)
-{
- uint8_t *p, *advtmp;
- size_t rleft, left;
-
- if ((unsigned)tag - 1 > 254) {
- errno = EINVAL;
- return -1; /* Impossible tag value */
- }
-
- if (size > 255) {
- errno = ENOSPC; /* Max 255 bytes for a data item */
- return -1;
-...
2011 Apr 16
20
[PATCH 00/20] Switch to ELF modules
From: Matt Fleming <matt.fleming at linux.intel.com>
This series fixes some bugs and switches the elflink branch to be
entirely ELF modules. It applies on top of,
http://syslinux.zytor.com/archives/2011-April/016369.html
The deletions in the diff stat below are mainly from deleting
com32/elflink/modules (finally!). Now there should be no duplicate
code because we don't need COM32 and