summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--conf/checksums.ini16
-rw-r--r--conf/distro/include/sane-srcrevs.inc5
-rw-r--r--conf/distro/minimal-uclibc.conf4
-rw-r--r--conf/machine/omap3evm.conf2
-rw-r--r--conf/machine/vortex86sx.conf2
-rw-r--r--recipes/devmem2/devmem2.bb2
-rw-r--r--recipes/dri/libdrm_2.4.11.bb5
-rw-r--r--recipes/ezx/ezxd_svn.bb2
-rw-r--r--recipes/imagemagick/imagemagick_6.3.5-10.bb2
-rw-r--r--recipes/ipython/ipython_0.10.bb15
-rw-r--r--recipes/klibc/files/fstype-sane-vfat-and-jffs2-for-1.5.patch18
-rw-r--r--recipes/klibc/files/modprobe.patch10
-rw-r--r--recipes/klibc/files/staging.patch14
-rw-r--r--recipes/klibc/files/wc.patch2
-rw-r--r--recipes/klibc/klibc-1.5/fstype-sane-vfat-and-jffs2-for-1.5.patch63
-rw-r--r--recipes/klibc/klibc-1.5/modprobe.patch1985
-rw-r--r--recipes/klibc/klibc-1.5/staging.patch144
-rw-r--r--recipes/klibc/klibc-1.5/wc.patch236
-rw-r--r--recipes/klibc/klibc-common_1.5.15.inc42
-rw-r--r--recipes/klibc/klibc-utils-static_1.5.15.bb98
-rw-r--r--recipes/klibc/klibc_1.5.15.bb2
-rw-r--r--recipes/klibc/klibc_1.5.15.inc146
-rw-r--r--recipes/libsynthesis/libsynthesis_git.bb18
-rw-r--r--recipes/libtool/libtool-cross_2.2.4.bb7
-rw-r--r--recipes/libtool/libtool-cross_2.2.6a.bb7
-rw-r--r--recipes/libtool/libtool-sdk_2.2.4.bb7
-rw-r--r--recipes/libtool/libtool-sdk_2.2.6a.bb7
-rw-r--r--recipes/libtool/libtool_2.2.4.bb12
-rw-r--r--recipes/libtool/libtool_2.2.6a.bb10
-rw-r--r--recipes/mux/mux_git.bb13
-rw-r--r--recipes/python/python-2.6-manifest.inc90
-rw-r--r--recipes/python/python-2.6.2/00-fix-bindir-libdir-for-cross.patch20
-rw-r--r--recipes/python/python-2.6.2/01-use-proper-tools-for-cross-build.patch116
-rw-r--r--recipes/python/python-2.6.2/02-remove-test-for-cross.patch94
-rw-r--r--recipes/python/python-2.6.2/03-fix-tkinter-detection.patch40
-rw-r--r--recipes/python/python-2.6.2/04-default-is-optimized.patch52
-rw-r--r--recipes/python/python-2.6.2/05-enable-ctypes-cross-build.patch28
-rw-r--r--recipes/python/python-2.6.2/99-ignore-optimization-flag.patch19
-rw-r--r--recipes/python/python-2.6.2/sitecustomize.py45
-rw-r--r--recipes/python/python-native_2.6.1.bb5
-rw-r--r--recipes/python/python.inc2
-rw-r--r--recipes/python/python_2.6.2.bb130
-rw-r--r--recipes/uclibc/uclibc_nptl.bb2
-rw-r--r--recipes/util-linux-ng/util-linux-ng-2.16/util-linux-ng-replace-siginterrupt.patch23
-rw-r--r--recipes/util-linux-ng/util-linux-ng_2.16.bb3
-rw-r--r--recipes/xorg-xserver/xserver-xorg-conf_0.1.bb4
-rw-r--r--recipes/xserver-common/xserver-common-1.30/0018-zaurus-fixed-machine-names.patch35
-rw-r--r--recipes/xserver-common/xserver-common-1.30/0019-keymap-fixed-machine-names.patch59
-rw-r--r--recipes/xserver-common/xserver-common-1.30/0020-keymap-fixed-machine-names-again.patch50
-rw-r--r--recipes/xserver-common/xserver-common-1.30/0021-xserver-introduced-MOUSE-variable-for-mouse-argument.patch63
-rw-r--r--recipes/xserver-common/xserver-common-1.30/0022-xserver-fix-syntax-error.patch27
-rw-r--r--recipes/xserver-common/xserver-common_1.30.bb26
52 files changed, 3734 insertions, 95 deletions
diff --git a/conf/checksums.ini b/conf/checksums.ini
index 12f0c99f4c..92f3c6faef 100644
--- a/conf/checksums.ini
+++ b/conf/checksums.ini
@@ -854,6 +854,10 @@ sha256=f2f80e2a62a039e9a1ffa0fdf58707b2d12b3ff33c56472b46bb6d53f45e083e
md5=e81c2f0953aa60f8062c05a4673f2be0
sha256=cf153f10ba6312a8303ceb01bed834a2786d28aa89c7d73dba64714f691628f6
+[http://www.python.org/ftp/python/2.6.2/Python-2.6.2.tar.bz2]
+md5=245db9f1e0f09ab7e0faaa0cf7301011
+sha256=a1cdc4a8f6c1f947ea3b87d097af2db4371019bac941d92c3844124c5694328b
+
[http://jerakeen.org/files/PythonDaap-0.4.tar.gz]
md5=f7672bfd563787a76fb7e9a43c062f18
sha256=5318946df77937e0b601c95a198790f9ba52d4afb4eb153480289350182bb739
@@ -4735,8 +4739,8 @@ md5=e23f236e94be4c429aa1ceac0f01544b
sha256=3b15515693bae1ebd14d914e46d388edfec2175829ea1576a7a0c8606ebbe639
[http://www.lartmaker.nl/lartware/port/devmem2.c]
-md5=e23f236e94be4c429aa1ceac0f01544b
-sha256=3b15515693bae1ebd14d914e46d388edfec2175829ea1576a7a0c8606ebbe639
+md5=be12c0132a1ae118cbf5e79d98427c1d
+sha256=ec382c90af3ef2f49695ff14a4d6521e58ac482c4e29d6c9ebca8768f699c191
[http://pknet.com/~joe/dgen-sdl-1.23.tar.gz]
md5=b1896c1b21ddb152626aec2e8a157a3a
@@ -11470,6 +11474,10 @@ sha256=25d45acf19e3acd09745df47581ac7a13e3694ee51fe4e642108f9f228cacca9
md5=a1d0aca33da380d6045c5c0e5002c09d
sha256=9e4ab143828fefb3b67ce2bc3ad63a91cacc45d97161822915778683fb80343b
+[http://ipython.scipy.org/dist/ipython-0.10.tar.gz]
+md5=dd10cd1b622c16c1afca2239fcc0dfdf
+sha256=60d602637dc5f078b083a4ca5ab64364ba816bd72439844012ed11a30f88228c
+
[http://ipython.scipy.org/dist/ipython-0.9.1.tar.gz]
md5=8a1bd1a9be272f4ddf4de99e5c1ad0dc
sha256=5540bc1a01f11ca66c3d7c31a43af670fd0f0044b8e38d142614872956548006
@@ -11974,6 +11982,10 @@ sha256=6a2efdfc757c518a8185f457799506086084b59498f53db37cfb6728008127e0
md5=481dfdef7273f2cc776c2637f481f017
sha256=27000ba4bc73a5977502b27d7036df24dd6ab94a1c33b8f5d6d54ba62772f0c7
+[http://kernel.org/pub/linux/libs/klibc/Testing/klibc-1.5.15.tar.bz2]
+md5=db2152a8a03bd81e21a5f451f537ae3d
+sha256=8b5334ef88b075f374b031695181b4302c3e5621bf2737a39fdf28262b0f80f4
+
[http://downloads.sourceforge.net/klimt/klimt-src-0.6.1.zip]
md5=d12f56384b4ccde11cd756db2b14065c
sha256=48ae508d72e453e2a1f5748870362259786b475548c545feaec1aea71d2f8fdb
diff --git a/conf/distro/include/sane-srcrevs.inc b/conf/distro/include/sane-srcrevs.inc
index 586bbc172a..7297f4710b 100644
--- a/conf/distro/include/sane-srcrevs.inc
+++ b/conf/distro/include/sane-srcrevs.inc
@@ -111,8 +111,8 @@ SRCREV_pn-libmokopanelui2 ?= "4568"
SRCREV_pn-libmokoui2 ?= "4342"
SRCREV_pn-libowl ?= "277"
SRCREV_pn-librfid ?= "2094"
+SRCREV_pn-libsynthesis ?= "70f0065aa3b085bdf059830f95e5b5766eecb0bb"
SRCREV_pn-libw100 ?= "47"
-SRCREV_pn-libowl ?= "277"
SRCREV_pn-libxcalibrate ?= "209d83af61ed38a002c8096377deac292b3e396c"
SRCREV_pn-libxosd ?= "627"
SRCREV_pn-linux-bfin ?= "3758"
@@ -146,6 +146,7 @@ SRCREV_pn-mplayer ?= "28346"
SRCREV_pn-mplayer-maemo ?= "342"
SRCREV_pn-multicat ?= "f894801916cc4d0e912e4553490dc215276c52a9"
SRCREV_pn-multitap-pad ?= "373"
+SRCREV_pn-mux ?= "72460e890dbb15edbf7dc193116be0dcf9794a8b"
SRCREV_pn-navit ?= "1096"
SRCREV_pn-neod ?= "4617"
SRCREV_pn-netsurf ?= "3859"
@@ -257,7 +258,7 @@ SRCREV_pn-vala-native ?= "6cf030120cd7f6a76a5d766d7420aea847e02cfd"
SRCREV_pn-webkit-gtk ?= "45825"
SRCREV_pn-wlan-ng-modules ?= "1859"
SRCREV_pn-wlan-ng-utils ?= "1859"
-SRCREV_pn-wmiconfig ?= "4522"
+SRCREV_pn-wmiconfig ?= "5394"
SRCREV_pn-xf86-video-glamo ?= "25c4b0e80e93e04e6f7d4b8bca6d007fb9de6da8"
SRCREV_pn-xoo ?= "1971"
SRCREV_pn-xserver-kdrive-glamo ?= "9b28d998424c77fbc057dd3a022ccbb122793a52"
diff --git a/conf/distro/minimal-uclibc.conf b/conf/distro/minimal-uclibc.conf
index 257d364292..f246bffa69 100644
--- a/conf/distro/minimal-uclibc.conf
+++ b/conf/distro/minimal-uclibc.conf
@@ -31,7 +31,7 @@ USE_NLS_glib-2.0 = "yes"
USE_NLS_glib-2.0-native = "yes"
USE_NLS_gcc-cross = "no"
-PREFERRED_VERSION_uclibc = "0.9.30.1"
-PREFERRED_VERSION_uclibc-initial = "0.9.30.1"
+PREFERRED_VERSION_uclibc ?= "0.9.30.1"
+PREFERRED_VERSION_uclibc-initial ?= "0.9.30.1"
require conf/distro/minimal.conf
diff --git a/conf/machine/omap3evm.conf b/conf/machine/omap3evm.conf
index 8780b827f5..ad410fae4c 100644
--- a/conf/machine/omap3evm.conf
+++ b/conf/machine/omap3evm.conf
@@ -23,7 +23,7 @@ EXTRA_IMAGECMD_jffs2 = "-lnp "
SERIAL_CONSOLE = "115200 ttyS0"
-PREFERRED_PROVIDER_virtual/kernel ?= "linux-omap-pm"
+PREFERRED_PROVIDER_virtual/kernel = "linux-omap-psp"
UBOOT_ARCH = "arm"
UBOOT_MACHINE = "omap3_evm_config"
diff --git a/conf/machine/vortex86sx.conf b/conf/machine/vortex86sx.conf
index b2a116d109..68a62cc4dc 100644
--- a/conf/machine/vortex86sx.conf
+++ b/conf/machine/vortex86sx.conf
@@ -3,7 +3,7 @@
require conf/machine/include/tune-i486sx.inc
-MACHINE_FEATURES += "x86"
+MACHINE_FEATURES = "kernel26 alsa vfat screen usbhost x86"
KERNEL_IMAGETYPE = "bzImage"
diff --git a/recipes/devmem2/devmem2.bb b/recipes/devmem2/devmem2.bb
index 5b72d1c31b..4888d333b1 100644
--- a/recipes/devmem2/devmem2.bb
+++ b/recipes/devmem2/devmem2.bb
@@ -1,7 +1,7 @@
DESCRIPTION = "Simple program to read/write from/to any location in memory."
SRC_URI = "http://www.lartmaker.nl/lartware/port/devmem2.c"
LICENSE = "GPL"
-PR = "r2"
+PR = "r3"
S = "${WORKDIR}"
diff --git a/recipes/dri/libdrm_2.4.11.bb b/recipes/dri/libdrm_2.4.11.bb
index 0ea2396372..4f2af1ed73 100644
--- a/recipes/dri/libdrm_2.4.11.bb
+++ b/recipes/dri/libdrm_2.4.11.bb
@@ -3,9 +3,14 @@ DEPENDS = "libpthread-stubs"
LICENSE = "MIT"
SRC_URI = "http://dri.freedesktop.org/libdrm/libdrm-${PV}.tar.bz2"
PROVIDES = "drm"
+PR = "r1"
inherit autotools pkgconfig
do_stage() {
autotools_stage_all
}
+
+PACKAGES =+ "${PN}-intel"
+
+FILES_${PN}-intel = "${libdir}/libdrm_intel.so.*"
diff --git a/recipes/ezx/ezxd_svn.bb b/recipes/ezx/ezxd_svn.bb
index ab1010c48e..ce0542fba2 100644
--- a/recipes/ezx/ezxd_svn.bb
+++ b/recipes/ezx/ezxd_svn.bb
@@ -19,6 +19,8 @@ S = "${WORKDIR}/${PN}"
CFLAGS_append = " -DDEBUG "
+TARGET_CC_ARCH += "${LDFLAGS}"
+
do_configure() {
sed -i -e s:CROSS:CC:g Makefile
}
diff --git a/recipes/imagemagick/imagemagick_6.3.5-10.bb b/recipes/imagemagick/imagemagick_6.3.5-10.bb
index 7b92a8252e..cf9e82f3e2 100644
--- a/recipes/imagemagick/imagemagick_6.3.5-10.bb
+++ b/recipes/imagemagick/imagemagick_6.3.5-10.bb
@@ -2,7 +2,7 @@ DESCRIPTION = "ImageMagick is an image convertion tools"
SECTION = "console/utils"
LICENSE = "GPL"
DEPENDS = "tiff"
-PR = "r3"
+PR = "r4"
SRC_URI = "ftp://ftp.nluug.nl/pub/ImageMagick/ImageMagick-${PV}.tar.bz2 \
file://PerlMagic_MakePatch;patch=1 \
diff --git a/recipes/ipython/ipython_0.10.bb b/recipes/ipython/ipython_0.10.bb
new file mode 100644
index 0000000000..7ab8d724e3
--- /dev/null
+++ b/recipes/ipython/ipython_0.10.bb
@@ -0,0 +1,15 @@
+DESCRIPTION = "Enhanced Python Shell"
+HOMEPAGE = "http://ipython.scipy.org/moin/"
+SECTION = "devel/python"
+LICENSE = "BSD"
+DEPENDS = "less"
+RDEPENDS = "python-pprint python-io python-shell python-misc python-lang \
+ python-stringold python-codecs python-crypt python-threading \
+ python-pydoc python-debugger python-textutils python-pickle \
+ python-subprocess"
+
+SRC_URI = "http://ipython.scipy.org/dist/ipython-${PV}.tar.gz"
+
+inherit distutils
+
+FILES_${PN} = "/"
diff --git a/recipes/klibc/files/fstype-sane-vfat-and-jffs2-for-1.5.patch b/recipes/klibc/files/fstype-sane-vfat-and-jffs2-for-1.5.patch
index b52b3e309b..6eb604e45c 100644
--- a/recipes/klibc/files/fstype-sane-vfat-and-jffs2-for-1.5.patch
+++ b/recipes/klibc/files/fstype-sane-vfat-and-jffs2-for-1.5.patch
@@ -3,17 +3,17 @@ Index: klibc-1.5/usr/kinit/fstype/fstype.c
--- klibc-1.5.orig/usr/kinit/fstype/fstype.c 2008-02-28 00:48:35.319254938 +0100
+++ klibc-1.5/usr/kinit/fstype/fstype.c 2008-02-28 00:52:20.583257793 +0100
@@ -20,7 +20,7 @@
- #include <endian.h>
#include <netinet/in.h>
+ #include <sys/utsname.h>
#include <sys/vfs.h>
-
+#include <linux/types.h>
#define cpu_to_be32(x) __cpu_to_be32(x) /* Needed by romfs_fs.h */
#include "romfs_fs.h"
-@@ -33,6 +33,12 @@
- #include "lvm2_sb.h"
- #include "iso9660_sb.h"
+@@ -37,6 +37,12 @@
+ #include "ocfs2_fs.h"
+ #include "nilfs_fs.h"
+#if __BYTE_ORDER == __BIG_ENDIAN
+#include <linux/byteorder/big_endian.h>
@@ -24,7 +24,7 @@ Index: klibc-1.5/usr/kinit/fstype/fstype.c
/*
* Slightly cleaned up version of jfs_superblock to
* avoid pulling in other kernel header files.
-@@ -54,6 +60,27 @@
+@@ -59,6 +65,27 @@
/* Swap needs the definition of block size */
#include "swap_fs.h"
@@ -50,14 +50,14 @@ Index: klibc-1.5/usr/kinit/fstype/fstype.c
+}
+
static int gzip_image(const void *buf, unsigned long long *bytes)
- {
+ {277 304
const unsigned char *p = buf;
-@@ -277,6 +304,8 @@
+@@ -490,6 +517,8 @@
{1, "ext3", ext3_image},
{1, "ext2", ext2_image},
{1, "minix", minix_image},
+ {0, "jffs2", jffs2_image},
+ {0, "vfat", vfat_image},
+ {1, "nilfs2", nilfs2_image},
+ {2, "ocfs2", ocfs2_image},
{8, "reiserfs", reiserfs_image},
- {64, "reiserfs", reiserfs_image},
- {32, "jfs", jfs_image},
diff --git a/recipes/klibc/files/modprobe.patch b/recipes/klibc/files/modprobe.patch
index 074b0b6311..61ee340ff9 100644
--- a/recipes/klibc/files/modprobe.patch
+++ b/recipes/klibc/files/modprobe.patch
@@ -7,16 +7,16 @@ Index: klibc-1.5/usr/utils/Kbuild
progs := chroot dd mkdir mkfifo mknod mount pivot_root umount
-progs += true false sleep ln nuke minips cat
--progs += insmod uname halt kill readlink cpio
+-progs += uname halt kill readlink cpio sync dmesg
+progs += true false sleep ln nuke minips cat losetup
-+progs += insmod uname halt kill readlink cpio modprobe
++progs += uname halt kill readlink cpio sync dmesg modprobe
static-y := $(addprefix static/, $(progs))
shared-y := $(addprefix shared/, $(progs))
-@@ -52,7 +52,10 @@
- shared/readlink-y := readlink.o
- static/cpio-y := cpio.o
+@@ -54,7 +54,10 @@
shared/cpio-y := cpio.o
+ static/sync-y := sync.o
+ shared/sync-y := sync.o
-
+static/modprobe-y := modprobe.o
+shared/modprobe-y := modprobe.o
diff --git a/recipes/klibc/files/staging.patch b/recipes/klibc/files/staging.patch
index 215daad456..390c214f94 100644
--- a/recipes/klibc/files/staging.patch
+++ b/recipes/klibc/files/staging.patch
@@ -26,13 +26,13 @@ Index: klibc-1.5/scripts/Kbuild.install
$(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include
$(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib
- $(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin
- $(Q)set -e ; for d in linux scsi asm-$(KLIBCARCH) asm-generic $(ASMKLIBCARCH); do \
- mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KLIBCCROSS)include/$$d ; \
+ $(Q)set -e ; for d in linux asm asm-$(KLIBCARCH) asm-generic $(ASMKLIBCARCH); do \
for r in $(KLIBCKERNELSRC)/include $(KLIBCKERNELOBJ)/include \
$(KLIBCKERNELOBJ)/include2 ; do \
- [ ! -d $$r/$$d ] || \
-- cp -rfL $$r/$$d/. \
-+ cp -rfd $$r/$$d/. \
+ [ ! -d $$r/$$d ] && continue; \
+ mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KLIBCCROSS)include/$$d ; \
+- cp -rfL $$r/$$d/. \
++ cp -rfd $$r/$$d/. \
$(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/$$d/. ; \
done ; \
done
@@ -116,7 +116,7 @@ Index: klibc-1.5/usr/kinit/run-init/Kbuild
===================================================================
--- klibc-1.5.orig/usr/kinit/run-init/Kbuild 2007-03-04 02:52:10.000000000 +0100
+++ klibc-1.5/usr/kinit/run-init/Kbuild 2008-02-24 15:13:50.221824559 +0100
-@@ -21,5 +21,3 @@
+@@ -25,5 +25,3 @@
# Cleaning
clean-dirs := static shared
@@ -136,7 +136,7 @@ Index: klibc-1.5/usr/utils/Kbuild
===================================================================
--- klibc-1.5.orig/usr/utils/Kbuild 2007-03-04 02:52:10.000000000 +0100
+++ klibc-1.5/usr/utils/Kbuild 2008-02-24 15:13:50.229824358 +0100
-@@ -64,5 +64,3 @@
+@@ -66,5 +66,3 @@
# Clean deletes the static and shared dir
clean-dirs := static shared
diff --git a/recipes/klibc/files/wc.patch b/recipes/klibc/files/wc.patch
index 296a4f9d92..f54c49d3ab 100644
--- a/recipes/klibc/files/wc.patch
+++ b/recipes/klibc/files/wc.patch
@@ -8,7 +8,7 @@ Index: klibc-1.5/usr/utils/Kbuild
progs := chroot dd mkdir mkfifo mknod mount pivot_root umount
-progs += true false sleep ln nuke minips cat losetup
+progs += true false sleep ln nuke minips cat losetup wc
- progs += insmod uname halt kill readlink cpio modprobe
+ progs += uname halt kill readlink cpio sync dmesg modprobe
static-y := $(addprefix static/, $(progs))
@@ -56,6 +56,9 @@
diff --git a/recipes/klibc/klibc-1.5/fstype-sane-vfat-and-jffs2-for-1.5.patch b/recipes/klibc/klibc-1.5/fstype-sane-vfat-and-jffs2-for-1.5.patch
new file mode 100644
index 0000000000..2ba6d98172
--- /dev/null
+++ b/recipes/klibc/klibc-1.5/fstype-sane-vfat-and-jffs2-for-1.5.patch
@@ -0,0 +1,63 @@
+Index: klibc-1.5/usr/kinit/fstype/fstype.c
+===================================================================
+--- klibc-1.5.orig/usr/kinit/fstype/fstype.c 2008-02-28 00:48:35.319254938 +0100
++++ klibc-1.5/usr/kinit/fstype/fstype.c 2008-02-28 00:52:20.583257793 +0100
+@@ -20,7 +20,7 @@
+ #include <endian.h>
+ #include <netinet/in.h>
+ #include <sys/vfs.h>
+-
++#include <linux/types.h>
+ #define cpu_to_be32(x) __cpu_to_be32(x) /* Needed by romfs_fs.h */
+
+ #include "romfs_fs.h"
+@@ -33,6 +33,12 @@
+ #include "lvm2_sb.h"
+ #include "iso9660_sb.h"
+
++#if __BYTE_ORDER == __BIG_ENDIAN
++#include <linux/byteorder/big_endian.h>
++#else
++#include <linux/byteorder/little_endian.h>
++#endif
++
+ /*
+ * Slightly cleaned up version of jfs_superblock to
+ * avoid pulling in other kernel header files.
+@@ -54,6 +60,27 @@
+ /* Swap needs the definition of block size */
+ #include "swap_fs.h"
+
++static int jffs2_image(const unsigned char *buf, unsigned long *blocks)
++{
++ // Very sloppy! ;-E
++ if (*buf == 0x85 && buf[1] == 0x19)
++ return 1;
++
++ return 0;
++}
++
++static int vfat_image(const unsigned char *buf, unsigned long *blocks)
++{
++ const struct romfs_super_block *sb =
++ (const struct romfs_super_block *)buf;
++ if (!strncmp(buf + 54, "FAT12 ", 8)
++ || !strncmp(buf + 54, "FAT16 ", 8)
++ || !strncmp(buf + 82, "FAT32 ", 8))
++ return 1;
++
++ return 0;
++}
++
+ static int gzip_image(const void *buf, unsigned long long *bytes)
+ {
+ const unsigned char *p = buf;
+@@ -277,6 +304,8 @@
+ {1, "ext3", ext3_image},
+ {1, "ext2", ext2_image},
+ {1, "minix", minix_image},
++ {0, "jffs2", jffs2_image},
++ {0, "vfat", vfat_image},
+ {8, "reiserfs", reiserfs_image},
+ {64, "reiserfs", reiserfs_image},
+ {32, "jfs", jfs_image},
diff --git a/recipes/klibc/klibc-1.5/modprobe.patch b/recipes/klibc/klibc-1.5/modprobe.patch
new file mode 100644
index 0000000000..dceaf6103f
--- /dev/null
+++ b/recipes/klibc/klibc-1.5/modprobe.patch
@@ -0,0 +1,1985 @@
+Index: klibc-1.5/usr/utils/Kbuild
+===================================================================
+--- klibc-1.5.orig/usr/utils/Kbuild 2008-03-07 22:01:45.223695348 +0100
++++ klibc-1.5/usr/utils/Kbuild 2008-03-07 22:48:44.660783243 +0100
+@@ -3,8 +3,8 @@
+ #
+
+ progs := chroot dd mkdir mkfifo mknod mount pivot_root umount
+-progs += true false sleep ln nuke minips cat
+-progs += insmod uname halt kill readlink cpio
++progs += true false sleep ln nuke minips cat losetup
++progs += insmod uname halt kill readlink cpio modprobe
+
+ static-y := $(addprefix static/, $(progs))
+ shared-y := $(addprefix shared/, $(progs))
+@@ -52,7 +52,10 @@
+ shared/readlink-y := readlink.o
+ static/cpio-y := cpio.o
+ shared/cpio-y := cpio.o
+-
++static/modprobe-y := modprobe.o
++shared/modprobe-y := modprobe.o
++static/losetup-y := losetup.o
++shared/losetup-y := losetup.o
+ # Additionally linked targets
+ always := static/reboot static/poweroff shared/reboot shared/poweroff
+
+Index: klibc-1.5/usr/utils/list.h
+===================================================================
+--- /dev/null 1970-01-01 00:00:00.000000000 +0000
++++ klibc-1.5/usr/utils/list.h 2008-03-07 22:33:22.287688586 +0100
+@@ -0,0 +1,238 @@
++/* Stolen from Linux Kernel Source's list.h -- GPL. */
++#ifndef _MODINITTOOLS_LIST_H
++#define _MODINITTOOLS_LIST_H
++
++#undef offsetof
++#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
++
++/**
++ * container_of - cast a member of a structure out to the containing structure
++ *
++ * @ptr: the pointer to the member.
++ * @type: the type of the container struct this is embedded in.
++ * @member: the name of the member within the struct.
++ *
++ */
++#define container_of(ptr, type, member) ({ \
++ const typeof( ((type *)0)->member ) *__mptr = (ptr); \
++ (type *)( (char *)__mptr - offsetof(type,member) );})
++
++/*
++ * Simple doubly linked list implementation.
++ *
++ * Some of the internal functions ("__xxx") are useful when
++ * manipulating whole lists rather than single entries, as
++ * sometimes we already know the next/prev entries and we can
++ * generate better code by using them directly rather than
++ * using the generic single-entry routines.
++ */
++
++struct list_head {
++ struct list_head *next, *prev;
++};
++
++#define LIST_HEAD_INIT(name) { &(name), &(name) }
++
++#define LIST_HEAD(name) \
++ struct list_head name = LIST_HEAD_INIT(name)
++
++#define INIT_LIST_HEAD(ptr) do { \
++ (ptr)->next = (ptr); (ptr)->prev = (ptr); \
++} while (0)
++
++/*
++ * Insert a new entry between two known consecutive entries.
++ *
++ * This is only for internal list manipulation where we know
++ * the prev/next entries already!
++ */
++static inline void __list_add(struct list_head *new,
++ struct list_head *prev,
++ struct list_head *next)
++{
++ next->prev = new;
++ new->next = next;
++ new->prev = prev;
++ prev->next = new;
++}
++
++/**
++ * list_add - add a new entry
++ * @new: new entry to be added
++ * @head: list head to add it after
++ *
++ * Insert a new entry after the specified head.
++ * This is good for implementing stacks.
++ */
++static inline void list_add(struct list_head *new, struct list_head *head)
++{
++ __list_add(new, head, head->next);
++}
++
++/**
++ * list_add_tail - add a new entry
++ * @new: new entry to be added
++ * @head: list head to add it before
++ *
++ * Insert a new entry before the specified head.
++ * This is useful for implementing queues.
++ */
++static inline void list_add_tail(struct list_head *new, struct list_head *head)
++{
++ __list_add(new, head->prev, head);
++}
++
++/*
++ * Delete a list entry by making the prev/next entries
++ * point to each other.
++ *
++ * This is only for internal list manipulation where we know
++ * the prev/next entries already!
++ */
++static inline void __list_del(struct list_head * prev, struct list_head * next)
++{
++ next->prev = prev;
++ prev->next = next;
++}
++
++/**
++ * list_del - deletes entry from list.
++ * @entry: the element to delete from the list.
++ * Note: list_empty on entry does not return true after this, the entry is
++ * in an undefined state.
++ */
++static inline void list_del(struct list_head *entry)
++{
++ __list_del(entry->prev, entry->next);
++}
++
++/**
++ * list_del_init - deletes entry from list and reinitialize it.
++ * @entry: the element to delete from the list.
++ */
++static inline void list_del_init(struct list_head *entry)
++{
++ __list_del(entry->prev, entry->next);
++ INIT_LIST_HEAD(entry);
++}
++
++/**
++ * list_move - delete from one list and add as another's head
++ * @list: the entry to move
++ * @head: the head that will precede our entry
++ */
++static inline void list_move(struct list_head *list, struct list_head *head)
++{
++ __list_del(list->prev, list->next);
++ list_add(list, head);
++}
++
++/**
++ * list_move_tail - delete from one list and add as another's tail
++ * @list: the entry to move
++ * @head: the head that will follow our entry
++ */
++static inline void list_move_tail(struct list_head *list,
++ struct list_head *head)
++{
++ __list_del(list->prev, list->next);
++ list_add_tail(list, head);
++}
++
++/**
++ * list_empty - tests whether a list is empty
++ * @head: the list to test.
++ */
++static inline int list_empty(struct list_head *head)
++{
++ return head->next == head;
++}
++
++static inline void __list_splice(struct list_head *list,
++ struct list_head *head)
++{
++ struct list_head *first = list->next;
++ struct list_head *last = list->prev;
++ struct list_head *at = head->next;
++
++ first->prev = head;
++ head->next = first;
++
++ last->next = at;
++ at->prev = last;
++}
++
++/**
++ * list_splice - join two lists
++ * @list: the new list to add.
++ * @head: the place to add it in the first list.