summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrans Meulenbroeks <fransmeulenbroeks@gmail.com>2009-01-27 23:59:57 +0100
committerFrans Meulenbroeks <fransmeulenbroeks@gmail.com>2009-01-27 23:59:57 +0100
commit11ce1c84e98a594caf7b501d8428c06a42c8e3c7 (patch)
treeb1c105ac5ce3a8657b5e5c2fa46a40f24a7bd49b
parentb4ce41c571c04d324e5bf67a1647277c467f5b99 (diff)
parentffee230ed0b6c49ef4a0b23bc850b843c429f19a (diff)
Merge branch 'org.openembedded.dev' of git@git.openembedded.net:openembedded into org.openembedded.dev
-rw-r--r--files/device_table-minimal.txt4
-rw-r--r--packages/gstreamer/gst-plugins-good_0.10.7.bb4
-rw-r--r--packages/kexecboot/files/angstrom/qvga/logo_linux_clut224.ppm.bz2bin0 -> 7355 bytes
-rw-r--r--packages/kexecboot/files/angstrom/vga/logo_linux_clut224.ppm.bz2bin0 -> 8663 bytes
-rw-r--r--packages/kexecboot/files/kexecboot-rewrite.patch344
-rw-r--r--packages/kexecboot/files/qvga/logo_linux_clut224.ppm.bz2bin0 -> 5547 bytes
-rw-r--r--packages/kexecboot/files/vga/logo_linux_clut224.ppm.bz2bin0 -> 6436 bytes
-rw-r--r--packages/kexecboot/initramfs-kexecboot-image.bb2
-rw-r--r--packages/kexecboot/initramfs-kexecboot_1.0.bb28
-rw-r--r--packages/kexecboot/kexecboot-0.4/add-reboot-option.patch41
-rw-r--r--packages/kexecboot/kexecboot-0.4/add-sleep.patch12
-rw-r--r--packages/kexecboot/kexecboot-0.4/graphical-no-devices.patch20
-rw-r--r--packages/kexecboot/kexecboot-0.4/scan_devices-top.patch39
-rw-r--r--packages/kexecboot/kexecboot-0.4/silent-output-hack.patch79
-rw-r--r--packages/kexecboot/kexecboot-0.4/switch-cursor-off.patch11
-rw-r--r--packages/kexecboot/kexecboot_0.3.bb21
-rw-r--r--packages/kexecboot/kexecboot_0.4.bb41
-rw-r--r--packages/kexecboot/linux-kexecboot-2.6.23/akita/defconfig3
-rw-r--r--packages/kexecboot/linux-kexecboot-2.6.23/c7x0/defconfig5
-rw-r--r--packages/kexecboot/linux-kexecboot-2.6.23/spitz/defconfig10
-rw-r--r--packages/kexecboot/linux-kexecboot-2.6.24/akita/defconfig9
-rw-r--r--packages/kexecboot/linux-kexecboot-2.6.24/c7x0/defconfig9
-rw-r--r--packages/kexecboot/linux-kexecboot-2.6.24/spitz/defconfig9
-rw-r--r--packages/kexecboot/linux-kexecboot-2.6.26/akita/defconfig11
-rw-r--r--packages/kexecboot/linux-kexecboot-2.6.26/c7x0/defconfig11
-rw-r--r--packages/kexecboot/linux-kexecboot-2.6.26/spitz/defconfig32
-rw-r--r--packages/kexecboot/linux-kexecboot.inc12
-rw-r--r--packages/kexecboot/linux-kexecboot_2.6.24.bb4
-rw-r--r--packages/kexecboot/linux-kexecboot_2.6.26.bb6
29 files changed, 316 insertions, 451 deletions
diff --git a/files/device_table-minimal.txt b/files/device_table-minimal.txt
index e75db89e96..f134b11710 100644
--- a/files/device_table-minimal.txt
+++ b/files/device_table-minimal.txt
@@ -35,4 +35,8 @@
/dev/mmcblk0p1 b 660 0 6 179 1 - - -
/dev/mmcblk0p2 b 660 0 6 179 2 - - -
/dev/mmcblk0p3 b 660 0 6 179 3 - - -
+/dev/mmcblk0p4 b 660 0 6 179 4 - - -
+/dev/mmcblk0p5 b 660 0 6 179 5 - - -
+/dev/mmcblk0p6 b 660 0 6 179 6 - - -
+/dev/mmcblk0p7 b 660 0 6 179 7 - - -
/dev/event0 c 660 0 0 13 64 - - -
diff --git a/packages/gstreamer/gst-plugins-good_0.10.7.bb b/packages/gstreamer/gst-plugins-good_0.10.7.bb
index 983a123b63..7b7c3d71bb 100644
--- a/packages/gstreamer/gst-plugins-good_0.10.7.bb
+++ b/packages/gstreamer/gst-plugins-good_0.10.7.bb
@@ -1,10 +1,10 @@
require gst-plugins.inc
-PR = "r4"
+PR = "r5"
inherit gconf
EXTRA_OECONF += " --enable-experimental --enable-gst_v4l2 --enable-gconftool --enable-external --with-check=no"
-DEPENDS += "gst-plugins-base esound"
+DEPENDS += "jpeg libtheora gst-plugins-base esound"
PACKAGES =+ "gst-plugin-gconfelements"
FILES_gst-plugin-gconfelements += "${sysconfdir}/gconf"
diff --git a/packages/kexecboot/files/angstrom/qvga/logo_linux_clut224.ppm.bz2 b/packages/kexecboot/files/angstrom/qvga/logo_linux_clut224.ppm.bz2
new file mode 100644
index 0000000000..08ae02aae3
--- /dev/null
+++ b/packages/kexecboot/files/angstrom/qvga/logo_linux_clut224.ppm.bz2
Binary files differ
diff --git a/packages/kexecboot/files/angstrom/vga/logo_linux_clut224.ppm.bz2 b/packages/kexecboot/files/angstrom/vga/logo_linux_clut224.ppm.bz2
new file mode 100644
index 0000000000..3b409b0ce1
--- /dev/null
+++ b/packages/kexecboot/files/angstrom/vga/logo_linux_clut224.ppm.bz2
Binary files differ
diff --git a/packages/kexecboot/files/kexecboot-rewrite.patch b/packages/kexecboot/files/kexecboot-rewrite.patch
deleted file mode 100644
index 4f252061ab..0000000000
--- a/packages/kexecboot/files/kexecboot-rewrite.patch
+++ /dev/null
@@ -1,344 +0,0 @@
---- kexecboot-0.3.orig/kexecboot.h 2008-09-03 02:35:40.000000000 +0400
-+++ kexecboot-0.3/kexecboot.h 2008-09-03 02:36:04.000000000 +0400
-@@ -24,6 +24,10 @@
- #include <string.h>
- #include <linux/input.h>
- #include <termios.h>
-+#include <unistd.h>
-+#include <signal.h>
-+#include <sys/wait.h>
-+#include <ctype.h>
- #include "fb.h"
- #include "devicescan.h"
- #include "res/logo-img.h"
-@@ -33,4 +37,14 @@
- #include "res/memory-img.h"
- #include "res/radeon-font.h"
-
-+/* Macro for dealing with NULL strings */
-+#define strlenn(s) ( (NULL != s) ? (strlen(s)) : 0 )
-+
-+/* Tags we want from /proc/cmdline */
-+char *wanted_tags[] = {
-+ "mtdparts",
-+ NULL
-+};
-+
-+
- #endif
---- kexecboot-0.3.orig/kexecboot.c 2008-09-03 02:35:40.000000000 +0400
-+++ kexecboot-0.3/kexecboot.c 2008-09-03 03:33:05.000000000 +0400
-@@ -78,20 +78,293 @@
- fb_render(fb);
- }
-
-+/*
-+ * Function: get_extra_cmdline()
-+ * It gets wanted tags from original cmdline.
-+ * Takes 2 args:
-+ * - extra_cmdline - buffer to store cmdline parameters;
-+ * - extra_cmdline_size - size of buffer
-+ * (inc. terminating '\0').
-+ * Return values:
-+ * - length of extra_cmdline on success (w/o term. zero);
-+ * - -1 on error;
-+ * - (- length of extra_cmdline - 1) on insufficient buffer space.
-+ */
-+
-+int get_extra_cmdline(char *const extra_cmdline, const size_t extra_cmdline_size)
-+{
-+ char *p, *t, *tag = NULL;
-+ char line[COMMAND_LINE_SIZE];
-+ int i, len, sp_size;
-+ int sum_len = 0;
-+ int wanted_tag_found = 0;
-+ int overflow = 0;
-+
-+ const char proc_cmdline_path[] = "/proc/cmdline";
-+
-+ /* Open /proc/cmdline and read cmdline */
-+ FILE *f = fopen(proc_cmdline_path, "r");
-+ if (NULL == f) {
-+ perror("Can't open /proc/cmdline");
-+ return -1;
-+ }
-+
-+ if ( NULL == fgets(line, sizeof(line), f) ) {
-+ perror("Can't read /proc/cmdline");
-+ fclose(f);
-+ return -1;
-+ }
-+
-+ fclose(f);
-+
-+ /* clean up buffer before parsing */
-+ t = extra_cmdline;
-+ *t = '\0';
-+
-+ p = line-1; /* because of ++p below */
-+
-+ sp_size = 0; /* size of (first) space */
-+
-+ do {
-+ ++p;
-+
-+ if ( (NULL == tag) && (isalnum(*p)) ) {
-+ /* new tag found */
-+ tag = p;
-+ } else if (tag) {
-+ /* we are working on some tag */
-+
-+ if (isspace(*p) || ('\0' == *p) || ('=' == *p) ) {
-+ /* end of tag or '=' found */
-+
-+ if (!wanted_tag_found) {
-+ /* search in wanted_tags */
-+ for (i = 0; wanted_tags[i] != NULL; i++) {
-+ if ( 0 == strncmp(wanted_tags[i], tag, p-tag) ) {
-+ /* match found */
-+ wanted_tag_found = 1;
-+ break;
-+ }
-+ }
-+ }
-+
-+ if ( ('=' != *p) && wanted_tag_found ) {
-+ /* end of wanted tag found -> copy */
-+
-+ len = p - tag;
-+ if ( (sum_len + len + sp_size) < extra_cmdline_size ) {
-+ if (sp_size) {
-+ /* prepend space when have tags already */
-+ *t = ' ';
-+ ++t;
-+ *t = '\0';
-+ ++sum_len;
-+ } else {
-+ sp_size = sizeof(char);
-+ }
-+
-+ /* NOTE: tag is not null-terminated so copy only
-+ * len chars and terminate it directly
-+ */
-+ strncpy(t, tag, len);
-+ /* move pointer to position after copied tag */
-+ t += len ;
-+ /* null-terminate */
-+ *t = '\0';
-+ /* update summary length */
-+ sum_len += len;
-+ } else {
-+ /* we have no space - skip this tag */
-+ overflow = 1;
-+ }
-+
-+ /* reset wanted_tag_found */
-+ wanted_tag_found = 0;
-+ }
-+
-+ /* reset tag */
-+ if (!wanted_tag_found) tag = NULL;
-+
-+ }
-+ }
-+
-+ } while ('\0' != *p);
-+
-+ if (overflow) return -sum_len-1;
-+ return sum_len;
-+}
-+
-+/*
-+ * Function: kexec_execw()
-+ * (execve and wait)
-+ * kexecboot's replace of system() call without /bin/sh invocation.
-+ * During execution of the command, SIGCHLD will be blocked,
-+ * and SIGINT and SIGQUIT will be ignored (like system() does).
-+ * Takes 2 args (execve()-like):
-+ * - path - full path to executable file
-+ * - argv[] - array of args for executed file (command options e.g.)
-+ * - envp[] - array of environment strings ("key=value")
-+ * Return value:
-+ * - command exit status on success
-+ * - -1 on error (e.g. fork() failed)
-+ */
-+int kexec_execw(const char *path, char *const argv[], char *const envp[])
-+{
-+ pid_t pid;
-+ struct sigaction ignore, old_int, old_quit;
-+ sigset_t masked, oldmask;
-+ int status;
-+
-+ /* Block SIGCHLD and ignore SIGINT and SIGQUIT */
-+ /* Do this before the fork() to avoid races */
-+
-+ ignore.sa_handler = SIG_IGN;
-+ sigemptyset(&ignore.sa_mask);
-+ ignore.sa_flags = 0;
-+ sigaction(SIGINT, &ignore, &old_int);
-+ sigaction(SIGQUIT, &ignore, &old_quit);
-+
-+ sigemptyset(&masked);
-+ sigaddset(&masked, SIGCHLD);
-+ sigprocmask(SIG_BLOCK, &masked, &oldmask);
-+
-+ pid = fork();
-+
-+ if (pid < 0)
-+ /* can't fork */
-+ return -1;
-+ else if (pid == 0) {
-+ /* it is child */
-+ sigaction(SIGINT, &old_int, NULL);
-+ sigaction(SIGQUIT, &old_quit, NULL);
-+ sigprocmask(SIG_SETMASK, &oldmask, NULL);
-+
-+ /* replace child with executed file */
-+ execve(path, (char *const *)argv, (char *const *)envp);
-+ /* should not happens but... */
-+ _exit(127);
-+ }
-+
-+ /* it is parent */
-+
-+ /* wait for our child and store status */
-+ waitpid(pid, &status, 0);
-+
-+ /* restore signal handlers */
-+ sigaction(SIGINT, &old_int, NULL);
-+ sigaction(SIGQUIT, &old_quit, NULL);
-+ sigprocmask(SIG_SETMASK, &oldmask, NULL);
-+
-+ return status;
-+}
-+
- void start_kernel(struct boot *boot)
- {
-- //kexec --command-line="CMDLINE" -l /mnt/boot/zImage
-- char command[COMMAND_LINE_SIZE + 60];
-- mount(boot->device, "/mnt", boot->fstype, MS_RDONLY, NULL);
-- if( boot->cmdline )
-- sprintf(command,"/usr/sbin/kexec --command-line=\"%s root=%s rootfstype=%s\" -l %s",
-- boot->cmdline, boot->device, boot->fstype, boot->kernelpath);
-- else
-- sprintf(command,"kexec -l %s", boot->kernelpath);
-- system(command);
--// puts(command);
-- umount("/mnt");
-- system("/usr/sbin/kexec -e");
-+ /* we use var[] instead of *var because sizeof(var) using */
-+ const char mount_point[] = "/mnt";
-+ const char kexec_path[] = "/usr/sbin/kexec";
-+
-+ const char str_cmdline_start[] = "--command-line=";
-+ const char str_root[] = " root=";
-+ const char str_rootfstype[] = " rootfstype=";
-+ const char str_rootwait[] = " rootwait";
-+
-+ /* empty environment */
-+ char *const envp[] = { NULL };
-+
-+ const char *kexec_load_argv[] = { NULL, "-l", NULL, NULL, NULL };
-+ const char *kexec_exec_argv[] = { NULL, "-e", NULL};
-+
-+ char extra_cmdline_buffer[COMMAND_LINE_SIZE];
-+ char *extra_cmdline, *cmdline_arg = NULL;
-+ int n, idx;
-+
-+ kexec_exec_argv[0] = kexec_path;
-+ kexec_load_argv[0] = kexec_path;
-+
-+ /* --command-line arg generation */
-+ idx = 2; /* kexec_load_argv current option index */
-+
-+ /* get some parts of cmdline from boot loader (e.g. mtdparts) */
-+ n = get_extra_cmdline( extra_cmdline_buffer,
-+ sizeof(extra_cmdline_buffer) );
-+ if ( -1 == n ) {
-+ /* clean up extra_cmdline on error */
-+ extra_cmdline = NULL;
-+/* } else if ( n < -1 ) { */
-+ /* Do something when we have no space to get all wanted tags */
-+ /* Now do nothing ;) */
-+ } else {
-+ extra_cmdline = extra_cmdline_buffer;
-+ }
-+
-+ /* fill '--command-line' option */
-+ if (boot->cmdline || extra_cmdline || boot->device) {
-+ /* allocate space */
-+ n = strlenn(str_cmdline_start) + strlenn(boot->cmdline) +
-+ sizeof(char) + strlenn(extra_cmdline) +
-+ strlenn(str_root) + strlenn(boot->device) +
-+ strlenn(str_rootfstype) + strlenn(boot->fstype) +
-+ strlenn(str_rootwait) + sizeof(char);
-+
-+ cmdline_arg = (char *)malloc(n);
-+ if (NULL == cmdline_arg) {
-+ perror("Can't allocate memory for cmdline_arg");
-+ /* Should we exit?
-+ exit(-1);
-+ */
-+ } else {
-+ strcat(cmdline_arg, str_cmdline_start);
-+ if (extra_cmdline)
-+ strcat(cmdline_arg, extra_cmdline);
-+ if (boot->cmdline && extra_cmdline)
-+ strcat(cmdline_arg, " ");
-+ if (boot->cmdline)
-+ strcat(cmdline_arg, boot->cmdline);
-+ if (boot->device) {
-+ strcat(cmdline_arg, str_root);
-+ strcat(cmdline_arg, boot->device);
-+ if (boot->fstype) {
-+ strcat(cmdline_arg, str_rootfstype);
-+ strcat(cmdline_arg, boot->fstype);
-+ }
-+ }
-+ strcat(cmdline_arg, str_rootwait);
-+
-+ kexec_load_argv[idx] = cmdline_arg;
-+ ++idx;
-+ }
-+ }
-+
-+ /* Append kernelpath as last arg of kexec */
-+ kexec_load_argv[idx] = boot->kernelpath;
-+
-+ /* Debug
-+ fprintf(stderr, "%s\n%s\n%s\n%s\n", kexec_load_argv[0],
-+ kexec_load_argv[1], kexec_load_argv[2],
-+ kexec_load_argv[3]); */
-+
-+ /* Mount boot device */
-+ if ( -1 == mount(boot->device, mount_point, boot->fstype,
-+ MS_RDONLY, NULL) ) {
-+ perror("Can't mount boot device");
-+ exit(-1);
-+ }
-+
-+ /* Load kernel */
-+ n = kexec_execw(kexec_path, (char *const *)kexec_load_argv, envp);
-+ if (-1 == n) {
-+ perror("Kexec can't load kernel");
-+ exit(-1);
-+ }
-+
-+ if (cmdline_arg)
-+ free(cmdline_arg);
-+
-+ umount(mount_point);
-+
-+ /* Boot new kernel */
-+ execve(kexec_path, (char *const *)kexec_exec_argv, envp);
- }
-
- int main(int argc, char **argv)
-@@ -219,5 +492,6 @@
- tcsetattr(fileno(stdin), TCSANOW, &old);
- fb_destroy(fb);
- start_kernel(bl->list[choice]);
-- return 0;
-+ /* When we reach this point then some error was occured */
-+ return -1;
- }
diff --git a/packages/kexecboot/files/qvga/logo_linux_clut224.ppm.bz2 b/packages/kexecboot/files/qvga/logo_linux_clut224.ppm.bz2
new file mode 100644
index 0000000000..ddc39a3c64
--- /dev/null
+++ b/packages/kexecboot/files/qvga/logo_linux_clut224.ppm.bz2
Binary files differ
diff --git a/packages/kexecboot/files/vga/logo_linux_clut224.ppm.bz2 b/packages/kexecboot/files/vga/logo_linux_clut224.ppm.bz2
new file mode 100644
index 0000000000..c3aeaac183
--- /dev/null
+++ b/packages/kexecboot/files/vga/logo_linux_clut224.ppm.bz2
Binary files differ
diff --git a/packages/kexecboot/initramfs-kexecboot-image.bb b/packages/kexecboot/initramfs-kexecboot-image.bb
index 3fd1088b7d..6c3a76bf78 100644
--- a/packages/kexecboot/initramfs-kexecboot-image.bb
+++ b/packages/kexecboot/initramfs-kexecboot-image.bb
@@ -6,5 +6,5 @@ inherit image
export IMAGE_BASENAME = "initramfs-kexecboot-image"
-IMAGE_INSTALL = "initramfs-kexecboot"
+IMAGE_INSTALL = "kexecboot"
IMAGE_LINGUAS = ""
diff --git a/packages/kexecboot/initramfs-kexecboot_1.0.bb b/packages/kexecboot/initramfs-kexecboot_1.0.bb
deleted file mode 100644
index a6450b0bfb..0000000000
--- a/packages/kexecboot/initramfs-kexecboot_1.0.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-DESCRIPTON = "A init script that mounts a device and kexecs a new kernel from it."
-PR = "r8"
-RDEPENDS = "kexecboot klibc-utils-static-mount klibc-utils-static-sh klibc-utils-static-sleep"
-
-FBANGLE = "270"
-FBANGLE_c7x0 = "0"
-INPUTDEV = "/dev/event0"
-
-
-do_compile() {
- cat > init.sh << EOF
-#!/bin/sh
-/bin/sleep 3
-/bin/mount -t proc proc /proc
-echo "0 4 1 7" > /proc/sys/kernel/printk
-/usr/bin/kexecboot -a ${FBANGLE} -i ${INPUTDEV}
-EOF
-}
-
-do_install() {
- install -m 0755 ${S}/init.sh ${D}/init
- install -d ${D}/proc
- install -d ${D}/mnt
-}
-
-PACKAGE_ARCH = "all"
-
-FILES_${PN} = "/init /proc /mnt"
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"
diff --git a/packages/kexecboot/kexecboot-0.4/add-sleep.patch b/packages/kexecboot/kexecboot-0.4/add-sleep.patch
new file mode 100644
index 0000000000..8f41b0ef10
--- /dev/null
+++ b/packages/kexecboot/kexecboot-0.4/add-sleep.patch
@@ -0,0 +1,12 @@
+--- 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/packages/kexecboot/kexecboot-0.4/graphical-no-devices.patch b/packages/kexecboot/kexecboot-0.4/graphical-no-devices.patch
new file mode 100644
index 0000000000..b2cb214894
--- /dev/null
+++ b/packages/kexecboot/kexecboot-0.4/graphical-no-devices.patch
@@ -0,0 +1,20 @@
+--- 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/packages/kexecboot/kexecboot-0.4/scan_devices-top.patch b/packages/kexecboot/kexecboot-0.4/scan_devices-top.patch
new file mode 100644
index 0000000000..6b21d03a3d
--- /dev/null
+++ b/packages/kexecboot/kexecboot-0.4/scan_devices-top.patch
@@ -0,0 +1,39 @@
+--- 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/packages/kexecboot/kexecboot-0.4/silent-output-hack.patch b/packages/kexecboot/kexecboot-0.4/silent-output-hack.patch
new file mode 100644
index 0000000000..abe8e84dd1
--- /dev/null
+++ b/packages/kexecboot/kexecboot-0.4/silent-output-hack.patch
@@ -0,0 +1,79 @@
+--- 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/packages/kexecboot/kexecboot-0.4/switch-cursor-off.patch b/packages/kexecboot/kexecboot-0.4/switch-cursor-off.patch
new file mode 100644
index 0000000000..632cc6a01c
--- /dev/null
+++ b/packages/kexecboot/kexecboot-0.4/switch-cursor-off.patch
@@ -0,0 +1,11 @@
+--- 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/packages/kexecboot/kexecboot_0.3.bb b/packages/kexecboot/kexecboot_0.3.bb
deleted file mode 100644
index f94e31b4e2..0000000000
--- a/packages/kexecboot/kexecboot_0.3.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-LICENSE = "GPL"
-PR = "r2"
-DEPENDS = "klibc"
-RDEPENDS = "kexec-static"
-
-inherit autotools
-
-# You can create your own *-img.h by doing
-# ./make-image-header.sh <file>.png HAND
-
-SRC_URI = "http://projects.linuxtogo.org/frs/download.php/221/kexecboot-${PV}.tar.gz \
- file://kexecboot-rewrite.patch;patch=1"
-
-S = "${WORKDIR}/kexecboot-${PV}"
-
-export CC=${TARGET_PREFIX}klcc
-
-# standart oe cflags don't work with klcc
-export CFLAGS = ""
-export CPPFLAGS = ""
-export LDFLAGS = ""
diff --git a/packages/kexecboot/kexecboot_0.4.bb b/packages/kexecboot/kexecboot_0.4.bb
new file mode 100644
index 0000000000..557c5be4b3
--- /dev/null
+++ b/packages/kexecboot/kexecboot_0.4.bb
@@ -0,0 +1,41 @@
+LICENSE = "GPL"
+PR = "r0"
+DEPENDS = "klibc"
+RDEPENDS = "kexec-static"
+
+inherit autotools
+
+# You can create your own *-img.h by doing
+# ./make-image-header.sh <file>.png HAND
+
+SRC_URI = "http://projects.linuxtogo.org/~jay7/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 \
+ "
+
+S = "${WORKDIR}/kexecboot-${PV}"
+
+export CC=${TARGET_PREFIX}klcc
+
+# standard oe cflags don't work with klcc
+export CFLAGS = ""
+export CPPFLAGS = ""
+export LDFLAGS = ""
+
+do_install () {
+ install -d ${D}${bindir}
+ install -m 0755 kexecboot ${D}${bindir}/
+
+ install -d ${D}/proc
+ install -d ${D}/mnt
+}
+
+FILES_${PN} += " ${bindir}/kexecboot /init /proc /mnt"
+
+pkg_postinst_${PN} () {
+ ln -sf ${bindir}/kexecboot $D/init
+}
diff --git a/packages/kexecboot/linux-kexecboot-2.6.23/akita/defconfig b/packages/kexecboot/linux-kexecboot-2.6.23/akita/defconfig
index ddc7ba01b1..67b8f9ca54 100644
--- a/packages/kexecboot/linux-kexecboot-2.6.23/akita/defconfig
+++ b/packages/kexecboot/linux-kexecboot-2.6.23/akita/defconfig
@@ -1079,8 +1079,7 @@ CONFIG_FONT_8x16=y
CONFIG_LOGO=y
CONFIG_LOGO_LINUX_MONO=y
CONFIG_LOGO_LINUX_VGA16=y
-# CONFIG_LOGO_LINUX_CLUT224 is not set
-CONFIG_LOGO_OHAND_CLUT224=y
+CONFIG_LOGO_LINUX_CLUT224=y
#
# Sound
diff --git a/packages/kexecboot/linux-kexecboot-2.6.23/c7x0/defconfig b/packages/kexecboot/linux-kexecboot-2.6.23/c7x0/defconfig
index a541a10e7c..7afd558d31 100644
--- a/packages/kexecboot/linux-kexecboot-2.6.23/c7x0/defconfig
+++ b/packages/kexecboot/linux-kexecboot-2.6.23/c7x0/defconfig
@@ -657,7 +657,10 @@ CONFIG_FONT_8x16=y
# CONFIG_FONT_SUN8x16 is not set
# CONFIG_FONT_SUN12x22 is not set
# CONFIG_FONT_10x18 is not set
-# CONFIG_LOGO is not set
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
#
# Sound
diff --git a/packages/kexecboot/linux-kexecboot-2.6.23/spitz/defconfig b/packages/kexecboot/linux-kexecboot-2.6.23/spitz/defconfig
index d3512f2a4b..874e8b7a5e 100644
--- a/packages/kexecboot/linux-kexecboot-2.6.23/spitz/defconfig
+++ b/packages/kexecboot/linux-kexecboot-2.6.23/spitz/defconfig
@@ -1078,13 +1078,9 @@ CONFIG_FONT_8x16=y
# CONFIG_FONT_SUN12x22 is not set
# CONFIG_FONT_10x18 is not set
CONFIG_LOGO=y
-CONFIG_LOGO_LINUX_MONO=y
-CONFIG_LOGO_LINUX_VGA16=y
-# CONFIG_LOGO_LINUX_CLUT224 is not set
-CONFIG_LOGO_OHAND_CLUT224=y
-# CONFIG_LOGO_OZ240_CLUT224 is not set
-# CONFIG_LOGO_OZ480_CLUT224 is not set
-# CONFIG_LOGO_OZ640_CLUT224 is not set
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
#
# Sound
diff --git a/packages/kexecboot/linux-kexecboot-2.6.24/akita/defconfig b/packages/kexecboot/linux-kexecboot-2.6.24/akita/defconfig
index 229dfd410b..7ea31cb7d4 100644
--- a/packages/kexecboot/linux-kexecboot-2.6.24/akita/defconfig
+++ b/packages/kexecboot/linux-kexecboot-2.6.24/akita/defconfig
@@ -675,16 +675,19 @@ CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_FONTS=y
# CONFIG_FONT_8x8 is not set
-# CONFIG_FONT_8x16 is not set
+CONFIG_FONT_8x16=y
# CONFIG_FONT_6x11 is not set
# CONFIG_FONT_7x14 is not set
# CONFIG_FONT_PEARL_8x8 is not set
# CONFIG_FONT_ACORN_8x8 is not set
-CONFIG_FONT_MINI_4x6=y
+# CONFIG_FONT_MINI_4x6 is not set
# CONFIG_FONT_SUN8x16 is not set
# CONFIG_FONT_SUN12x22 is not set
# CONFIG_FONT_10x18 is not set
-# CONFIG_LOGO is not set
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
#
# Sound
diff --git a/packages/kexecboot/linux-kexecboot-2.6.24/c7x0/defconfig b/packages/kexecboot/linux-kexecboot-2.6.24/c7x0/defconfig
index c2a60f2f8e..77a9c62e3a 100644
--- a/packages/kexecboot/linux-kexecboot-2.6.24/c7x0/defconfig
+++ b/packages/kexecboot/linux-kexecboot-2.6.24/c7x0/defconfig
@@ -676,16 +676,19 @@ CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_FONTS=y
# CONFIG_FONT_8x8 is not set
-# CONFIG_FONT_8x16 is not set
+CONFIG_FONT_8x16=y
# CONFIG_FONT_6x11 is not set
# CONFIG_FONT_7x14 is not set
# CONFIG_FONT_PEARL_8x8 is not set
# CONFIG_FONT_ACORN_8x8 is not set
-CONFIG_FONT_MINI_4x6=y
+# CONFIG_FONT_MINI_4x6 is not set
# CONFIG_FONT_SUN8x16 is not set
# CONFIG_FONT_SUN12x22 is not set
# CONFIG_FONT_10x18 is not set
-# CONFIG_LOGO is not set
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
#
# Sound
diff --git a/packages/kexecboot/linux-kexecboot-2.6.24/spitz/defconfig b/packages/kexecboot/linux-kexecboot-2.6.24/spitz/defconfig
index 91f877857b..c63b1d8738 100644
--- a/packages/kexecboot/linux-kexecboot-2.6.24/spitz/defconfig
+++ b/packages/kexecboot/linux-kexecboot-2.6.24/spitz/defconfig
@@ -675,16 +675,19 @@ CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_FONTS=y
# CONFIG_FONT_8x8 is not set
-# CONFIG_FONT_8x16 is not set
+CONFIG_FONT_8x16=y
# CONFIG_FONT_6x11 is not set
# CONFIG_FONT_7x14 is not set
# CONFIG_FONT_PEARL_8x8 is not set
# CONFIG_FONT_ACORN_8x8 is not set
-CONFIG_FONT_MINI_4x6=y
+# CONFIG_FONT_MINI_4x6=y
# CONFIG_FONT_SUN8x16 is not set
# CONFIG_FONT_SUN12x22 is not set
# CONFIG_FONT_10x18 is not set
-# CONFIG_LOGO is not set
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
#
# Sound
diff --git a/packages/kexecboot/linux-kexecboot-2.6.26/akita/defconfig b/packages/kexecboot/linux-kexecboot-2.6.26/akita/defconfig
index 0c9d323a77..305d935691 100644
--- a/packages/kexecboot/linux-kexecboot-2.6.26/akita/defconfig
+++ b/packages/kexecboot/linux-kexecboot-2.6.26/akita/defconfig
@@ -226,16 +226,16 @@ CONFIG_SHARP_SCOOP=y
#
# CONFIG_PCI_SYSCALL is not set
# CONFIG_ARCH_SUPPORTS_MSI is not set
-CONFIG_PCCARD=m
+CONFIG_PCCARD=y
# CONFIG_PCMCIA_DEBUG is not set
-CONFIG_PCMCIA=m
+CONFIG_PCMCIA=y
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_PCMCIA_IOCTL=y
#
# PC-card bridges
#
-CONFIG_PCMCIA_PXA2XX=m
+CONFIG_PCMCIA_PXA2XX=y
#
# Kernel Features
@@ -430,7 +430,7 @@ CONFIG_BLK_DEV_IDE=y
# CONFIG_BLK_DEV_IDE_SATA is not set
CONFIG_BLK_DEV_IDEDISK=y
# CONFIG_IDEDISK_MULTI_MODE is not set
-CONFIG_BLK_DEV_IDECS=m
+CONFIG_BLK_DEV_IDECS=y
# CONFIG_BLK_DEV_IDECD is not set
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
@@ -810,8 +810,7 @@ CONFIG_FONT_8x16=y
CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
-# CONFIG_LOGO_LINUX_CLUT224 is not set
-CONFIG_LOGO_OHAND_CLUT224=y
+CONFIG_LOGO_LINUX_CLUT224=y
#
# Sound
diff --git a/packages/kexecboot/linux-kexecboot-2.6.26/c7x0/defconfig b/packages/kexecboot/linux-kexecboot-2.6.26/c7x0/defconfig
index 7724d613c2..875c20dc18 100644
--- a/packages/kexecboot/linux-kexecboot-2.6.26/c7x0/defconfig
+++ b/packages/kexecboot/linux-kexecboot-2.6.26/c7x0/defconfig
@@ -228,16 +228,16 @@ CONFIG_SHARP_SCOOP=y
#
# CONFIG_PCI_SYSCALL is not set
# CONFIG_ARCH_SUPPORTS_MSI is not set
-CONFIG_PCCARD=m
+CONFIG_PCCARD=y
# CONFIG_PCMCIA_DEBUG is not set
-CONFIG_PCMCIA=m
+CONFIG_PCMCIA=y
CONFIG_PCMCIA_LOAD_CIS=y
CONFIG_PCMCIA_IOCTL=y
#
# PC-card bridges
#
-CONFIG_PCMCIA_PXA2XX=m
+CONFIG_PCMCIA_PXA2XX=y
#
# Kernel Features
@@ -447,7 +447,7 @@ CONFIG_BLK_DEV_IDE=y
# CONFIG_BLK_DEV_IDE_SATA is not set
CONFIG_BLK_DEV_IDEDISK=y
# CONFIG_IDEDISK_MULTI_MODE is not set
-CONFIG_BLK_DEV_IDECS=m
+CONFIG_BLK_DEV_IDECS=y
# CONFIG_BLK_DEV_IDECD is not set
# CONFIG_BLK_DEV_IDETAPE is not set
# CONFIG_BLK_DEV_IDEFLOPPY is not set
@@ -823,8 +823,7 @@ CONFIG_FONT_8x16=y
CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
-# CONFIG_LOGO_LINUX_CLUT224 is not set
-CONFIG_LOGO_OHAND_CLUT224=y
+CONFIG_LOGO_LINUX_CLUT224=y
#
# Sound
diff --git a/packages/kexecboot/linux-kexecboot-2.6.26/spitz/defconfig b/packages/kexecboot/linux-kexecboot-2.6.26/spitz/defconfig
index c7c6442c09..898319f417 100644
--- a/packages/kexecboot/linux-kexecboot-2.6.26/spitz/defconfig
+++ b/packages/kexecboot/linux-kexecboot-2.6.26/spitz/defconfig
@@ -328,20 +328,21 @@ CONFIG_FW_LOADER=y
# CONFIG_DEBUG_DRIVER is not set
# CONFIG_DEBUG_DEVRES is not set
# CONFIG_SYS_HYPERVISOR is not set
-CONFIG_MTD=m
+CONFIG_MTD=y
# CONFIG_MTD_DEBUG is not set
# CONFIG_MTD_CONCAT is not set
CONFIG_MTD_PARTITIONS=y
# CONFIG_MTD_REDBOOT_PARTS is not set
+CONFIG_MTD_CMDLINE_PARTS=y
# CONFIG_MTD_AFS_PARTS is not set
# CONFIG_MTD_AR7_PARTS is not set
#
# User Modules And Translation Layers
#
-CONFIG_MTD_CHAR=m
-CONFIG_MTD_BLKDEVS=m
-CONFIG_MTD_BLOCK=m
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
# CONFIG_MTD_BLOCK_RO is not set
# CONFIG_FTL is not set
# CONFIG_NFTL is not set
@@ -366,7 +367,7 @@ CONFIG_MTD_CFI_I2=y
# CONFIG_MTD_CFI_I4 is not set
# CONFIG_MTD_CFI_I8 is not set
# CONFIG_MTD_RAM is not set
-CONFIG_MTD_ROM=m
+CONFIG_MTD_ROM=y
# CONFIG_MTD_ABSENT is not set
#
@@ -374,7 +375,7 @@ CONFIG_MTD_ROM=m
#
CONFIG_MTD_COMPLEX_MAPPINGS=y
# CONFIG_MTD_PHYSMAP is not set
-CONFIG_MTD_SHARP_SL=m
+CONFIG_MTD_SHARP_SL=y
# CONFIG_MTD_PLATRAM is not set
#
@@ -391,14 +392,14 @@ CONFIG_MTD_SHARP_SL=m
# CONFIG_MTD_DOC2000 is not set
# CONFIG_MTD_DOC2001 is not set
# CONFIG_MTD_DOC2001PLUS is not set
-CONFIG_MTD_NAND=m
+CONFIG_MTD_NAND=y
CONFIG_MTD_NAND_VERIFY_WRITE=y
# CONFIG_MTD_NAND_ECC_SMC is not set
# CONFIG_MTD_NAND_MUSEUM_IDS is not set
# CONFIG_MTD_NAND_H1900 is not set
-CONFIG_MTD_NAND_IDS=m
+CONFIG_MTD_NAND_IDS=y
# CONFIG_MTD_NAND_DISKONCHIP is not set
-CONFIG_MTD_NAND_SHARPSL=m
+CONFIG_MTD_NAND_SHARPSL=y
# CONFIG_MTD_NAND_NANDSIM is not set
# CONFIG_MTD_NAND_PLATFORM is not set
# CONFIG_MTD_ALAUDA is not set
@@ -810,8 +811,7 @@ CONFIG_FONT_8x16=y
CONFIG_LOGO=y
# CONFIG_LOGO_LINUX_MONO is not set
# CONFIG_LOGO_LINUX_VGA16 is not set
-# CONFIG_LOGO_LINUX_CLUT224 is not set
-CONFIG_LOGO_OHAND_CLUT224=y
+CONFIG_LOGO_LINUX_CLUT224=y
#
# Sound
@@ -1233,7 +1233,7 @@ CONFIG_TMPFS=y
# CONFIG_BEFS_FS is not set
# CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set
-CONFIG_JFFS2_FS=m
+CONFIG_JFFS2_FS=y
CONFIG_JFFS2_FS_DEBUG=0
CONFIG_JFFS2_FS_WRITEBUFFER=y
# CONFIG_JFFS2_FS_WBUF_VERIFY is not set
@@ -1465,10 +1465,10 @@ CONFIG_CRC_CCITT=y
CONFIG_CRC32=y
# CONFIG_CRC7 is not set
CONFIG_LIBCRC32C=m
-CONFIG_ZLIB_INFLATE=m
-CONFIG_ZLIB_DEFLATE=m
-CONFIG_LZO_COMPRESS=m
-CONFIG_LZO_DECOMPRESS=m
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+CONFIG_LZO_COMPRESS=y
+CONFIG_LZO_DECOMPRESS=y
CONFIG_PLIST=y
CONFIG_HAS_IOMEM=y
CONFIG_HAS_IOPORT=y
diff --git a/packages/kexecboot/linux-kexecboot.inc b/packages/kexecboot/linux-kexecboot.inc
index 7a899f189b..1985ae4a8c 100644
--- a/packages/kexecboot/linux-kexecboot.inc
+++ b/packages/kexecboot/linux-kexecboot.inc
@@ -1,7 +1,10 @@
-require packages/linux/linux.inc
-
SRC_URI = "file://defconfig"
+LOGO_SIZE = '${@base_conditional("GUI_MACHINE_CLASS", "bigscreen", "vga", "qvga", d)}'
+SRC_URI += "file://${LOGO_SIZE}/logo_linux_clut224.ppm.bz2"
+
+require packages/linux/linux.inc
+
DONT_CHECK_KERNELSIZE = ""
INITRAMFS_IMAGE = "initramfs-kexecboot-image"
@@ -10,7 +13,6 @@ CMDLINE_poodle = "console=ttyS0,115200n8 console=tty1 fbcon=rotate:1"
CMDLINE_akita = "console=ttyS0,115200n8 console=tty1 fbcon=rotate:1"
CMDLINE_collie = "console=ttySA0,115200n8 console=tty1 mem=64M fbcon=rotate:1"
CMDLINE_spitz = "console=ttyS0,115200n8 console=tty1 fbcon=rotate:1"
-CMDLINE_c7x0 = "console=tty0"
PACKAGES = ""
PROVIDES = ""
@@ -39,6 +41,10 @@ sed -i -e /CONFIG_BLK_DEV_INITRD/d \
-e /CONFIG_DEBUG_KERNEL/d \
${S}/.config
+# Remove last tag appended by linux.inc (output messes screen)
+sed -i -e /CONFIG_CMDLINE/s/quiet/loglevel=3/1 ${S}/.config
+sed -i -e /CONFIG_CMDLINE/s/debug/loglevel=3/1 ${S}/.config
+
echo 'CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE="initramfs.cpio.gz"
CONFIG_MODULES=n' >> ${S}/.config
diff --git a/packages/kexecboot/linux-kexecboot_2.6.24.bb b/packages/kexecboot/linux-kexecboot_2.6.24.bb
index f68c770a85..a0540fe189 100644
--- a/packages/kexecboot/linux-kexecboot_2.6.24.bb
+++ b/packages/kexecboot/linux-kexecboot_2.6.24.bb
@@ -1,6 +1,6 @@
require linux-kexecboot.inc
-PR = "r2"
+PR = "r3"
DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_collie = "-1"
@@ -53,7 +53,7 @@ SRC_URI += "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.24.tar.bz2 \
file://sharpsl-rc-r1.patch;patch=1 \
file://sharpsl-rc-r2.patch;patch=1 \
file://squashfs3.3.patch;patch=1;status=external \
- ${RPSRC}/logo_oh-r1.patch.bz2;patch=1;status=unmergable \
+# ${RPSRC}/logo_oh-r1.patch.bz2;patch=1;status=unmergable \
${RPSRC}/pxa-linking-bug.patch;patch=1;status=unmergable \
file://hostap-monitor-mode.patch;patch=1;status=unmergable \
file://serial-add-support-for-non-standard-xtals-to-16c950-driver.patch;patch=1;status=unmergable \
diff --git a/packages/kexecboot/linux-kexecboot_2.6.26.bb b/packages/kexecboot/linux-kexecboot_2.6.26.bb
index 4ddc7c839b..624a01e628 100644
--- a/packages/kexecboot/linux-kexecboot_2.6.26.bb
+++ b/packages/kexecboot/linux-kexecboot_2.6.26.bb
@@ -1,12 +1,12 @@
require linux-kexecboot.inc
-PR = "r6"
+PR = "r8"
DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_qemuarm = "-1"
DEFAULT_PREFERENCE_qemux86 = "-1"
DEFAULT_PREFERENCE_spitz = "1"
DEFAULT_PREFERENCE_collie = "1"
-DEFAULT_PREFERENCE_c7x0 = "-1"
+DEFAULT_PREFERENCE_c7x0 = "1"
DEFAULT_PREFERENCE_akita = "1"
# Handy URLs
@@ -38,7 +38,7 @@ SRC_URI += "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.26.tar.bz2 \
${RPSRC}/poodle_lcd_hack-r0.patch;patch=1 \
${RPSRC}/poodle_asoc_fix-r1.patch;patch=1 \
file://zaurus-i2c-init.patch;patch=1;status=upstream \
- ${RPSRC}/logo_oh-r1.patch.bz2;patch=1;status=unmergable \
+# ${RPSRC}/logo_oh-r1.patch.bz2;patch=1;status=unmergable \
${RPSRC}/pxa-linking-bug.patch;patch=1;status=unmergable \
file://hostap-monitor-mode.patch;patch=1;status=unmergable \
file://serial-add-support-for-non-standard-xtals-to-16c950-driver.patch;patch=1;status=unmergable \