SHA256
1
0
forked from pool/syslinux
syslinux/syslinux-4.04-mboot_bootif.patch
Steffen Winterfeldt 0620ccce49 - Use %autosetup macro: allows us to eliminate usage of deprecated
%patchN syntax.
- Normalize all patches to apply as -p1
  + Rebased remove-note-gnu-section.patch
  + Rebased sysmacros.patch
- Rename all *.diff files to *.patch, aligning one a common suffix:
  + syslinux-4.04-align.diff -> syslinux-4.04-align.patch
  + syslinux-4.04-cache_fix.diff -> syslinux-4.04-cache_fix.patch
  + syslinux-4.04-cwd.diff -> syslinux-4.04-cwd.patch
  + syslinux-4.04-gcc10.diff -> syslinux-4.04-gcc10.patch
  + syslinux-4.04-gcc47.diff -> syslinux-4.04-gcc47.patch
  + syslinux-4.04-geometry.diff -> syslinux-4.04-geometry.patch
  + syslinux-4.04-iso9660.diff -> syslinux-4.04-iso9660.patch
  + syslinux-4.04-isohybrid_efi.diff -> syslinux-4.04-isohybrid_efi.patch
  + syslinux-4.04-isohybrid_efi_optional.diff -> syslinux-4.04-isohybrid_efi_optional.patch
  + syslinux-4.04-isohybrid_mbr.diff -> syslinux-4.04-isohybrid_mbr.patch
  + syslinux-4.04-libext2fs.diff -> syslinux-4.04-libext2fs.patch
  + syslinux-4.04-localboot.diff -> syslinux-4.04-localboot.patch
  + syslinux-4.04-lzo.diff -> syslinux-4.04-lzo.patch
  + syslinux-4.04-mboot_bootif.diff -> syslinux-4.04-mboot_bootif.patch
  + syslinux-4.04-md5pass.diff -> syslinux-4.04-md5pass.patch
  + syslinux-4.04-miniacc.diff -> syslinux-4.04-miniacc.patch
  + syslinux-4.04-mtime.diff -> syslinux-4.04-mtime.patch
  + syslinux-4.04-noinitrd.diff -> syslinux-4.04-noinitrd.patch
  + syslinux-4.04-nostrip.diff -> syslinux-4.04-nostrip.patch
  + syslinux-4.04-pie.diff -> syslinux-4.04-pie.patch
  + syslinux-4.04-python3.diff -> syslinux-4.04-python3.patch
  + syslinux-4.04-timeout.diff -> syslinux-4.04-timeout.patch

OBS-URL: https://build.opensuse.org/package/show/system:install:head/syslinux?expand=0&rev=109
2024-06-21 12:26:32 +00:00

40 lines
1.2 KiB
Diff

Index: syslinux-4.04/com32/mboot/mboot.c
===================================================================
--- syslinux-4.04.orig/com32/mboot/mboot.c
+++ syslinux-4.04/com32/mboot/mboot.c
@@ -97,9 +97,14 @@ static int get_modules(char **argv, stru
int arglen;
const char module_separator[] = "---";
+ char *bootif = 0;
for (argp = argv; *argp; argp++) {
if (!strcmp(*argp, module_separator))
module_count++;
+ /* BOOTIF= gets only appended for last group by syslinux, but it may be needed also
+ for other modules. So let's copy it. Esp. needed for XEN booting, Dom0 kernel needs it */
+ if (!strncmp(*argp, "BOOTIF=", 7))
+ bootif = *argp;
}
*mdp = mp = malloc(module_count * sizeof(struct module_data));
@@ -133,11 +138,19 @@ static int get_modules(char **argv, stru
mp->cmdline = strdup("");
} else {
char *p;
+ if (bootif) {
+ arglen += strlen(bootif) + 1;
+ }
+
mp->cmdline = p = malloc(arglen);
for (; *argp && strcmp(*argp, module_separator); argp++) {
p = stpcpy(p, *argp);
*p++ = ' ';
}
+ if (bootif) {
+ p = stpcpy(p, bootif);
+ *p++ = ' ';
+ }
*--p = '\0';
}
mp++;