diff options
author | Erwan Velu <erwanaliasr1@gmail.com> | 2012-05-29 21:01:17 +0200 |
---|---|---|
committer | Erwan Velu <erwanaliasr1@gmail.com> | 2012-05-29 21:01:17 +0200 |
commit | 58e02d3e8b193e5da94239c82db8f78a2297a79f (patch) | |
tree | 594401b40f04db7778bbfa90ce309e1e3615ed7d | |
parent | 3857e1487f656fafb0aad778d38fc2beb3676435 (diff) | |
download | syslinux-58e02d3e8b193e5da94239c82db8f78a2297a79f.tar.gz syslinux-58e02d3e8b193e5da94239c82db8f78a2297a79f.tar.xz syslinux-58e02d3e8b193e5da94239c82db8f78a2297a79f.zip |
hdt: Adding display command to change background
This command allow switching the background image. This could be used
for example to give more explicit message to users.
Idea is coming from the FGTC project
-rw-r--r-- | com32/hdt/Makefile | 2 | ||||
-rw-r--r-- | com32/hdt/art/display.png | bin | 0 -> 19755 bytes | |||
-rw-r--r-- | com32/hdt/floppy/hdt.cfg | 10 | ||||
-rw-r--r-- | com32/hdt/hdt-cli-hdt.c | 17 | ||||
-rw-r--r-- | com32/hdt/hdt-cli.h | 1 |
5 files changed, 30 insertions, 0 deletions
diff --git a/com32/hdt/Makefile b/com32/hdt/Makefile index ea9ddfeb..c5becadd 100644 --- a/com32/hdt/Makefile +++ b/com32/hdt/Makefile @@ -74,6 +74,7 @@ hdt.img: hdt.c32 $(FLOPPY_DIR)/hdt.cfg $(FLOPPY_DIR)/mtools.conf $(topdir)/mtool MTOOLSRC=$(PWD)/$(FLOPPY_DIR)/mtools.conf $(MCOPY) $(FLOPPY_DIR)/syslinux.cfg a: MTOOLSRC=$(PWD)/$(FLOPPY_DIR)/mtools.conf $(MCOPY) $(FLOPPY_DIR)/$(MEMTEST) a: MTOOLSRC=$(PWD)/$(FLOPPY_DIR)/mtools.conf $(MCOPY) $(ART_DIR)/backgnd.png a: + MTOOLSRC=$(PWD)/$(FLOPPY_DIR)/mtools.conf $(MCOPY) $(ART_DIR)/display.png a: mv hdt.img hdt-$(VERSION).img ln -sf hdt-$(VERSION).img hdt.img @@ -94,6 +95,7 @@ hdt.iso: hdt.c32 $(topdir)/core/isolinux.bin $(FLOPPY_DIR)/hdt.cfg memtest cp $(MENU_COM32) $(ISO_DIR)/$(ISOLINUX_DIR) cp $(CHAIN_COM32) $(ISO_DIR)/$(ISOLINUX_DIR) cp -av $(ART_DIR)/backgnd.png $(ISO_DIR)/$(ISOLINUX_DIR) + cp -av $(ART_DIR)/display.png $(ISO_DIR)/$(ISOLINUX_DIR) -[ ! -f $(GZ_PCI_IDS_FILE) ] && cp /usr/share/hwdata/pci.ids $(PCI_IDS_FILE) && $(GZIPPROG) $(PCI_IDS_FILE) -[ ! -f $(GZ_PCI_IDS_FILE) ] && cp /usr/share/pci.ids $(PCI_IDS_FILE) && $(GZIPPROG) $(PCI_IDS_FILE) -[ -f $(MODULES_ALIAS_FILE) ] && cp $(MODULES_ALIAS_FILE) $(ISO_DIR)/$(ISOLINUX_DIR)\ diff --git a/com32/hdt/art/display.png b/com32/hdt/art/display.png Binary files differnew file mode 100644 index 00000000..31fabef6 --- /dev/null +++ b/com32/hdt/art/display.png diff --git a/com32/hdt/floppy/hdt.cfg b/com32/hdt/floppy/hdt.cfg index e5f3b0a0..60b550fe 100644 --- a/com32/hdt/floppy/hdt.cfg +++ b/com32/hdt/floppy/hdt.cfg @@ -95,6 +95,16 @@ ENDTEXT COM32 hdt.c32 APPEND modules_pcimap=modules.pcimap modules_alias=modules.alias pciids=pci.ids quiet vesa nomenu auto='show memory;say `########`;say `Starting memtest in 5 sec`%5;exit' postexec='memtest' +LABEL display +MENU LABEL Display feature (VESA mode) +TEXT HELP + Starts HDT using the Command Line Interface (CLI) + VESA mode is enabled + A Picture is shown by using the display command +ENDTEXT +COM32 hdt.c32 +APPEND modules_pcimap=modules.pcimap modules_alias=modules.alias pciids=pci.ids quiet nomenu vesa auto='display display.png;' + MENU SEPARATOR LABEL memtest diff --git a/com32/hdt/hdt-cli-hdt.c b/com32/hdt/hdt-cli-hdt.c index f7f7e949..0fd51f3e 100644 --- a/com32/hdt/hdt-cli-hdt.c +++ b/com32/hdt/hdt-cli-hdt.c @@ -260,6 +260,18 @@ static void do_dump(int argc __unused, char **argv __unused, } /** + * do_display - display an image to user + **/ +static void do_display(int argc , char **argv , + struct s_hardware *hardware) +{ + (void) hardware; + if ((argc != 1) || (vesamode == false)) return; + printf("Display %s file\n",argv[0]); + vesacon_load_background(argv[0]); +} + +/** * do_say - say message to user **/ static void do_say(int argc , char **argv , @@ -357,6 +369,11 @@ struct cli_callback_descr list_hdt_default_modules[] = { .nomodule = true, }, { + .name = CLI_DISPLAY, + .exec = do_display, + .nomodule = true, + }, + { .name = NULL, .exec = NULL, .nomodule = false}, diff --git a/com32/hdt/hdt-cli.h b/com32/hdt/hdt-cli.h index 30fe5187..0965dfa3 100644 --- a/com32/hdt/hdt-cli.h +++ b/com32/hdt/hdt-cli.h @@ -67,6 +67,7 @@ #define CLI_DISABLE "disable" #define CLI_DUMP "dump" #define CLI_SAY "say" +#define CLI_DISPLAY "display" typedef enum { INVALID_MODE, |