forked from pool/syslinux
Accepting request 18635 from system:install:head
Copy from system:install:head/syslinux based on submit request 18635 from user snwint OBS-URL: https://build.opensuse.org/request/show/18635 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/syslinux?expand=0&rev=17
This commit is contained in:
parent
ff0f0fdacd
commit
4bf14b52ba
@ -4,11 +4,22 @@ gfxboot bootlogo
|
||||
|
||||
before in isolinux.cfg or syslinux.cfg, change this to
|
||||
|
||||
ui gfxboot.com bootlogo
|
||||
ui gfxboot bootlogo
|
||||
|
||||
and add /usr/share/syslinux/gfxboot.com to your boot directory (the one
|
||||
where the config file is).
|
||||
|
||||
This also means that gfxboot now works with other syslinux variants like
|
||||
pxelinux or extlinux, too.
|
||||
You can also use
|
||||
|
||||
ui gfxboot bootlogo message
|
||||
|
||||
and remove the
|
||||
|
||||
display message
|
||||
|
||||
line. The 'message' file will be shown when you leave the gfxboot module (or
|
||||
it couldn't be started).
|
||||
|
||||
This also means that gfxboot now works with other syslinux variants like
|
||||
pxelinux or extlinux.
|
||||
|
||||
|
@ -2632,3 +2632,106 @@ index 0000000..b7a3dc6
|
||||
+
|
||||
+#endif /* _LIBIO_H */
|
||||
+
|
||||
diff --git a/modules/gfxboot.c b/modules/gfxboot.c
|
||||
index 6b0d300..c7c69fe 100644
|
||||
--- a/modules/gfxboot.c
|
||||
+++ b/modules/gfxboot.c
|
||||
@@ -153,6 +153,7 @@ void gfx_infobox32(int type, uint32_t str1, uint32_t str2);
|
||||
void gfx_infobox(int type, char *str1, char *str2);
|
||||
|
||||
void boot(void);
|
||||
+void show_message(char *file);
|
||||
|
||||
|
||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
@@ -202,8 +203,8 @@ int main(int argc, char **argv)
|
||||
gfx_config.boot_drive = 0;
|
||||
}
|
||||
|
||||
- if(argc != 2) {
|
||||
- printf("Usage: gfxboot.com <bootlogo>\n");
|
||||
+ if(argc < 2) {
|
||||
+ printf("Usage: gfxboot.com bootlogo_file [message_file]\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -237,6 +238,10 @@ int main(int argc, char **argv)
|
||||
boot();
|
||||
}
|
||||
|
||||
+ if(argc > 2) {
|
||||
+ show_message(argv[2]);
|
||||
+ }
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -896,3 +901,17 @@ void syslinux_hook(x86regs_t *r)
|
||||
}
|
||||
|
||||
|
||||
+// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
+void show_message(char *file)
|
||||
+{
|
||||
+ int c;
|
||||
+
|
||||
+ if(open(file) == -1) return;
|
||||
+
|
||||
+ while((c = getc()) != EOF) {
|
||||
+ if(c < ' ' && c != '\n' && c != '\t') continue;
|
||||
+ printf("%c", c);
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+
|
||||
diff --git a/modules/libio.asm b/modules/libio.asm
|
||||
index 57bcde3..1b31219 100644
|
||||
--- a/modules/libio.asm
|
||||
+++ b/modules/libio.asm
|
||||
@@ -59,7 +59,7 @@ _start:
|
||||
rep stosb
|
||||
|
||||
; parse args
|
||||
- mov bx,80h
|
||||
+ mov ebx,80h
|
||||
movzx si,byte [bx]
|
||||
mov byte [si+81h],0dh ; just make sure
|
||||
xor ecx,ecx
|
||||
diff --git a/modules/gfxboot.c b/modules/gfxboot.c
|
||||
index c7c69fe..9c9682b 100644
|
||||
--- a/modules/gfxboot.c
|
||||
+++ b/modules/gfxboot.c
|
||||
@@ -205,16 +205,22 @@ int main(int argc, char **argv)
|
||||
|
||||
if(argc < 2) {
|
||||
printf("Usage: gfxboot.com bootlogo_file [message_file]\n");
|
||||
+ if(argc > 2) show_message(argv[2]);
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(read_config_file()) {
|
||||
printf("Error reading config file\n");
|
||||
+ if(argc > 2) show_message(argv[2]);
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
if(gfx_init(argv[1])) {
|
||||
printf("Error setting up gfxboot\n");
|
||||
+ if(argc > 2) show_message(argv[2]);
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -238,9 +244,7 @@ int main(int argc, char **argv)
|
||||
boot();
|
||||
}
|
||||
|
||||
- if(argc > 2) {
|
||||
- show_message(argv[2]);
|
||||
- }
|
||||
+ if(argc > 2) show_message(argv[2]);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -1,3 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 25 15:53:39 CEST 2009 - snwint@suse.de
|
||||
|
||||
- fix argv setup (bnc #530255)
|
||||
- now accepts two args: bootlogo and a (text)message file
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Aug 7 13:47:54 CEST 2009 - snwint@suse.de
|
||||
|
||||
|
@ -27,7 +27,7 @@ Requires: mtools
|
||||
AutoReqProv: on
|
||||
Summary: Boot Loader for Linux
|
||||
Version: 3.82
|
||||
Release: 5
|
||||
Release: 6
|
||||
Source: %{name}-%{version}.tar.bz2
|
||||
Source1: isolinux-config
|
||||
Source2: README.gfxboot
|
||||
|
Loading…
Reference in New Issue
Block a user