summaryrefslogtreecommitdiff
path: root/recipes/kexecboot
diff options
context:
space:
mode:
Diffstat (limited to 'recipes/kexecboot')
-rw-r--r--recipes/kexecboot/files/angstrom/icon.xpm39
-rw-r--r--recipes/kexecboot/files/icon.xpm43
-rw-r--r--recipes/kexecboot/kexecboot-0.4/add-reboot-option.patch41
-rw-r--r--recipes/kexecboot/kexecboot-0.4/add-sleep.patch12
-rw-r--r--recipes/kexecboot/kexecboot-0.4/fb-render-16bit.patch21
-rw-r--r--recipes/kexecboot/kexecboot-0.4/graphical-no-devices.patch20
-rw-r--r--recipes/kexecboot/kexecboot-0.4/kexecboot-tosa.patch24
-rw-r--r--recipes/kexecboot/kexecboot-0.4/scan_devices-top.patch39
-rw-r--r--recipes/kexecboot/kexecboot-0.4/silent-output-hack.patch79
-rw-r--r--recipes/kexecboot/kexecboot-0.4/switch-cursor-off.patch11
-rw-r--r--recipes/kexecboot/kexecboot-cfg_0.1.bb38
-rw-r--r--recipes/kexecboot/kexecboot_0.4.bb13
-rw-r--r--recipes/kexecboot/kexecboot_0.5.bb5
-rw-r--r--recipes/kexecboot/kexecboot_git.bb12
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