645ce1e6ec
* Major code base changes; all filesystem rewritten in C. This work was done primarily by Liu Aleaxander (Yuanhan Liu). * Better support for booting from MBRs which don't pass handover information. * EXTLINUX: Try to be smarter about finding the partition offset. * chain.c32: support chainloading Dell Real Mode Kernel (Gene Cumm). * chain.c32: fix booting in CHS mode. * Fix the -s option to the syslinux/extlinux installer (Arwin Vosselman). * isohybrid: fix padding of large images (PJ Pandit). * SYSLINUX: correctly handle the case where the -d option is specified with a non-absolute path, i.e. "syslinux -d syslinux" instead of "syslinux -d /syslinux". * ISOLINUX: recognize the directory names /boot/syslinux and /syslinux, and the filename syslinux.cfg in addition to the isolinux-specific names. Thus, "syslinux.cfg" is now a generic name, whereas "isolinux.cfg" or "extlinux.conf" is specific to different derivative. * chain.c32: support setting alternate config filename for stage2 of GRUB Legacy (Gert Hulselmans). * whichsys.c32: execute specific command, based on Syslinux bootloader variant (Gert Hulselmans). * lua.c32: a lot of new bindings added to the "syslinux" namespace: VESA, PCI, DMI, kernel loading (Marcel Ritter). * btrfs: print a comprehensive error message if compressed or encrypted files are encountered (neither is currently OBS-URL: https://build.opensuse.org/package/show/system:install:head/syslinux?expand=0&rev=25
39 lines
1.1 KiB
Diff
39 lines
1.1 KiB
Diff
diff --git a/core/fs/iso9660/iso9660.c b/core/fs/iso9660/iso9660.c
|
|
index 46f5f17..70c6910 100644
|
|
--- a/core/fs/iso9660/iso9660.c
|
|
+++ b/core/fs/iso9660/iso9660.c
|
|
@@ -275,14 +275,25 @@ static int iso_readdir(struct file *file, struct dirent *dirent)
|
|
/* Load the config file, return 1 if failed, or 0 */
|
|
static int iso_load_config(void)
|
|
{
|
|
- static const char *search_directories[] = {
|
|
- "/boot/isolinux",
|
|
- "/isolinux",
|
|
- "/boot/syslinux",
|
|
- "/syslinux",
|
|
- "/",
|
|
- NULL
|
|
- };
|
|
+ /*
|
|
+ * Put search_directories[] to different section so it
|
|
+ * won't be compressed (and we can patch it later).
|
|
+ */
|
|
+ __asm__(
|
|
+ ".section .data16\n"
|
|
+ ".s1: .ascii \"/boot\"\n"
|
|
+ ".s2: .string \"/isolinux\"\n"
|
|
+ ".fill 64, 1, 0\n"
|
|
+ ".s3: .ascii \"/boot\"\n"
|
|
+ ".s4: .string \"/syslinux\"\n"
|
|
+ ".s5: .string \"/\"\n"
|
|
+ ".align 4\n"
|
|
+ "search_directories:\n"
|
|
+ ".long .s1, .s2, .s3, .s4, .s5, 0\n"
|
|
+ ".text\n"
|
|
+ );
|
|
+ extern const char *search_directories[];
|
|
+
|
|
static const char *filenames[] = {
|
|
"isolinux.cfg",
|
|
"syslinux.cfg",
|