diff options
author | Andrea Adami <andrea.adami@gmail.com> | 2009-01-27 00:25:39 +0100 |
---|---|---|
committer | Andrea Adami <andrea.adami@gmail.com> | 2009-01-27 23:26:25 +0100 |
commit | ddf9f35be9bfd945bfeb5b12b767142b1ac3d786 (patch) | |
tree | a505bfc34c173717e98768ce43f6e20ca34c8042 /packages/kexecboot/kexecboot-0.4/add-reboot-option.patch | |
parent | 40c87872fcb4c437f5de9eb227eb3efd8b36f613 (diff) |
kexecboot: add new (beta) release 0.4 and add patches from upstream
Diffstat (limited to 'packages/kexecboot/kexecboot-0.4/add-reboot-option.patch')
-rw-r--r-- | packages/kexecboot/kexecboot-0.4/add-reboot-option.patch | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/packages/kexecboot/kexecboot-0.4/add-reboot-option.patch b/packages/kexecboot/kexecboot-0.4/add-reboot-option.patch new file mode 100644 index 0000000000..52619229fd --- /dev/null +++ b/packages/kexecboot/kexecboot-0.4/add-reboot-option.patch @@ -0,0 +1,41 @@ +--- a/kexecboot.c ++++ b/kexecboot.c +@@ -536,11 +536,23 @@ int main(int argc, char **argv) + fread(&evt, sizeof(struct input_event), 1, f); + while(evt.type != EV_KEY || evt.value != 0); + +- if(evt.code == KEY_UP && choice >0) +- choice--; +- if(evt.code == KEY_DOWN && choice < bl->size-1) +- choice++; +- // printf("%d %d\n",choice, evt.code); ++ switch (evt.code) { ++ case KEY_UP: ++ if (choice > 0) choice--; ++ break; ++ case KEY_DOWN: ++ if ( choice < (bl->size - 1) ) choice++; ++ break; ++ case KEY_R: ++ /* FIXME: Should work while no boot devices is found */ ++ sync(); ++ sleep(1); ++ /* if ( -1 == reboot(LINUX_REBOOT_CMD_RESTART) ) { */ ++ if ( -1 == reboot(RB_AUTOBOOT) ) { ++ perror("Can't initiate reboot"); ++ } ++ break; ++ } + + }while(evt.code != 87 && evt.code != 63); + fclose(f); +--- a/kexecboot.h ++++ b/kexecboot.h +@@ -29,6 +29,7 @@ + #include <sys/wait.h> + #include <ctype.h> + #include <errno.h> ++#include <sys/reboot.h> + #include "fb.h" + #include "devicescan.h" + #include "res/logo-img.h" |