diff --git a/mtd-utils/Makefile b/mtd-utils/Makefile
new file mode 100644
index 0000000000000000000000000000000000000000..b93be849309f0f136e1440bc505bfb81ea33023d
--- /dev/null
+++ b/mtd-utils/Makefile
@@ -0,0 +1,69 @@
+#
+# Copyright (C) 2006-2012 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=mtd-utils
+PKG_VERSION:=1.4.5
+PKG_RELEASE:=1
+ifeq ($(CONFIG_BCM_OPEN),y)
+PKG_SOURCE_URL:=http://ihgsp.inteno.se/git/mtd-utils
+else
+PKG_SOURCE_URL:=git@ihgsp.inteno.se:mtd-utils
+endif
+PKG_SOURCE_PROTO:=git
+PKG_SOURCE_VERSION:=3a0d8a01d91e0e80bc59d6320e91c07383f0ede2
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.gz
+PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
+PKG_CAT:=zcat
+
+HOST_BUILD_DIR:=$(BUILD_DIR_HOST)/$(PKG_NAME)-$(PKG_VERSION)
+
+include $(INCLUDE_DIR)/host-build.mk
+
+HOST_CFLAGS += -I$(STAGING_DIR_HOST)/include/e2fsprogs
+CFLAGS := $(HOST_CFLAGS) -I$(HOST_BUILD_DIR)/include -L$(HOST_BUILD_DIR) -L$(STAGING_DIR_HOST)/lib -DNO_NATIVE_SUPPORT
+ifneq ($(HOST_OS),Linux)
+CFLAGS += -Dloff_t=off_t -D__BYTE_ORDER=BYTE_ORDER -include getline.h -include endian.h -I$(CURDIR)/include -include fls.h
+endif
+
+MTD_MAKEOPTS = \
+	CFLAGS="$(CFLAGS)" \
+	LDFLAGS="$(HOST_LDFLAGS) $(HOST_STATIC_LINKING)" \
+	WITHOUT_LZO=1 WITHOUT_XATTR=1 \
+	LZMA_STATIC_LIB="$(STAGING_DIR_HOST)/lib/liblzma.a" \
+	SUBDIRS="" \
+	BUILDDIR="$(HOST_BUILD_DIR)"
+
+define Host/Compile
+	$(MAKE) -C $(HOST_BUILD_DIR)/lib \
+		$(MTD_MAKEOPTS) \
+		TARGETS="libmtd.a libcrc32.a" \
+		LIBS="libmtd libcrc32"
+	$(MAKE) -C $(HOST_BUILD_DIR) \
+		$(MTD_MAKEOPTS) \
+		TARGETS=mkfs.jffs2
+	$(MAKE) -C $(HOST_BUILD_DIR)/ubi-utils \
+		$(MTD_MAKEOPTS) \
+		TARGETS=ubinize
+	$(MAKE) -C $(HOST_BUILD_DIR)/mkfs.ubifs \
+		$(MTD_MAKEOPTS) \
+		BUILDDIR="$(HOST_BUILD_DIR)/mkfs.ubifs"
+endef
+
+define Host/Install
+	$(CP) \
+		$(HOST_BUILD_DIR)/mkfs.jffs2 \
+		$(HOST_BUILD_DIR)/mkfs.ubifs/mkfs.ubifs \
+		$(HOST_BUILD_DIR)/ubinize \
+		$(STAGING_DIR_HOST)/bin/
+endef
+
+define Host/Clean
+	rm -f $(STAGING_DIR_HOST)/bin/{mkfs.jffs2,mkfs.ubifs,ubinize}
+endef
+
+$(eval $(call HostBuild))
diff --git a/mtd-utils/include/fls.h b/mtd-utils/include/fls.h
new file mode 100644
index 0000000000000000000000000000000000000000..7514253cc0b855eccbbbbe4ae6fd597b3598f33f
--- /dev/null
+++ b/mtd-utils/include/fls.h
@@ -0,0 +1,2 @@
+#include <string.h>
+#define fls local_fls
diff --git a/mtd-utils/include/linux/types.h b/mtd-utils/include/linux/types.h
new file mode 100644
index 0000000000000000000000000000000000000000..559fac7a2cffaea2134091d5437bee62948a54a3
--- /dev/null
+++ b/mtd-utils/include/linux/types.h
@@ -0,0 +1,18 @@
+#ifndef _LINUX_TYPES_H
+#define _LINUX_TYPES_H
+
+#include <mtd/ubi-media.h>
+
+typedef uint16_t __u16;
+typedef uint32_t __u32;
+typedef uint64_t __u64;
+
+typedef __u16 __le16;
+typedef __u32 __le32;
+typedef __u64 __le64;
+typedef __u64 off64_t;
+
+typedef __u16  __sum16;
+typedef __u32  __wsum;
+
+#endif /* _LINUX_TYPES_H */