summaryrefslogtreecommitdiffstats
path: root/recipes/linux-uml
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
committerDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
commit709c4d66e0b107ca606941b988bad717c0b45d9b (patch)
tree37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/linux-uml
parentfa6cd5a3b993f16c27de4ff82b42684516d433ba (diff)
downloadopenembedded-709c4d66e0b107ca606941b988bad717c0b45d9b.tar.gz
rename packages/ to recipes/ per earlier agreement
See links below for more details: http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326 http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816 Signed-off-by: Denys Dmytriyenko <denis@denix.org> Acked-by: Mike Westerhof <mwester@dls.net> Acked-by: Philip Balister <philip@balister.org> Acked-by: Khem Raj <raj.khem@gmail.com> Acked-by: Marcin Juszkiewicz <hrw@openembedded.org> Acked-by: Koen Kooi <koen@openembedded.org> Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/linux-uml')
-rw-r--r--recipes/linux-uml/files/fix-arg-max.patch16
-rw-r--r--recipes/linux-uml/linux-uml-2.4.26/01-CONFIG_X86_CMPXCHG.patch-215
-rw-r--r--recipes/linux-uml/linux-uml-2.4.26/02-config_cleanup.patch127
-rw-r--r--recipes/linux-uml/linux-uml-2.4.26/07-mconsole_dir_cleanup.patch11
-rw-r--r--recipes/linux-uml/linux-uml-2.4.26/10-flock.patch33
-rw-r--r--recipes/linux-uml/linux-uml-2.4.26/11-usr1_process_tkill.patch21
-rw-r--r--recipes/linux-uml/linux-uml-2.4.26/12-hostfs.patch109
-rw-r--r--recipes/linux-uml/linux-uml-2.4.26/13-hostfs_access.patch11
-rw-r--r--recipes/linux-uml/linux-uml-2.4.26/aio_abi.h92
-rw-r--r--recipes/linux-uml/linux-uml-2.4.26/defconfig430
-rw-r--r--recipes/linux-uml/linux-uml-2.4.26/disable-aio-check.patch20
-rw-r--r--recipes/linux-uml/linux-uml-2.4.26/fix-includes.patch26
-rw-r--r--recipes/linux-uml/linux-uml-2.4.26/unbreak-hostfs.patch110
-rw-r--r--recipes/linux-uml/linux-uml-2.6.11-rc2-mm1/compile-fix.patch26
-rw-r--r--recipes/linux-uml/linux-uml-2.6.11-rc2-mm1/defconfig548
-rw-r--r--recipes/linux-uml/linux-uml_2.4.26.bb44
-rw-r--r--recipes/linux-uml/linux-uml_2.6.11-rc2-mm1.bb58
17 files changed, 1697 insertions, 0 deletions
diff --git a/recipes/linux-uml/files/fix-arg-max.patch b/recipes/linux-uml/files/fix-arg-max.patch
new file mode 100644
index 0000000000..8f72938813
--- /dev/null
+++ b/recipes/linux-uml/files/fix-arg-max.patch
@@ -0,0 +1,16 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- linux-2.4.24/arch/um/kernel/user_util.c~fix-arg-max 2004-05-12 18:13:03.000000000 +0200
++++ linux-2.4.24/arch/um/kernel/user_util.c 2004-05-12 18:14:24.000000000 +0200
+@@ -31,7 +31,7 @@
+ #include "helper.h"
+ #include "uml-config.h"
+
+-#define COMMAND_LINE_SIZE _POSIX_ARG_MAX
++#define COMMAND_LINE_SIZE 4096
+
+ /* Changed in linux_main and setup_arch, which run before SMP is started */
+ char saved_command_line[COMMAND_LINE_SIZE] = { 0 };
diff --git a/recipes/linux-uml/linux-uml-2.4.26/01-CONFIG_X86_CMPXCHG.patch-2 b/recipes/linux-uml/linux-uml-2.4.26/01-CONFIG_X86_CMPXCHG.patch-2
new file mode 100644
index 0000000000..94003d0aa0
--- /dev/null
+++ b/recipes/linux-uml/linux-uml-2.4.26/01-CONFIG_X86_CMPXCHG.patch-2
@@ -0,0 +1,15 @@
+Index: linux-2.4.24-2/arch/um/config.in
+--- linux-2.4.24-2/arch/um/config.in 7 Apr 2004 20:44:02 -0000 1.56
++++ linux-2.4.24-2/arch/um/config.in 17 May 2004 18:35:49 -0000
+@@ -8,6 +8,11 @@
+
+ define_bool CONFIG_UID16 y
+
++# define_bool CONFIG_X86_CMPXCHG y
++# define_bool CONFIG_X86_XADD y
++# define_bool CONFIG_X86_BSWAP y
++# define_bool CONFIG_X86_POPAD_OK y
++
+ define_bool CONFIG_RWSEM_XCHGADD_ALGORITHM y
+
+ mainmenu_option next_comment
diff --git a/recipes/linux-uml/linux-uml-2.4.26/02-config_cleanup.patch b/recipes/linux-uml/linux-uml-2.4.26/02-config_cleanup.patch
new file mode 100644
index 0000000000..87b4476790
--- /dev/null
+++ b/recipes/linux-uml/linux-uml-2.4.26/02-config_cleanup.patch
@@ -0,0 +1,127 @@
+Index: linux-2.4.24-2/arch/um/config.in
+--- linux-2.4.24-2/arch/um/config.in 7 Apr 2004 20:44:02 -0000 1.56
++++ linux-2.4.24-2/arch/um/config.in 17 May 2004 18:35:49 -0000
+@@ -16,6 +21,16 @@
+ endmenu
+
+ mainmenu_option next_comment
++comment 'Loadable module support'
++bool 'Enable loadable module support' CONFIG_MODULES
++if [ "$CONFIG_MODULES" = "y" ]; then
++# MODVERSIONS does not yet work in this architecture
++# bool ' Set version information on all module symbols' CONFIG_MODVERSIONS
++ bool ' Kernel module loader' CONFIG_KMOD
++fi
++endmenu
++
++mainmenu_option next_comment
+ comment 'General Setup'
+
+ bool 'Separate kernel address space support' CONFIG_MODE_SKAS
+@@ -59,28 +74,17 @@
+ bool 'Real-time Clock' CONFIG_UML_REAL_TIME_CLOCK
+ endmenu
+
+-mainmenu_option next_comment
+-comment 'Loadable module support'
+-bool 'Enable loadable module support' CONFIG_MODULES
+-if [ "$CONFIG_MODULES" = "y" ]; then
+-# MODVERSIONS does not yet work in this architecture
+-# bool ' Set version information on all module symbols' CONFIG_MODVERSIONS
+- bool ' Kernel module loader' CONFIG_KMOD
++if [ "$CONFIG_NET" = "y" ]; then
++ source net/Config.in
+ fi
+-endmenu
+
+ source arch/um/config_char.in
+
+ source arch/um/config_block.in
+
+-define_bool CONFIG_NETDEVICES $CONFIG_NET
+-
+-if [ "$CONFIG_NET" = "y" ]; then
+- source arch/um/config_net.in
+- source net/Config.in
+-fi
++source drivers/mtd/Config.in
+
+-source fs/Config.in
++source drivers/md/Config.in
+
+ mainmenu_option next_comment
+ comment 'SCSI support'
+@@ -92,11 +96,19 @@
+ fi
+ endmenu
+
+-source drivers/md/Config.in
++if [ "$CONFIG_NET" = "y" ]; then
++ mainmenu_option next_comment
++ comment 'Network Devices'
+
+-source drivers/mtd/Config.in
++ bool 'Network device support' CONFIG_NETDEVICES
++ if [ "$CONFIG_NETDEVICES" = "y" ]; then
++ source arch/um/config_net.in
++ fi
++ endmenu
++fi
++
++source fs/Config.in
+
+-source lib/Config.in
+
+ mainmenu_option next_comment
+ comment 'Kernel hacking'
+@@ -110,3 +122,6 @@
+ dep_bool 'Enable gprof support' CONFIG_GPROF $CONFIG_DEBUGSYM
+ dep_bool 'Enable gcov support' CONFIG_GCOV $CONFIG_DEBUGSYM
+ endmenu
++
++source crypto/Config.in
++source lib/Config.in
+Index: linux-2.4.24-2/arch/um/config_net.in
+--- linux-2.4.24-2/arch/um/config_net.in 7 Apr 2004 20:42:33 -0000 1.4
++++ linux-2.4.24-2/arch/um/config_net.in 17 May 2004 18:35:49 -0000
+@@ -1,6 +1,3 @@
+-mainmenu_option next_comment
+-comment 'Network Devices'
+-
+ # UML virtual driver
+ bool 'Virtual network device' CONFIG_UML_NET
+
+@@ -44,5 +45,3 @@
+ dep_bool ' CSLIP compressed headers' CONFIG_SLIP_COMPRESSED $CONFIG_SLIP
+ dep_bool ' Keepalive and linefill' CONFIG_SLIP_SMART $CONFIG_SLIP
+ dep_bool ' Six bit SLIP encapsulation' CONFIG_SLIP_MODE_SLIP6 $CONFIG_SLIP
+-
+-endmenu
+Index: linux-2.4.24-2/arch/um/drivers/Makefile
+--- linux-2.4.24-2/arch/um/drivers/Makefile 16 Feb 2004 00:09:07 -0000 1.50
++++ linux-2.4.24-2/arch/um/drivers/Makefile 17 May 2004 18:35:49 -0000
+@@ -27,6 +27,7 @@
+
+ obj-y =
+ obj-$(CONFIG_SSL) += ssl.o
++obj-$(CONFIG_STDIO_CONSOLE) += stdio_console.o
+ obj-$(CONFIG_UML_NET_SLIP) += slip.o
+ obj-$(CONFIG_UML_NET_SLIRP) += slirp.o
+ obj-$(CONFIG_UML_NET_DAEMON) += daemon.o
+@@ -49,7 +54,7 @@
+
+ CFLAGS_pcap_user.o = -I/usr/include/pcap
+
+-obj-y += stdio_console.o $(CHAN_OBJS)
++obj-y += $(CHAN_OBJS)
+
+ USER_SINGLE_OBJS = $(foreach f,$(patsubst %.o,%,$(obj-y) $(obj-m)),$($(f)-objs))
+
+@@ -62,6 +71,7 @@
+ $(CC) $(CFLAGS_$@) $(USER_CFLAGS) -c -o $@ $<
+
+ clean:
++ rm -f $(OBJS) $(export-objs)
+
+ modules:
+
diff --git a/recipes/linux-uml/linux-uml-2.4.26/07-mconsole_dir_cleanup.patch b/recipes/linux-uml/linux-uml-2.4.26/07-mconsole_dir_cleanup.patch
new file mode 100644
index 0000000000..280f0941c4
--- /dev/null
+++ b/recipes/linux-uml/linux-uml-2.4.26/07-mconsole_dir_cleanup.patch
@@ -0,0 +1,11 @@
+Index: linux-2.4.24-2/arch/um/kernel/umid.c
+--- linux-2.4.24-2/arch/um/kernel/umid.c 16 Feb 2004 00:10:11 -0000 1.21
++++ linux-2.4.24-2/arch/um/kernel/umid.c 17 May 2004 18:35:49 -0000
+@@ -151,6 +151,7 @@
+
+ sprintf(dir, "%s%s", uml_dir, umid);
+ actually_do_remove(dir);
++ rmdir(uml_dir);
+ }
+
+ char *get_umid(int only_if_set)
diff --git a/recipes/linux-uml/linux-uml-2.4.26/10-flock.patch b/recipes/linux-uml/linux-uml-2.4.26/10-flock.patch
new file mode 100644
index 0000000000..c64b34d8be
--- /dev/null
+++ b/recipes/linux-uml/linux-uml-2.4.26/10-flock.patch
@@ -0,0 +1,33 @@
+Index: linux-2.4.24-2/arch/um/os-Linux/file.c
+--- linux-2.4.24-2/arch/um/os-Linux/file.c 7 Apr 2004 20:44:49 -0000 1.29
++++ linux-2.4.24-2/arch/um/os-Linux/file.c 17 May 2004 18:35:49 -0000
+@@ -688,6 +688,7 @@
+
+ int os_lock_file(int fd, int excl)
+ {
++#if USE_FCNTL_LOCK
+ int type = excl ? F_WRLCK : F_RDLCK;
+ struct flock lock = ((struct flock) { .l_type = type,
+ .l_whence = SEEK_SET,
+@@ -710,6 +711,21 @@
+ err = save;
+ out:
+ return(err);
++#else
++ int type = excl ? LOCK_EX : LOCK_SH;
++ int err, save;
++
++ err = flock(fd, type | LOCK_NB);
++ if(!err)
++ goto out;
++
++ save = -errno;
++
++ printk("file already locked\n");
++ err = save;
++ out:
++ return(err);
++#endif
+ }
+
+ int os_ftruncate(int fd, __u64 size)
diff --git a/recipes/linux-uml/linux-uml-2.4.26/11-usr1_process_tkill.patch b/recipes/linux-uml/linux-uml-2.4.26/11-usr1_process_tkill.patch
new file mode 100644
index 0000000000..d339746c6a
--- /dev/null
+++ b/recipes/linux-uml/linux-uml-2.4.26/11-usr1_process_tkill.patch
@@ -0,0 +1,21 @@
+Index: linux-2.4.24-2/arch/um/os-Linux/process.c
+--- linux-2.4.24-2/arch/um/os-Linux/process.c 19 Jan 2004 21:02:20 -0000 1.8
++++ linux-2.4.24-2/arch/um/os-Linux/process.c 17 May 2004 18:35:49 -0000
+@@ -7,6 +7,7 @@
+ #include <stdio.h>
+ #include <errno.h>
+ #include <signal.h>
++#include <linux/unistd.h>
+ #include <sys/mman.h>
+ #include <sys/wait.h>
+ #include "os.h"
+@@ -92,7 +93,8 @@
+
+ void os_usr1_process(int pid)
+ {
+- kill(pid, SIGUSR1);
++ if (syscall(__NR_tkill, pid, SIGUSR1) < 0)
++ kill(pid, SIGUSR1);
+ }
+
+ int os_getpid(void)
diff --git a/recipes/linux-uml/linux-uml-2.4.26/12-hostfs.patch b/recipes/linux-uml/linux-uml-2.4.26/12-hostfs.patch
new file mode 100644
index 0000000000..124f975650
--- /dev/null
+++ b/recipes/linux-uml/linux-uml-2.4.26/12-hostfs.patch
@@ -0,0 +1,109 @@
+diff -ru linux-2.4.26-1.orig/arch/um/fs/hostfs/externfs.c linux-2.4.26-1.hno/arch/um/fs/hostfs/externfs.c
+--- linux-2.4.26-1.orig/arch/um/fs/hostfs/externfs.c Mon May 17 23:36:17 2004
++++ linux-2.4.26-1.hno/arch/um/fs/hostfs/externfs.c Tue May 18 00:10:42 2004
+@@ -1133,7 +1133,7 @@
+ if((mount_arg != NULL) && (*mount_arg != '\0'))
+ root = mount_arg;
+
+- return(uml_strdup(mount_arg));
++ return(uml_strdup(root));
+ }
+
+ struct super_block *hostfs_read_super(struct super_block *sb, void *data,
+diff -ru linux-2.4.26-1.orig/arch/um/fs/hostfs/host_file.c linux-2.4.26-1.hno/arch/um/fs/hostfs/host_file.c
+--- linux-2.4.26-1.orig/arch/um/fs/hostfs/host_file.c Mon May 17 23:36:17 2004
++++ linux-2.4.26-1.hno/arch/um/fs/hostfs/host_file.c Tue May 18 11:40:47 2004
+@@ -72,28 +72,21 @@
+ {
+ char tmp[HOSTFS_BUFSIZE], *file;
+ int mode = 0, err;
++ struct openflags flags = OPENFLAGS();
+
+- if(r && !w)
+- mode = O_RDONLY;
+- else if(!r && w)
+- mode = O_WRONLY;
+- else if(r && w)
+- mode = O_RDWR;
+- else {
+- printk("Impossible mode in host_open_file - r = %d, w = %d",
+- r, w);
+- return(-EINVAL);
+- }
+-
++ if (r)
++ flags = of_read(flags);
++ if (w)
++ flags = of_write(flags);
+ if(append)
+- mode |= O_APPEND;
++ flags = of_append(flags);
+
+ err = -ENOMEM;
+ file = get_path(path, tmp, sizeof(tmp));
+ if(file == NULL)
+ goto out;
+
+- err = open_filehandle(file, of_create(of_rdwr(OPENFLAGS())), mode, fh);
++ err = open_filehandle(file, flags, 0, fh);
+ out:
+ free_path(file, tmp);
+ return(err);
+diff -ru linux-2.4.26-1.orig/arch/um/fs/hostfs/host_fs.c linux-2.4.26-1.hno/arch/um/fs/hostfs/host_fs.c
+--- linux-2.4.26-1.orig/arch/um/fs/hostfs/host_fs.c Mon May 17 23:36:17 2004
++++ linux-2.4.26-1.hno/arch/um/fs/hostfs/host_fs.c Tue May 18 11:38:51 2004
+@@ -111,10 +111,14 @@
+ {
+ const char *path[] = { jail_dir, mount, file, NULL };
+ int uid;
++ int gid;
++ int rc;
+
++ /* These should be mount flags from an internal "superblock" */
+ *uid_out = 0;
++ *gid_out = 0;
+ return(host_stat_file(path, dev_out, inode_out, mode_out, nlink_out,
+- &uid, gid_out, size_out, atime_out, mtime_out,
++ &uid, &gid, size_out, atime_out, mtime_out,
+ ctime_out, blksize_out, blocks_out));
+ }
+
+@@ -138,6 +142,12 @@
+ goto out;
+
+ err = host_open_file(path, 1, 1, fh);
++ if (err == -EISDIR) {
++ kfree(fh);
++ return NULL;
++ }
++ if (err == -EPERM)
++ err = host_open_file(path, 1, 0, fh);
+ if(err)
+ goto out_free;
+
+@@ -175,10 +185,9 @@
+ len - ignore_end);
+
+ out:
+- if(err < 0)
+- (*completion)(buf, err, arg);
+- else err = 0;
+-
++ (*completion)(buf, err, arg);
++ if (err > 0)
++ err = 0;
+ return(err);
+ }
+
+@@ -191,8 +200,9 @@
+
+ err = write_file(fh, offset + start, buf + start, len);
+
+- if(err < 0)
+- (*completion)((char *) buf, err, arg);
++ (*completion)((char *) buf, err, arg);
++ if (err > 0)
++ err = 0;
+ return(err);
+ }
+
diff --git a/recipes/linux-uml/linux-uml-2.4.26/13-hostfs_access.patch b/recipes/linux-uml/linux-uml-2.4.26/13-hostfs_access.patch
new file mode 100644
index 0000000000..914c5468f0
--- /dev/null
+++ b/recipes/linux-uml/linux-uml-2.4.26/13-hostfs_access.patch
@@ -0,0 +1,11 @@
+--- linux-2.4.26-umlhipac/arch/um/fs/hostfs/externfs.c.orig Tue May 18 00:10:42 2004
++++ linux-2.4.26-umlhipac/arch/um/fs/hostfs/externfs.c Thu May 20 21:12:54 2004
+@@ -961,7 +961,7 @@
+ if(name == NULL)
+ return(-ENOMEM);
+
+- err = (*ops->access_file)(name, r, w, x, current->fsuid, current->fsgid,
++ err = (*ops->access_file)(name, current->fsuid, current->fsgid, r, w, x,
+ mount);
+ kfree(name);
+
diff --git a/recipes/linux-uml/linux-uml-2.4.26/aio_abi.h b/recipes/linux-uml/linux-uml-2.4.26/aio_abi.h
new file mode 100644
index 0000000000..e7fc6b234e
--- /dev/null
+++ b/recipes/linux-uml/linux-uml-2.4.26/aio_abi.h
@@ -0,0 +1,92 @@
+/* linux/aio_abi.h
+ *
+ * Copyright 2000,2001,2002 Red Hat.
+ *
+ * Written by Benjamin LaHaise <bcrl@redhat.com>
+ *
+ * Distribute under the terms of the GPLv2 (see ../../COPYING) or under
+ * the following terms.
+ *
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation is hereby granted, provided that the above copyright
+ * notice appears in all copies. This software is provided without any
+ * warranty, express or implied. Red Hat makes no representations about
+ * the suitability of this software for any purpose.
+ *
+ * IN NO EVENT SHALL RED HAT BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
+ * SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF
+ * THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF RED HAT HAS BEEN ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ *
+ * RED HAT DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND
+ * RED HAT HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES,
+ * ENHANCEMENTS, OR MODIFICATIONS.
+ */
+#ifndef __LINUX__AIO_ABI_H
+#define __LINUX__AIO_ABI_H
+
+#include <asm/byteorder.h>
+
+typedef unsigned long aio_context_t;
+
+enum {
+ IOCB_CMD_PREAD = 0,
+ IOCB_CMD_PWRITE = 1,
+ IOCB_CMD_FSYNC = 2,
+ IOCB_CMD_FDSYNC = 3,
+ /* These two are experimental.
+ * IOCB_CMD_PREADX = 4,
+ * IOCB_CMD_POLL = 5,
+ */
+ IOCB_CMD_NOOP = 6,
+};
+
+/* read() from /dev/aio returns these structures. */
+struct io_event {
+ __u64 data; /* the data field from the iocb */
+ __u64 obj; /* what iocb this event came from */
+ __s64 res; /* result code for this event */
+ __s64 res2; /* secondary result */
+};
+
+#if defined(__LITTLE_ENDIAN)
+#define PADDED(x,y) x, y
+#elif defined(__BIG_ENDIAN)
+#define PADDED(x,y) y, x
+#else
+#error edit for your odd byteorder.
+#endif
+
+/*
+ * we always use a 64bit off_t when communicating
+ * with userland. its up to libraries to do the
+ * proper padding and aio_error abstraction
+ */
+
+struct iocb {
+ /* these are internal to the kernel/libc. */
+ __u64 aio_data; /* data to be returned in event's data */
+ __u32 PADDED(aio_key, aio_reserved1);
+ /* the kernel sets aio_key to the req # */
+
+ /* common fields */
+ __u16 aio_lio_opcode; /* see IOCB_CMD_ above */
+ __s16 aio_reqprio;
+ __u32 aio_fildes;
+
+ __u64 aio_buf;
+ __u64 aio_nbytes;
+ __s64 aio_offset;
+
+ /* extra parameters */
+ __u64 aio_reserved2; /* TODO: use this for a (struct sigevent *) */
+ __u64 aio_reserved3;
+}; /* 64 bytes */
+
+#undef IFBIG
+#undef IFLITTLE
+
+#endif /* __LINUX__AIO_ABI_H */
+
diff --git a/recipes/linux-uml/linux-uml-2.4.26/defconfig b/recipes/linux-uml/linux-uml-2.4.26/defconfig
new file mode 100644
index 0000000000..b4030b532c
--- /dev/null
+++ b/recipes/linux-uml/linux-uml-2.4.26/defconfig
@@ -0,0 +1,430 @@
+#
+# Automatically generated make config: don't edit
+#
+CONFIG_USERMODE=y
+# CONFIG_ISA is not set
+# CONFIG_SBUS is not set
+# CONFIG_PCI is not set
+CONFIG_UID16=y
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+
+#
+# General Setup
+#
+CONFIG_MODE_SKAS=y
+CONFIG_MODE_TT=y
+CONFIG_NET=y
+CONFIG_SYSVIPC=y
+CONFIG_BSD_PROCESS_ACCT=y
+CONFIG_SYSCTL=y
+CONFIG_BINFMT_AOUT=y
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_MISC=y
+CONFIG_HOSTFS=y
+CONFIG_HUMFS=y
+CONFIG_EXTERNFS=y
+CONFIG_HPPFS=y
+CONFIG_MCONSOLE=y
+CONFIG_MAGIC_SYSRQ=y
+# CONFIG_HOST_2G_2G is not set
+# CONFIG_UML_SMP is not set
+# CONFIG_SMP is not set
+CONFIG_NEST_LEVEL=0
+CONFIG_KERNEL_HALF_GIGS=1
+# CONFIG_HIGHMEM is not set
+CONFIG_PROC_MM=y
+CONFIG_KERNEL_STACK_ORDER=2
+CONFIG_UML_REAL_TIME_CLOCK=y
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+# CONFIG_KMOD is not set
+
+#
+# Character Devices
+#
+CONFIG_STDIO_CONSOLE=y
+CONFIG_SSL=y
+CONFIG_FD_CHAN=y
+CONFIG_NULL_CHAN=y
+CONFIG_PORT_CHAN=y
+CONFIG_PTY_CHAN=y
+CONFIG_TTY_CHAN=y
+CONFIG_XTERM_CHAN=y
+CONFIG_CON_ZERO_CHAN="fd:0,fd:1"
+CONFIG_CON_CHAN="xterm"
+CONFIG_SSL_CHAN="pty"
+CONFIG_UNIX98_PTYS=y
+CONFIG_UNIX98_PTY_COUNT=256
+# CONFIG_WATCHDOG is not set
+# CONFIG_WATCHDOG_NOWAYOUT is not set
+# CONFIG_SOFT_WATCHDOG is not set
+# CONFIG_UML_WATCHDOG is not set
+CONFIG_UML_SOUND=y
+CONFIG_SOUND=y
+CONFIG_HOSTAUDIO=y
+# CONFIG_TTY_LOG is not set
+
+#
+# Block Devices
+#
+CONFIG_BLK_DEV_UBD=y
+# CONFIG_BLK_DEV_UBD_SYNC is not set
+# CONFIG_COW is not set
+CONFIG_COW_COMMON=y
+CONFIG_BLK_DEV_LOOP=y
+CONFIG_BLK_DEV_NBD=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_SIZE=4096
+CONFIG_BLK_DEV_INITRD=y
+# CONFIG_MMAPPER is not set
+CONFIG_NETDEVICES=y
+
+#
+# Network Devices
+#
+CONFIG_UML_NET=y
+CONFIG_UML_NET_ETHERTAP=y
+CONFIG_UML_NET_TUNTAP=y
+CONFIG_UML_NET_SLIP=y
+CONFIG_UML_NET_SLIRP=y
+CONFIG_UML_NET_DAEMON=y
+CONFIG_UML_NET_MCAST=y
+# CONFIG_UML_NET_PCAP is not set
+CONFIG_DUMMY=y
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=y
+CONFIG_PPP=y
+# CONFIG_PPP_MULTILINK is not set
+# CONFIG_PPP_FILTER is not set
+# CONFIG_PPP_ASYNC is not set
+# CONFIG_PPP_SYNC_TTY is not set
+# CONFIG_PPP_DEFLATE is not set
+# CONFIG_PPP_BSDCOMP is not set
+# CONFIG_PPPOE is not set
+# CONFIG_PPP_MPPE is not set
+CONFIG_SLIP=y
+# CONFIG_SLIP_COMPRESSED is not set
+# CONFIG_SLIP_SMART is not set
+# CONFIG_SLIP_MODE_SLIP6 is not set
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+# CONFIG_NETLINK_DEV is not set
+# CONFIG_NETFILTER is not set
+# CONFIG_FILTER is not set
+CONFIG_UNIX=y
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_INET_ECN is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_IPV6 is not set
+# CONFIG_KHTTPD is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+CONFIG_IPV6_SCTP__=y
+# CONFIG_IP_SCTP is not set
+# CONFIG_ATM is not set
+# CONFIG_VLAN_8021Q is not set
+
+#
+#
+#
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+
+#
+# Appletalk devices
+#
+# CONFIG_DEV_APPLETALK is not set
+# CONFIG_DECNET is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_LLC is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+# CONFIG_NET_FASTROUTE is not set
+# CONFIG_NET_HW_FLOWCONTROL is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+
+#
+# File systems
+#
+CONFIG_QUOTA=y
+# CONFIG_QFMT_V2 is not set
+CONFIG_AUTOFS_FS=y
+CONFIG_AUTOFS4_FS=y
+CONFIG_REISERFS_FS=y
+# CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
+# CONFIG_ADFS_FS is not set
+# CONFIG_ADFS_FS_RW is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BEFS_DEBUG is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_JBD is not set
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_UMSDOS_FS=y
+CONFIG_VFAT_FS=y
+# CONFIG_EFS_FS is not set
+CONFIG_JFFS_FS=y
+CONFIG_JFFS_FS_VERBOSE=0
+CONFIG_JFFS_PROC_FS=y
+CONFIG_JFFS2_FS=y
+CONFIG_JFFS2_FS_DEBUG=0
+# CONFIG_CRAMFS is not set
+# CONFIG_TMPFS is not set
+CONFIG_RAMFS=y
+CONFIG_ISO9660_FS=y
+# CONFIG_JOLIET is not set
+# CONFIG_ZISOFS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_JFS_DEBUG is not set
+# CONFIG_JFS_STATISTICS is not set
+CONFIG_MINIX_FS=y
+# CONFIG_VXFS_FS is not set
+# CONFIG_NTFS_FS is not set
+# CONFIG_NTFS_RW is not set
+# CONFIG_HPFS_FS is not set
+CONFIG_PROC_FS=y
+CONFIG_DEVFS_FS=y
+CONFIG_DEVFS_MOUNT=y
+# CONFIG_DEVFS_DEBUG is not set
+CONFIG_DEVPTS_FS=y
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_QNX4FS_RW is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_EXT2_FS=y
+# CONFIG_SYSV_FS is not set
+# CONFIG_UDF_FS is not set
+# CONFIG_UDF_RW is not set
+# CONFIG_UFS_FS is not set
+# CONFIG_UFS_FS_WRITE is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_XFS_QUOTA is not set
+# CONFIG_XFS_RT is not set
+# CONFIG_XFS_TRACE is not set
+# CONFIG_XFS_DEBUG is not set
+
+#
+# Network File Systems
+#
+# CONFIG_CODA_FS is not set
+# CONFIG_INTERMEZZO_FS is not set
+# CONFIG_NFS_FS is not set
+# CONFIG_NFS_V3 is not set
+# CONFIG_NFS_DIRECTIO is not set
+# CONFIG_ROOT_NFS is not set
+# CONFIG_NFSD is not set
+# CONFIG_NFSD_V3 is not set
+# CONFIG_NFSD_TCP is not set
+# CONFIG_SUNRPC is not set
+# CONFIG_LOCKD is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_NCPFS_PACKET_SIGNING is not set
+# CONFIG_NCPFS_IOCTL_LOCKING is not set
+# CONFIG_NCPFS_STRONG is not set
+# CONFIG_NCPFS_NFS_NS is not set
+# CONFIG_NCPFS_OS2_NS is not set
+# CONFIG_NCPFS_SMALLDOS is not set
+# CONFIG_NCPFS_NLS is not set
+# CONFIG_NCPFS_EXTRAS is not set
+# CONFIG_ZISOFS_FS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_SMB_NLS is not set
+CONFIG_NLS=y
+
+#
+# Native Language Support
+#
+CONFIG_NLS_DEFAULT="iso8859-1"
+# CONFIG_NLS_CODEPAGE_437 is not set
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ISO8859_1 is not set
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_UTF8 is not set
+
+#
+# SCSI support
+#
+CONFIG_SCSI=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+# CONFIG_BLK_DEV_SD is not set
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_BLK_DEV_SR is not set
+# CONFIG_CHR_DEV_SG is not set
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+# CONFIG_SCSI_DEBUG_QUEUES is not set
+# CONFIG_SCSI_MULTI_LUN is not set
+# CONFIG_SCSI_CONSTANTS is not set
+# CONFIG_SCSI_LOGGING is not set
+CONFIG_SCSI_DEBUG=y
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+# CONFIG_BLK_DEV_MD is not set
+# CONFIG_MD_LINEAR is not set
+# CONFIG_MD_RAID0 is not set
+# CONFIG_MD_RAID1 is not set
+# CONFIG_MD_RAID5 is not set
+# CONFIG_MD_MULTIPATH is not set
+# CONFIG_BLK_DEV_LVM is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+CONFIG_MTD=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_PARTITIONS is not set
+# CONFIG_MTD_CONCAT is not set
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# CONFIG_MTD_CMDLINE_PARTS is not set
+
+#
+# User Modules And Translation Layers
+#
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_FTL is not set
+# CONFIG_NFTL is not set
+
+#
+# RAM/ROM/Flash chip drivers
+#
+# CONFIG_MTD_CFI is not set
+# CONFIG_MTD_JEDECPROBE is not set
+# CONFIG_MTD_GEN_PROBE is not set
+# CONFIG_MTD_CFI_INTELEXT is not set
+# CONFIG_MTD_CFI_AMDSTD is not set
+# CONFIG_MTD_CFI_STAA is not set
+# CONFIG_MTD_RAM is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_ABSENT is not set
+# CONFIG_MTD_OBSOLETE_CHIPS is not set
+# CONFIG_MTD_AMDSTD is not set
+# CONFIG_MTD_SHARP is not set
+# CONFIG_MTD_JEDEC is not set
+
+#
+# Mapping drivers for chip access
+#
+# CONFIG_MTD_PHYSMAP is not set
+# CONFIG_MTD_PCI is not set
+# CONFIG_MTD_PCMCIA is not set
+
+#
+# Self-contained MTD device drivers
+#
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_MTDRAM is not set
+CONFIG_MTD_BLKMTD=y
+
+#
+# Disk-On-Chip Device Drivers
+#
+# CONFIG_MTD_DOC1000 is not set
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOCPROBE is not set
+
+#
+# NAND Flash Device Drivers
+#
+# CONFIG_MTD_NAND is not set
+
+#
+# Library routines
+#
+# CONFIG_CRC32 is not set
+CONFIG_ZLIB_INFLATE=y
+CONFIG_ZLIB_DEFLATE=y
+
+#
+# Kernel hacking
+#
+# CONFIG_DEBUG_SLAB is not set
+CONFIG_DEBUGSYM=y
+CONFIG_PT_PROXY=y
+# CONFIG_GCOV is not set
diff --git a/recipes/linux-uml/linux-uml-2.4.26/disable-aio-check.patch b/recipes/linux-uml/linux-uml-2.4.26/disable-aio-check.patch
new file mode 100644
index 0000000000..c71fba1316
--- /dev/null
+++ b/recipes/linux-uml/linux-uml-2.4.26/disable-aio-check.patch
@@ -0,0 +1,20 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- linux-2.4.26/arch/um/os-Linux/Makefile~disable-aio-check 2004-05-21 10:47:13.000000000 +0200
++++ linux-2.4.26/arch/um/os-Linux/Makefile 2004-05-21 10:52:28.000000000 +0200
+@@ -7,10 +7,8 @@
+
+ obj-y = aio.o file.o process.o time.o tty.o
+
+-HAVE_AIO_ABI = $(shell [ -e /usr/include/linux/aio_abi.h ] && \
+- echo -DHAVE_AIO_ABI)
+-HAVE_AIO_LIBC = $(shell objdump -T /lib/libc-*.so | grep io_submit && \
+- echo -DHAVE_AIO_LIBC)
++HAVE_AIO_ABI = $(shell echo -UHAVE_AIO_ABI)
++HAVE_AIO_LIBC = $(shell echo -UHAVE_AIO_LIBC)
+ CFLAGS_aio.o = $(HAVE_AIO_ABI) $(HAVE_AIO_LIBC)
+
+ include $(TOPDIR)/Rules.make
diff --git a/recipes/linux-uml/linux-uml-2.4.26/fix-includes.patch b/recipes/linux-uml/linux-uml-2.4.26/fix-includes.patch
new file mode 100644
index 0000000000..a6a0260320
--- /dev/null
+++ b/recipes/linux-uml/linux-uml-2.4.26/fix-includes.patch
@@ -0,0 +1,26 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- linux-2.4.21/arch/um/Makefile~remove-bogus-includes 2004-02-01 15:44:08.000000000 +0100
++++ linux-2.4.21/arch/um/Makefile 2004-02-01 15:51:52.000000000 +0100
+@@ -107,7 +107,7 @@
+ linux: setup $(ARCH_DIR)/main.o vmlinux $(LD_SCRIPT-y)
+ mv vmlinux vmlinux.o
+ $(CC) -Wl,-T,$(LD_SCRIPT-y) $(LINK-y) $(LINK_WRAPS) \
+- -o linux $(ARCH_DIR)/main.o vmlinux.o -L/usr/lib -lutil
++ -o linux $(ARCH_DIR)/main.o vmlinux.o -L$(STAGING_LIBDIR) -lutil
+
+ USER_CFLAGS := $(patsubst -I%,,$(CFLAGS))
+ USER_CFLAGS := $(patsubst -Derrno=kernel_errno,,$(USER_CFLAGS))
+--- linux-2.4.21/arch/um/kernel/tt/Makefile~remove-bogus-includes 2004-02-01 15:44:08.000000000 +0100
++++ linux-2.4.21/arch/um/kernel/tt/Makefile 2004-02-01 15:51:39.000000000 +0100
+@@ -34,6 +34,6 @@
+ $(CC) $(UNMAP_CFLAGS) -c -o $@ $<
+
+ unmap_fin.o : unmap.o
+- ld -r -o $@ $< -lc -L/usr/lib
++ ld -r -o $@ $< -lc -L$(STAGING_LIBDIR)
+
+ clean :
diff --git a/recipes/linux-uml/linux-uml-2.4.26/unbreak-hostfs.patch b/recipes/linux-uml/linux-uml-2.4.26/unbreak-hostfs.patch
new file mode 100644
index 0000000000..3c77dae728
--- /dev/null
+++ b/recipes/linux-uml/linux-uml-2.4.26/unbreak-hostfs.patch
@@ -0,0 +1,110 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- linux-2.4.26/arch/um/fs/hostfs/externfs.c~unbreak-hostfs 2004-05-18 22:01:16.000000000 +0200
++++ linux-2.4.26/arch/um/fs/hostfs/externfs.c 2004-05-18 22:43:11.000000000 +0200
+@@ -1133,7 +1133,7 @@
+ if((mount_arg != NULL) && (*mount_arg != '\0'))
+ root = mount_arg;
+
+- return(uml_strdup(mount_arg));
++ return(uml_strdup(root));
+ }
+
+ struct super_block *hostfs_read_super(struct super_block *sb, void *data,
+--- linux-2.4.26/arch/um/fs/hostfs/host_file.c~unbreak-hostfs 2004-05-18 22:01:16.000000000 +0200
++++ linux-2.4.26/arch/um/fs/hostfs/host_file.c 2004-05-18 22:45:17.000000000 +0200
+@@ -72,28 +72,21 @@
+ {
+ char tmp[HOSTFS_BUFSIZE], *file;
+ int mode = 0, err;
++ struct openflags flags = OPENFLAGS();
+
+- if(r && !w)
+- mode = O_RDONLY;
+- else if(!r && w)
+- mode = O_WRONLY;
+- else if(r && w)
+- mode = O_RDWR;
+- else {
+- printk("Impossible mode in host_open_file - r = %d, w = %d",
+- r, w);
+- return(-EINVAL);
+- }
+-
++ if (r)
++ flags = of_read(flags);
++ if (w)
++ flags = of_write(flags);
+ if(append)
+- mode |= O_APPEND;
++ flags = of_append(flags);
+
+ err = -ENOMEM;
+ file = get_path(path, tmp, sizeof(tmp));
+ if(file == NULL)
+ goto out;
+
+- err = open_filehandle(file, of_create(of_rdwr(OPENFLAGS())), mode, fh);
++ err = open_filehandle(file, flags, 0, fh);
+ out:
+ free_path(file, tmp);
+ return(err);
+--- linux-2.4.26/arch/um/fs/hostfs/host_fs.c~unbreak-hostfs 2004-05-18 22:01:16.000000000 +0200
++++ linux-2.4.26/arch/um/fs/hostfs/host_fs.c 2004-05-18 22:50:11.000000000 +0200
+@@ -111,10 +111,13 @@
+ {
+ const char *path[] = { jail_dir, mount, file, NULL };
+ int uid;
++ int gid;
++ int rc;
+
+ *uid_out = 0;
++ *gid_out = 0;
+ return(host_stat_file(path, dev_out, inode_out, mode_out, nlink_out,
+- &uid, gid_out, size_out, atime_out, mtime_out,
++ &uid, &gid, size_out, atime_out, mtime_out,
+ ctime_out, blksize_out, blocks_out));
+ }
+
+@@ -138,6 +141,12 @@
+ goto out;
+
+ err = host_open_file(path, 1, 1, fh);
++ if (err == -EISDIR) {
++ kfree(fh);
++ return NULL;
++ }
++ if (err == -EPERM)
++ err = host_open_file(path, 1, 0, fh);
+ if(err)
+ goto out_free;
+
+@@ -175,10 +184,9 @@
+ len - ignore_end);
+
+ out:
+- if(err < 0)
+- (*completion)(buf, err, arg);
+- else err = 0;
+-
++ (*completion)(buf, err, arg);
++ if (err > 0)
++ err = 0;
+ return(err);
+ }
+
+@@ -191,8 +199,9 @@
+
+ err = write_file(fh, offset + start, buf + start, len);
+
+- if(err < 0)
+- (*completion)((char *) buf, err, arg);
++ (*completion)((char *) buf, err, arg);
++ if (err > 0)
++ err = 0;
+ return(err);
+ }
+
diff --git a/recipes/linux-uml/linux-uml-2.6.11-rc2-mm1/compile-fix.patch b/recipes/linux-uml/linux-uml-2.6.11-rc2-mm1/compile-fix.patch
new file mode 100644
index 0000000000..7c1df3021f
--- /dev/null
+++ b/recipes/linux-uml/linux-uml-2.6.11-rc2-mm1/compile-fix.patch
@@ -0,0 +1,26 @@
+
+#
+# Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher
+#
+
+--- linux-2.6.10/arch/um/kernel/process.c~compile-fix 2005-01-28 19:57:29.207418000 +0100
++++ linux-2.6.10/arch/um/kernel/process.c 2005-01-28 20:05:37.811027882 +0100
+@@ -28,6 +28,7 @@
+ #include "sysdep/sigcontext.h"
+ #include "irq_user.h"
+ #include "ptrace_user.h"
++#include <linux/ptrace.h>
+ #include "time_user.h"
+ #include "init.h"
+ #include "os.h"
+--- linux-2.6.10/arch/um/kernel/user_util.c~compile-fix 2005-01-28 20:10:41.565297000 +0100
++++ linux-2.6.10/arch/um/kernel/user_util.c 2005-01-28 20:10:49.373290402 +0100
+@@ -31,7 +31,7 @@
+ #include "helper.h"
+ #include "uml-config.h"
+
+-#define COMMAND_LINE_SIZE _POSIX_ARG_MAX
++#define COMMAND_LINE_SIZE 4096
+
+ /* Changed in linux_main and setup_arch, which run before SMP is started */
+ char command_line[COMMAND_LINE_SIZE] = { 0 };
diff --git a/recipes/linux-uml/linux-uml-2.6.11-rc2-mm1/defconfig b/recipes/linux-uml/linux-uml-2.6.11-rc2-mm1/defconfig
new file mode 100644
index 0000000000..84f80512ce
--- /dev/null
+++ b/recipes/linux-uml/linux-uml-2.6.11-rc2-mm1/defconfig
@@ -0,0 +1,548 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.11-rc1-mm1
+# Fri Jan 28 19:25:15 2005
+#
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_USERMODE=y
+CONFIG_MMU=y
+CONFIG_UID16=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+
+#
+# UML-specific options
+#
+# CONFIG_MODE_TT is not set
+# CONFIG_STATIC_LINK is not set
+CONFIG_MODE_SKAS=y
+# CONFIG_64_BIT is not set
+CONFIG_TOP_ADDR=0xc0000000
+# CONFIG_3_LEVEL_PGTABLES is not set
+CONFIG_ARCH_HAS_SC_SIGNALS=y
+CONFIG_LD_SCRIPT_DYN=y
+CONFIG_NET=y
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
+# CONFIG_INPUT_JOYDEV is not set
+# CONFIG_INPUT_TSDEV is not set
+# CONFIG_INPUT_EVDEV is not set
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input I/O drivers
+#
+# CONFIG_GAMEPORT is not set
+CONFIG_SOUND_GAMEPORT=y
+CONFIG_SERIO=y
+CONFIG_SERIO_I8042=y
+CONFIG_SERIO_SERPORT=y
+# CONFIG_SERIO_CT82C710 is not set
+CONFIG_SERIO_LIBPS2=y
+# CONFIG_SERIO_RAW is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+CONFIG_KEYBOARD_ATKBD=y
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+CONFIG_INPUT_MOUSE=y
+CONFIG_MOUSE_PS2=y
+# CONFIG_MOUSE_SERIAL is not set
+# CONFIG_MOUSE_VSXXXAA is not set
+# CONFIG_INPUT_JOYSTICK is not set
+# CONFIG_INPUT_TOUCHSCREEN is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+CONFIG_INOTIFY=y
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=256
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+# CONFIG_RTC is not set
+# CONFIG_GEN_RTC is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# Ftape, the floppy tape device driver
+#
+# CONFIG_AGP is not set
+# CONFIG_DRM is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# Graphics support
+#
+CONFIG_FB=y
+CONFIG_FB_MODE_HELPERS=y
+CONFIG_FB_TILEBLITTING=y
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_VGA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FONTS is not set
+CONFIG_FONT_8x8=y
+CONFIG_FONT_8x16=y
+
+#
+# Logo configuration
+#
+CONFIG_LOGO=y
+# CONFIG_LOGO_LINUX_MONO is not set
+# CONFIG_LOGO_LINUX_VGA16 is not set
+CONFIG_LOGO_LINUX_CLUT224=y
+# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
+CONFIG_X11_FB=y
+CONFIG_BINFMT_ELF=y
+CONFIG_BINFMT_MISC=y
+CONFIG_HOSTFS=y
+CONFIG_MCONSOLE=y
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_HOST_2G_2G is not set
+CONFIG_NEST_LEVEL=0
+CONFIG_KERNEL_HALF_GIGS=1
+CONFIG_KERNEL_STACK_ORDER=2
+CONFIG_UML_REAL_TIME_CLOCK=y
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_CLEAN_COMPILE=y
+CONFIG_BROKEN_ON_SMP=y
+
+#
+# General setup
+#
+CONFIG_LOCALVERSION=""
+CONFIG_SWAP=y
+CONFIG_SYSVIPC=y
+# CONFIG_POSIX_MQUEUE is not set
+CONFIG_BSD_PROCESS_ACCT=y
+# CONFIG_BSD_PROCESS_ACCT_V3 is not set
+CONFIG_SYSCTL=y
+# CONFIG_AUDIT is not set
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_HOTPLUG is not set
+CONFIG_KOBJECT_UEVENT=y
+# CONFIG_IKCONFIG is not set
+# CONFIG_EMBEDDED is not set
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+# CONFIG_LTT is not set
+CONFIG_SHMEM=y
+CONFIG_CC_ALIGN_FUNCTIONS=0
+CONFIG_CC_ALIGN_LABELS=0
+CONFIG_CC_ALIGN_LOOPS=0
+CONFIG_CC_ALIGN_JUMPS=0
+# CONFIG_TINY_SHMEM is not set
+
+#
+# Loadable module support
+#
+# CONFIG_MODULES is not set
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+# CONFIG_PREVENT_FIRMWARE_BUILD is not set
+# CONFIG_FW_LOADER is not set
+
+#
+# Character Devices
+#
+CONFIG_STDERR_CONSOLE=y
+CONFIG_STDIO_CONSOLE=y
+CONFIG_SSL=y
+CONFIG_NULL_CHAN=y
+CONFIG_PORT_CHAN=y
+CONFIG_PTY_CHAN=y
+CONFIG_TTY_CHAN=y
+CONFIG_XTERM_CHAN=y
+# CONFIG_NOCONFIG_CHAN is not set
+CONFIG_CON_ZERO_CHAN="fd:0,fd:1"
+CONFIG_CON_CHAN="xterm"
+CONFIG_SSL_CHAN="pty"
+CONFIG_UML_SOUND=y
+CONFIG_SOUND=y
+CONFIG_HOSTAUDIO=y
+
+#
+# Block devices
+#
+CONFIG_BLK_DEV_UBD=y
+# CONFIG_BLK_DEV_UBD_SYNC is not set
+CONFIG_BLK_DEV_COW_COMMON=y
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+CONFIG_BLK_DEV_NBD=y
+CONFIG_BLK_DEV_RAM=y
+CONFIG_BLK_DEV_RAM_COUNT=16
+CONFIG_BLK_DEV_RAM_SIZE=4096
+CONFIG_BLK_DEV_INITRD=y
+CONFIG_INITRAMFS_SOURCE=""
+# CONFIG_LBD is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+CONFIG_IOSCHED_AS=y
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_ATA_OVER_ETH is not set
+CONFIG_NETDEVICES=y
+
+#
+# UML Network Devices
+#
+CONFIG_UML_NET=y
+CONFIG_UML_NET_ETHERTAP=y
+CONFIG_UML_NET_TUNTAP=y
+CONFIG_UML_NET_SLIP=y
+CONFIG_UML_NET_DAEMON=y
+CONFIG_UML_NET_MCAST=y
+CONFIG_UML_NET_SLIRP=y
+
+#
+# Networking support
+#
+
+#
+# Networking options
+#
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+# CONFIG_NETLINK_DEV is not set
+CONFIG_UNIX=y
+# CONFIG_NET_KEY is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_IP_TCPDIAG=y
+# CONFIG_IP_TCPDIAG_IPV6 is not set
+# CONFIG_IPV6 is not set
+# CONFIG_NETFILTER is not set
+
+#
+# SCTP Configuration (EXPERIMENTAL)
+#
+# CONFIG_IP_SCTP is not set
+# CONFIG_ATM is not set
+# CONFIG_BRIDGE is not set
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_NET_DIVERT is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+# CONFIG_NET_CLS_ROUTE is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_KGDBOE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NETPOLL_RX is not set
+# CONFIG_NETPOLL_TRAP is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+CONFIG_DUMMY=y
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+CONFIG_TUN=y
+
+#
+# Ethernet (10 or 100Mbit)
+#
+# CONFIG_NET_ETHERNET is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+
+#
+# Wireless LAN (non-hamradio)
+#
+# CONFIG_NET_RADIO is not set
+
+#
+# PCMCIA network device support
+#
+# CONFIG_NET_PCMCIA is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+CONFIG_PPP=y
+# CONFIG_PPP_MULTILINK is not set
+# CONFIG_PPP_FILTER is not set
+# CONFIG_PPP_ASYNC is not set
+# CONFIG_PPP_SYNC_TTY is not set
+# CONFIG_PPP_DEFLATE is not set
+# CONFIG_PPP_BSDCOMP is not set
+# CONFIG_PPPOE is not set
+CONFIG_SLIP=y
+# CONFIG_SLIP_COMPRESSED is not set
+# CONFIG_SLIP_SMART is not set
+# CONFIG_SLIP_MODE_SLIP6 is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT3_FS is not set
+# CONFIG_JBD is not set
+# CONFIG_REISER4_FS is not set
+CONFIG_REISERFS_FS=y
+# CONFIG_REISERFS_CHECK is not set
+# CONFIG_REISERFS_PROC_INFO is not set
+# CONFIG_REISERFS_FS_XATTR is not set
+# CONFIG_JFS_FS is not set
+
+#
+# XFS support
+#
+# CONFIG_XFS_FS is not set
+CONFIG_MINIX_FS=y
+# CONFIG_ROMFS_FS is not set
+CONFIG_QUOTA=y
+# CONFIG_QFMT_V1 is not set
+# CONFIG_QFMT_V2 is not set
+CONFIG_QUOTACTL=y
+CONFIG_DNOTIFY=y
+CONFIG_AUTOFS_FS=y
+CONFIG_AUTOFS4_FS=y
+
+#
+# Caches
+#
+# CONFIG_FSCACHE is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+CONFIG_ISO9660_FS=y
+# CONFIG_JOLIET is not set
+# CONFIG_ZISOFS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+CONFIG_MSDOS_FS=y
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_SYSFS=y
+CONFIG_DEVFS_FS=y
+CONFIG_DEVFS_MOUNT=y
+# CONFIG_DEVFS_DEBUG is not set
+# CONFIG_DEVPTS_FS_XATTR is not set
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_XATTR is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_RELAYFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+# CONFIG_NFS_FS is not set
+# CONFIG_NFSD is not set
+# CONFIG_EXPORTFS is not set
+# CONFIG_SMB_FS is not set
+# CONFIG_CIFS is not set
+# CONFIG_NCP_FS is not set
+# CONFIG_CODA_FS is not set
+# CONFIG_AFS_FS is not set
+
+#
+# Partition Types
+#
+# CONFIG_PARTITION_ADVANCED is not set
+CONFIG_MSDOS_PARTITION=y
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+# CONFIG_NLS_CODEPAGE_437 is not set
+# CONFIG_NLS_CODEPAGE_737 is not set
+# CONFIG_NLS_CODEPAGE_775 is not set
+# CONFIG_NLS_CODEPAGE_850 is not set
+# CONFIG_NLS_CODEPAGE_852 is not set
+# CONFIG_NLS_CODEPAGE_855 is not set
+# CONFIG_NLS_CODEPAGE_857 is not set
+# CONFIG_NLS_CODEPAGE_860 is not set
+# CONFIG_NLS_CODEPAGE_861 is not set
+# CONFIG_NLS_CODEPAGE_862 is not set
+# CONFIG_NLS_CODEPAGE_863 is not set
+# CONFIG_NLS_CODEPAGE_864 is not set
+# CONFIG_NLS_CODEPAGE_865 is not set
+# CONFIG_NLS_CODEPAGE_866 is not set
+# CONFIG_NLS_CODEPAGE_869 is not set
+# CONFIG_NLS_CODEPAGE_936 is not set
+# CONFIG_NLS_CODEPAGE_950 is not set
+# CONFIG_NLS_CODEPAGE_932 is not set
+# CONFIG_NLS_CODEPAGE_949 is not set
+# CONFIG_NLS_CODEPAGE_874 is not set
+# CONFIG_NLS_ISO8859_8 is not set
+# CONFIG_NLS_CODEPAGE_1250 is not set
+# CONFIG_NLS_CODEPAGE_1251 is not set
+# CONFIG_NLS_ASCII is not set
+# CONFIG_NLS_ISO8859_1 is not set
+# CONFIG_NLS_ISO8859_2 is not set
+# CONFIG_NLS_ISO8859_3 is not set
+# CONFIG_NLS_ISO8859_4 is not set
+# CONFIG_NLS_ISO8859_5 is not set
+# CONFIG_NLS_ISO8859_6 is not set
+# CONFIG_NLS_ISO8859_7 is not set
+# CONFIG_NLS_ISO8859_9 is not set
+# CONFIG_NLS_ISO8859_13 is not set
+# CONFIG_NLS_ISO8859_14 is not set
+# CONFIG_NLS_ISO8859_15 is not set
+# CONFIG_NLS_KOI8_R is not set
+# CONFIG_NLS_KOI8_U is not set
+# CONFIG_NLS_UTF8 is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+# CONFIG_CRYPTO is not set
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+# CONFIG_CRC_CCITT is not set
+CONFIG_CRC32=y
+# CONFIG_LIBCRC32C is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Kernel hacking
+#
+# CONFIG_DEBUG_KERNEL is not set
diff --git a/recipes/linux-uml/linux-uml_2.4.26.bb b/recipes/linux-uml/linux-uml_2.4.26.bb
new file mode 100644
index 0000000000..11b2a2261c
--- /dev/null
+++ b/recipes/linux-uml/linux-uml_2.4.26.bb
@@ -0,0 +1,44 @@
+SECTION = "kernel"
+DESCRIPTION = "User Mode Linux Kernel"
+LICENSE = "GPL"
+UMLR = "2"
+PR = "1"
+
+SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.4/linux-${PV}.tar.bz2 \
+ ${SOURCEFORGE_MIRROR}/user-mode-linux/uml-patch-${PV}-${UMLR}.bz2;patch=1 \
+ file://defconfig \
+ file://aio_abi.h"
+S = "${WORKDIR}/linux-${PV}"
+
+inherit kernel
+
+COMPATIBLE_HOST = 'i.86.*-linux'
+COMPATIBLE_MACHINE = "x86-uml"
+
+export OS = "Linux"
+ARCH = "um"
+SUBARCH = "${TARGET_ARCH}"
+KERNEL_IMAGETYPE = "linux"
+
+do_configure() {
+ install -m 0644 ${WORKDIR}/defconfig .config
+ oe_runmake oldconfig
+ install -d arch/um/include/linux/
+ #install -m 0644 ${WORKDIR}/aio_abi.h arch/um/include/linux/
+}
+
+do_compile() {
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ oe_runmake dep
+ oe_runmake HAVE_AIO_ABI= HAVE_AIO_LIBC= STAGING_LIBDIR=${STAGING_LIBDIR} ${KERNEL_IMAGETYPE}
+ oe_runmake modules
+}
+
+do_install() {
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" modules_install
+ install -d ${D}/boot
+ install -m 0755 linux ${D}/boot/linux-${PV}
+ install -m 0644 System.map ${D}/boot/System.map-${PV}
+ install -m 0644 .config ${D}/boot/config-${PV}
+}
diff --git a/recipes/linux-uml/linux-uml_2.6.11-rc2-mm1.bb b/recipes/linux-uml/linux-uml_2.6.11-rc2-mm1.bb
new file mode 100644
index 0000000000..915378cb56
--- /dev/null
+++ b/recipes/linux-uml/linux-uml_2.6.11-rc2-mm1.bb
@@ -0,0 +1,58 @@
+DESCRIPTION = "User Mode Linux Kernel"
+SECTION = "kernel"
+LICENSE = "GPL"
+KV = "${@bb.data.getVar('PV',d,True).split('-')[0]}"
+RCV = "${@bb.data.getVar('PV',d,True).split('-')[1]}"
+MMV = "${@bb.data.getVar('PV',d,True).split('-')[2]}"
+LV = "2.6.10"
+PR = "r3"
+
+SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-${LV}.tar.bz2 \
+ ${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/testing/patch-${KV}-${RCV}.bz2;patch=1 \
+ ${KERNELORG_MIRROR}/pub/linux/kernel/people/akpm/patches/2.6/${KV}-${RCV}/${KV}-${RCV}-${MMV}/${KV}-${RCV}-${MMV}.gz;patch=1 \
+ file://defconfig"
+#http://www.suse.de/~kraxel/uml/patches/2.6.10-rc3/uml-core-on-panic;patch=1 \
+#http://www.suse.de/~kraxel/uml/patches/2.6.10-rc3/uml-pretend-to-be-i586;patch=1 \
+#http://www.suse.de/~kraxel/uml/patches/2.6.10-rc3/uml-general-protection-fault;patch=1 \
+#http://www.suse.de/~kraxel/uml/patches/2.6.10-rc3/uml-x11-fb;patch=1 \
+
+S = "${WORKDIR}/linux-${LV}"
+
+inherit kernel
+
+COMPATIBLE_HOST = 'i.86.*-linux'
+COMPATIBLE_MACHINE = "x86-uml"
+
+export OS = "Linux"
+ARCH = "um"
+SUBARCH = "${TARGET_ARCH}"
+KERNEL_IMAGETYPE = "linux"
+EXTRA_OEMAKE = "'CC=${KERNEL_CC}' 'LD=${KERNEL_LD}' \
+ 'SUBARCH=${SUBARCH}'"
+EXTRA_CFLAGS += "-I${includedir}"
+
+do_configure() {
+ install -m 0644 ${WORKDIR}/defconfig .config
+ oe_runmake oldconfig
+}
+
+do_compile() {
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ install -d arch/um/include/linux/
+ install -m 0644 include/linux/inet.h arch/um/include/linux/
+ kernel_do_compile
+}
+
+do_stage_prepend() {
+ install -d arch/um/boot/
+ ln -sf ${S}/linux arch/um/boot/linux
+}
+
+do_install() {
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+ #oe_runmake DEPMOD=echo INSTALL_MOD_PATH="${D}" modules_install
+ install -d ${D}/boot
+ install -m 0755 linux ${D}/boot/linux-${PV}
+ install -m 0644 System.map ${D}/boot/System.map-${PV}
+ install -m 0644 .config ${D}/boot/config-${PV}
+}