diff options
Diffstat (limited to 'recipes/kexecboot')
-rw-r--r-- | recipes/kexecboot/files/angstrom/icon.xpm | 39 | ||||
-rw-r--r-- | recipes/kexecboot/files/icon.xpm | 43 | ||||
-rw-r--r-- | recipes/kexecboot/kexecboot-0.4/add-reboot-option.patch | 41 | ||||
-rw-r--r-- | recipes/kexecboot/kexecboot-0.4/add-sleep.patch | 12 | ||||
-rw-r--r-- | recipes/kexecboot/kexecboot-0.4/fb-render-16bit.patch | 21 | ||||
-rw-r--r-- | recipes/kexecboot/kexecboot-0.4/graphical-no-devices.patch | 20 | ||||
-rw-r--r-- | recipes/kexecboot/kexecboot-0.4/kexecboot-tosa.patch | 24 | ||||
-rw-r--r-- | recipes/kexecboot/kexecboot-0.4/scan_devices-top.patch | 39 | ||||
-rw-r--r-- | recipes/kexecboot/kexecboot-0.4/silent-output-hack.patch | 79 | ||||
-rw-r--r-- | recipes/kexecboot/kexecboot-0.4/switch-cursor-off.patch | 11 | ||||
-rw-r--r-- | recipes/kexecboot/kexecboot-cfg_0.1.bb | 38 | ||||
-rw-r--r-- | recipes/kexecboot/kexecboot_0.4.bb | 13 | ||||
-rw-r--r-- | recipes/kexecboot/kexecboot_0.5.bb | 5 | ||||
-rw-r--r-- | recipes/kexecboot/kexecboot_git.bb | 12 |
14 files changed, 112 insertions, 285 deletions
diff --git a/recipes/kexecboot/files/angstrom/icon.xpm b/recipes/kexecboot/files/angstrom/icon.xpm new file mode 100644 index 0000000000..77b6710bae --- /dev/null +++ b/recipes/kexecboot/files/angstrom/icon.xpm @@ -0,0 +1,39 @@ +/* XPM */ +static char * logo_xpm[] = { +"32 32 4 1", +" c None", +". c #729188", +"+ c #93ACA4", +"# c #CCCCCC", +" ", +" ++ ", +" ++ ", +" ++ ", +" .++. ", +" . . ", +" . . ", +" . ++ . ", +" ++++ ", +" ++++ ", +" +#++#+ ", +" +#++#+ ", +" +#+ +#+ ", +" +#+ +#+ ", +" ++ ++ ++ ", +" +#+ ++ +#+ ", +" ...+#+.++.+#+... ", +" ...#+..++..+#... ", +" +#+ ++ +#+ ", +" ++ ++ ++ ", +" +#+ +#+ ", +" ++ ++ ", +" +#+ +#+ ", +" ++ ++ ", +" +#+ +#+ ", +" +#+ +#+ ", +" ++ ++ ", +" +#+ +#+ ", +" +++ +++ ", +" .+ +. ", +" . . ", +" "}; diff --git a/recipes/kexecboot/files/icon.xpm b/recipes/kexecboot/files/icon.xpm new file mode 100644 index 0000000000..6e6fd776d8 --- /dev/null +++ b/recipes/kexecboot/files/icon.xpm @@ -0,0 +1,43 @@ +/* XPM */ +static char * icon_xpm[] = { +"32 32 8 1", +" c None", +". c #D6DBDE", +"+ c #9BA6AE", +"@ c #60727D", +"# c #B8BFC5", +"$ c #A9E8F6", +"% c #12BCE4", +"& c #57D2EC", +" ", +" ", +" ", +" .++@@@@++. ", +" +@@@@@@@@@@@@+ ", +" #@@@@@@@@@@@@@@@@# ", +" +@@@@@@@@@@@@@@@@@@+ ", +" .@@@@@@@@++##+@@@@@@@@@. ", +" @@@@@@@. .@@@@@@@ ", +" +@@@@@+ $$$$ #@@@@@+ ", +" #@@@@@. $%%%%%%%%$ .@@@@@# ", +" @@@@@. &%%%%%%%%%%& .@@@@@ ", +" #@@@@+ %%%%%%%%%%%%%% +@@@@# ", +" @@@@@ &%%%%%%%%%%%%%%& @@@@@ ", +".@@@@. $%%%%%& $%%%%%& .@@@@.", +"+@@@@ %%%%% $%%%%%& @@@@+", +"+@@@+ %%%%$ $%%%%%& $$ +@@@+", +"@@@@+ $%%%% $%%%%%& $%$ +@@@@", +"@@@@# &%%%& &%%%%& $%%& #@@@@", +"@@@@. &%%%& %%%%& $%%%& .@@@@", +"@@@@# $%%%& &%%& &%%%$ #@@@@", +"+@@@+ $%%%% %%%%$ +@@@+", +"+@@@@ %%%%& &%%%% @@@@+", +"#@@@@ &%%%%& &%%%%& @@@@#", +" @@@@+ %%%%%%&$$&%%%%%% +@@@@ ", +" +@@@@. $%%%%%%%%%%%%%%$ .@@@@+ ", +" .@@@@@ $%%%%%%%%%%%%$ @@@@@. ", +" #++++. &%%%%%%%%& .++++# ", +" $&&%%&&$ ", +" ", +" ", +" "}; diff --git a/recipes/kexecboot/kexecboot-0.4/add-reboot-option.patch b/recipes/kexecboot/kexecboot-0.4/add-reboot-option.patch deleted file mode 100644 index 52619229fd..0000000000 --- a/recipes/kexecboot/kexecboot-0.4/add-reboot-option.patch +++ /dev/null @@ -1,41 +0,0 @@ ---- 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" diff --git a/recipes/kexecboot/kexecboot-0.4/add-sleep.patch b/recipes/kexecboot/kexecboot-0.4/add-sleep.patch deleted file mode 100644 index 8f41b0ef10..0000000000 --- a/recipes/kexecboot/kexecboot-0.4/add-sleep.patch +++ /dev/null @@ -1,12 +0,0 @@ ---- a/kexecboot.c 2009-01-24 14:11:17.000000000 +0100 -+++ b/kexecboot.c 2009-01-24 14:15:03.000000000 +0100 -@@ -427,6 +427,9 @@ - - DPRINTF("I'm the init-process!\n"); - -+ /* extra delay for initializing slow SD/CF */ -+ sleep(1); -+ - /* Mount procfs */ - if ( -1 == mount("proc", "/proc", "proc", - 0, NULL) ) { diff --git a/recipes/kexecboot/kexecboot-0.4/fb-render-16bit.patch b/recipes/kexecboot/kexecboot-0.4/fb-render-16bit.patch deleted file mode 100644 index f3405e49d8..0000000000 --- a/recipes/kexecboot/kexecboot-0.4/fb-render-16bit.patch +++ /dev/null @@ -1,21 +0,0 @@ -Index: kexecboot-0.4/fb.c -=================================================================== ---- kexecboot-0.4.orig/fb.c 2009-01-29 22:03:34.000000000 +0000 -+++ kexecboot-0.4/fb.c 2009-01-29 22:08:22.000000000 +0000 -@@ -19,7 +19,15 @@ - - void fb_render(FB * fb) - { -- memcpy(fb->data, fb->backbuffer, fb->screensize); -+ uint16 *source, *dest; -+ int n = fb->screensize/2; -+ -+ source = (uint16 *)fb->backbuffer; -+ dest = (uint16 *)fb->data; -+ -+ while (n--) { -+ *dest++ = *source++; -+ } - } - - void fb_destroy(FB * fb) diff --git a/recipes/kexecboot/kexecboot-0.4/graphical-no-devices.patch b/recipes/kexecboot/kexecboot-0.4/graphical-no-devices.patch deleted file mode 100644 index b2cb214894..0000000000 --- a/recipes/kexecboot/kexecboot-0.4/graphical-no-devices.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/kexecboot.c -+++ b/kexecboot.c -@@ -66,8 +66,15 @@ void display_menu(FB *fb, struct bootlist *bl, int current) - LOGO_IMG_WIDTH, - LOGO_IMG_HEIGHT, - LOGO_IMG_BYTES_PER_PIXEL, LOGO_IMG_RLE_PIXEL_DATA); -- fb_draw_text (fb, LOGO_IMG_WIDTH + margin, margin, 0, 0, 0, &radeon_font, -- "Make your choice by selecting\nan item with the cursor keys\nand press OK to continue"); -+ /* If no devices found print a message */ -+ if (0 == bl->size) { -+ fb_draw_text (fb, LOGO_IMG_WIDTH + margin, margin, 0, 0, 0, &radeon_font, -+ "No bootable devices found.\nInsert bootable device\nand press 'R' to reboot."); -+ } else { -+ fb_draw_text (fb, LOGO_IMG_WIDTH + margin, margin, 0, 0, 0, &radeon_font, -+ "Make your choice by selecting\nan item with the cursor keys\nand press OK to continue.\nPress 'R' to reboot."); -+ } -+ - if(current < firstslot) - firstslot=current; - if(current > firstslot + slots -1) diff --git a/recipes/kexecboot/kexecboot-0.4/kexecboot-tosa.patch b/recipes/kexecboot/kexecboot-0.4/kexecboot-tosa.patch deleted file mode 100644 index e1f4870853..0000000000 --- a/recipes/kexecboot/kexecboot-0.4/kexecboot-tosa.patch +++ /dev/null @@ -1,24 +0,0 @@ -Index: kexecboot-0.4/kexecboot.c -=================================================================== ---- kexecboot-0.4.orig/kexecboot.c 2009-01-29 01:30:43.000000000 +0000 -+++ kexecboot-0.4/kexecboot.c 2009-01-29 01:39:17.000000000 +0000 -@@ -416,7 +416,7 @@ - {"Spitz", 270}, - - {"Collie", 270}, -- {"Tosa", 270}, -+ {"SHARP Tosa", 0}, - {"Poodle", 270}, - {NULL, 0} - }; -@@ -566,7 +566,9 @@ - break; - } - -- }while(evt.code != 87 && evt.code != 63); -+ }while(evt.code != 87 && evt.code != 63 && -+ evt.code != KEY_SPACE && evt.code != KEY_ENTER && -+ evt.code != KEY_HIRAGANA && evt.code != KEY_HENKAN); - fclose(f); - // reset terminal - tcsetattr(fileno(stdin), TCSANOW, &old); diff --git a/recipes/kexecboot/kexecboot-0.4/scan_devices-top.patch b/recipes/kexecboot/kexecboot-0.4/scan_devices-top.patch deleted file mode 100644 index 6b21d03a3d..0000000000 --- a/recipes/kexecboot/kexecboot-0.4/scan_devices-top.patch +++ /dev/null @@ -1,39 +0,0 @@ ---- a/kexecboot.c -+++ b/kexecboot.c -@@ -508,28 +508,27 @@ int main(int argc, char **argv) - if ((fb = fb_new(angle)) == NULL) - exit(-1); - -- bl = scan_devices(); -- -- if(!bl->size){ -- puts("No bootable device found"); -- exit(-1); -- } -- - f = fopen(eventif,"r"); - if(!f){ - perror(eventif); - exit(3); - } - -- - // deactivate terminal input -- - tcgetattr(fileno(stdin), &old); - new = old; - new.c_lflag &= ~ECHO; - // new.c_cflag &=~CREAD; - tcsetattr(fileno(stdin), TCSANOW, &new); - -+ bl = scan_devices(); -+/* -+ if(!bl->size){ -+ puts("No bootable device found"); -+ exit(-1); -+ } -+*/ -+ - do{ - display_menu(fb, bl, choice); - do diff --git a/recipes/kexecboot/kexecboot-0.4/silent-output-hack.patch b/recipes/kexecboot/kexecboot-0.4/silent-output-hack.patch deleted file mode 100644 index abe8e84dd1..0000000000 --- a/recipes/kexecboot/kexecboot-0.4/silent-output-hack.patch +++ /dev/null @@ -1,79 +0,0 @@ ---- a/devicescan.c 2009-01-17 00:51:35.000000000 +0100 -+++ b/devicescan.c 2009-01-24 22:13:45.000000000 +0100 -@@ -120,14 +120,14 @@ - malloc((strlen(split) + strlen("/dev/") + - 1) * sizeof(char)); - sprintf(device, "/dev/%s", split); -- printf("Probing %s\n",device); -+ /* printf("Probing %s\n",device); */ - int fd = open(device, O_RDONLY); - if (fd < 0) { - perror(device); - free(device); - continue; - } -- printf("Device %s is opened\n", device); -+ /* printf("Device %s is opened\n", device); */ - if (-1 == identify_fs(fd, &fstype, NULL, 0)) { - free(device); - continue; -@@ -137,33 +137,33 @@ - free(device); - continue; - } -- printf("FS on device %s is %s\n", device, fstype); -+ /* printf("FS on device %s is %s\n", device, fstype); */ - // no unknown filesystems - if (contains(fstype, fl) == -1) { - free(device); - continue; - } -- printf("found %s (%s)\n",device, fstype); -+ /* printf("found %s (%s)\n",device, fstype); */ - // mount fs - if (mount(device, "/mnt", fstype, MS_RDONLY, NULL)) { -- printf("mount failed\n"); -+ /* printf("mount failed\n"); */ - perror(device); - free(device); - continue; - } -- printf("mount successful\n"); -+ /* printf("mount successful\n"); */ - if ( (g = fopen("/mnt/zImage", "r")) ) - kernelpath = "/mnt/zImage"; - else if ( (g = fopen("/mnt/boot/zImage", "r")) ) - kernelpath = "/mnt/boot/zImage"; - else { -- printf("%s no kernel found, umounting\n", device); -+ /* printf("%s no kernel found, umounting\n", device); */ - free(device); - umount("/mnt"); - continue; - } - fclose(g); -- printf("found kernel\n"); -+ /* printf("found kernel\n"); */ - bl->list[count] = malloc(sizeof(struct boot)); - bl->list[count]->device = device; - bl->list[count]->fstype = fstype; -@@ -174,7 +174,7 @@ - fgets(bl->list[count]->cmdline, COMMAND_LINE_SIZE, - g); - fclose(g); -- printf("found command line\n"); -+ /* printf("found command line\n"); */ - bl->list[count]->cmdline[strlen(bl->list[count]->cmdline)-1] = '\0'; - } else - bl->list[count]->cmdline = NULL; ---- a/kexecboot.c 2009-01-25 10:41:04.000000000 +0100 -+++ b/kexecboot.c 2009-01-24 22:13:45.000000000 +0100 -@@ -558,7 +558,7 @@ - case KEY_R: - /* FIXME: Should work while no boot devices is found */ - sync(); -- sleep(1); -+ /* REMOVE: we sleep on boot sleep(1); */ - /* if ( -1 == reboot(LINUX_REBOOT_CMD_RESTART) ) { */ - if ( -1 == reboot(RB_AUTOBOOT) ) { - perror("Can't initiate reboot"); diff --git a/recipes/kexecboot/kexecboot-0.4/switch-cursor-off.patch b/recipes/kexecboot/kexecboot-0.4/switch-cursor-off.patch deleted file mode 100644 index 632cc6a01c..0000000000 --- a/recipes/kexecboot/kexecboot-0.4/switch-cursor-off.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/kexecboot.c -+++ b/kexecboot.c -@@ -512,6 +512,9 @@ int main(int argc, char **argv) - DPRINTF("FB angle is %d, input device is %s\n", angle, eventif); - DPRINTF("Going to fb mode\n"); - -+ /* Switch cursor off. NOTE: works only when master-console is tty */ -+ printf("\033[?25l\n"); -+ - if ((fb = fb_new(angle)) == NULL) - exit(-1); diff --git a/recipes/kexecboot/kexecboot-cfg_0.1.bb b/recipes/kexecboot/kexecboot-cfg_0.1.bb index 97407a8a0a..b867457e22 100644 --- a/recipes/kexecboot/kexecboot-cfg_0.1.bb +++ b/recipes/kexecboot/kexecboot-cfg_0.1.bb @@ -2,9 +2,11 @@ LICENSE = "GPL" SECTION = "base" DESCRIPTION = "Configuration file for kexecboot" -PR = "r5" +PR = "r7" PACKAGE_ARCH = "${MACHINE_ARCH}" +SRC_URI = "file://icon.xpm" + CMDLINE_CON = "console=ttyS0,115200n8 console=tty1 noinitrd" CMDLINE_CON_collie = "console=ttySA0,115200n8 console=tty1 noinitrd rw" CMDLINE_CON_qemuarm = "console=ttyAMA0,115200n8 console=tty1 noinitrd" @@ -29,18 +31,38 @@ CMDLINE += ${CMDLINE_DEBUG} FILES_${PN} += "/boot/*" +do_configure_prepend () { + install -m 0644 ${WORKDIR}/icon.xpm ${S} +} + do_install_prepend () { - echo "DEFAULT=${DISTRO}" > ${S}/boot.cfg + + echo "# Show this label in kexecboot menu." >> ${S}/boot.cfg echo "LABEL=${DISTRO}" >> ${S}/boot.cfg + echo "#" >> ${S}/boot.cfg + + echo "# Specify full path to the kernel." >> ${S}/boot.cfg echo "KERNEL=/boot/${KERNEL_IMAGETYPE}" >> ${S}/boot.cfg + echo "#" >> ${S}/boot.cfg + + echo "# Append this tags to the kernel cmdline." >> ${S}/boot.cfg echo "APPEND=${CMDLINE}" >> ${S}/boot.cfg - echo "#ICON=/boot/my_icon.xpm" >> ${S}/boot.cfg + echo "#" >> ${S}/boot.cfg + + echo "# Specify full path for a custom distro-icon for the menu-item." >> ${S}/boot.cfg + echo "# If not set, use device-icons as default (NAND, SD, CF, ...)." >> ${S}/boot.cfg + echo "#ICON=/boot/icon.xpm" >> ${S}/boot.cfg + echo "#" >> ${S}/boot.cfg + + echo "# Priority of item in kexecboot menu." >> ${S}/boot.cfg + echo "# Items with highest priority will be shown at top of menu." >> ${S}/boot.cfg + echo "# Default: 0 (lowest, ordered by device ordering)" >> ${S}/boot.cfg + echo "#PRIORITY=10" >> ${S}/boot.cfg + echo "#" >> ${S}/boot.cfg } do_install () { - install -d ${D}/boot - install -m 0644 boot.cfg ${D}/boot/boot.cfg - - # old kexecboot versions < 0.52 were needing '/boot/kernel-cmdline' - # echo "${CMDLINE}"> ${D}/boot/kernel-cmdline + install -d ${D}/boot + install -m 0644 boot.cfg ${D}/boot/boot.cfg + install -m 0644 icon.xpm ${D}/boot/icon.xpm } diff --git a/recipes/kexecboot/kexecboot_0.4.bb b/recipes/kexecboot/kexecboot_0.4.bb deleted file mode 100644 index cf647a2c87..0000000000 --- a/recipes/kexecboot/kexecboot_0.4.bb +++ /dev/null @@ -1,13 +0,0 @@ -PR = "r6" - -SRC_URI = "http://kexecboot.home.linuxtogo.org/kexecboot-${PV}.tar.gz \ - file://add-reboot-option.patch;patch=1 \ - file://scan_devices-top.patch;patch=1 \ - file://graphical-no-devices.patch;patch=1 \ - file://switch-cursor-off.patch;patch=1 \ - file://add-sleep.patch;patch=1 \ - file://silent-output-hack.patch;patch=1 \ - file://kexecboot-tosa.patch;patch=1 \ - file://fb-render-16bit.patch;patch=1" - -require kexecboot.inc diff --git a/recipes/kexecboot/kexecboot_0.5.bb b/recipes/kexecboot/kexecboot_0.5.bb deleted file mode 100644 index 04ab2772b4..0000000000 --- a/recipes/kexecboot/kexecboot_0.5.bb +++ /dev/null @@ -1,5 +0,0 @@ -PR = "r1" - -SRC_URI = "http://kexecboot.home.linuxtogo.org/kexecboot-${PV}.tar.gz" - -require kexecboot.inc diff --git a/recipes/kexecboot/kexecboot_git.bb b/recipes/kexecboot/kexecboot_git.bb index 3f63276386..e7b0990cd4 100644 --- a/recipes/kexecboot/kexecboot_git.bb +++ b/recipes/kexecboot/kexecboot_git.bb @@ -2,20 +2,8 @@ PV = "0.5" PR = "r5+gitr${SRCREV}" SRC_URI = "git://git.linuxtogo.org/home/groups/kexecboot/kexecboot.git;protocol=git " - -# v0.52 (using boot.cfg and new screen layout) -# looking forward to the new 0.6 version SRCREV = "8daf258fc5d1e5eb6127285c63d66f31f05cf80d" -# v0.51 (pre cfg-files, using kernel-cmdline) -#SRCREV = "c5f17845f0f620adff854c2239a8aaa5d9942255" - -# v0.5 (add rescan / reboot) -#SRCREV = "8823a939a38a8a3287f90dee062e8ab8569f884f" - -# v0.4 (add bootlogo) -#SRCREV = "d7af5356df4f25203831403c69f1a263c163f31a" - S = "${WORKDIR}/git" require kexecboot.inc |