ubi-utils-klibc: initial commit of version 1.4.9

* Initially only ubiattach was targeted (for kexecboot project).
* Based on klibc_1.5.25, will be revised once new klibc is out.

Signed-off-by: Andrea Adami <andrea.adami@gmail.com>
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
This commit is contained in:
Andrea Adami
2012-04-29 22:51:33 +00:00
committed by Koen Kooi
parent 7d85a77fb4
commit c39bea00e2
5 changed files with 208 additions and 0 deletions
@@ -0,0 +1,50 @@
--- a/Makefile 2012-04-29 18:15:30.000000000 +0200
+++ b/Makefile 2012-04-29 00:43:03.000000000 +0200
@@ -16,27 +16,11 @@
TESTS = tests
-MTD_BINS = \
- ftl_format flash_erase nanddump doc_loadbios \
- ftl_check mkfs.jffs2 flash_lock flash_unlock \
- flash_otp_info flash_otp_dump mtd_debug flashcp nandwrite nandtest \
- jffs2dump \
- nftldump nftl_format docfdisk \
- rfddump rfdformat \
- serve_image recv_image \
- sumtool jffs2reader
-UBI_BINS = \
- ubiupdatevol ubimkvol ubirmvol ubicrc32 ubinfo ubiattach \
- ubidetach ubinize ubiformat ubirename mtdinfo ubirsvol
-
-BINS = $(MTD_BINS)
-BINS += mkfs.ubifs/mkfs.ubifs
-BINS += $(addprefix ubi-utils/,$(UBI_BINS))
-SCRIPTS = flash_eraseall
+UBI_BINS = ubiupdatevol ubimkvol ubirmvol ubinfo ubiattach ubidetach ubirename mtdinfo ubirsvol
+
+BINS = $(addprefix ubi-utils/,$(UBI_BINS))
TARGETS = $(BINS)
-TARGETS += lib/libmtd.a
-TARGETS += ubi-utils/libubi.a
OBJDEPS = $(BUILDDIR)/include/version.h
@@ -58,7 +42,7 @@
rm -f $(BUILDDIR)/include/version.h
$(MAKE) -C $(TESTS) clean
-install:: $(addprefix $(BUILDDIR)/,${BINS}) ${SCRIPTS}
+install:: $(addprefix $(BUILDDIR)/,${BINS})
mkdir -p ${DESTDIR}/${SBINDIR}
install -m 0755 $^ ${DESTDIR}/${SBINDIR}/
mkdir -p ${DESTDIR}/${MANDIR}/man1
@@ -88,7 +72,6 @@
LDFLAGS_jffs2reader = $(ZLIBLDFLAGS) $(LZOLDFLAGS)
LDLIBS_jffs2reader = -lz $(LZOLDLIBS)
-$(foreach v,$(MTD_BINS),$(eval $(call mkdep,,$(v))))
#
# Common libmtd
@@ -0,0 +1,8 @@
--- a/common.mk 2012-04-29 18:15:30.000000000 +0200
+++ b/common.mk 2012-04-29 00:51:53.000000000 +0200
@@ -1,4 +1,4 @@
-CC := $(CROSS)gcc
+CC := $(CROSS)klcc
AR := $(CROSS)ar
RANLIB := $(CROSS)ranlib
@@ -0,0 +1,24 @@
--- a/lib/libmtd.c 2012-04-29 21:44:52.000000000 +0200
+++ b/lib/libmtd.c 2012-04-29 21:43:04.000000000 +0200
@@ -441,8 +441,8 @@
return -1;
}
- major = major(st.st_rdev);
- minor = minor(st.st_rdev);
+ major = __major(st.st_rdev);
+ minor = __minor(st.st_rdev);
if (mtd_get_info((libmtd_t *)lib, &info))
return -1;
@@ -1381,8 +1381,8 @@
return -1;
}
- major = major(st.st_rdev);
- minor = minor(st.st_rdev);
+ major = __major(st.st_rdev);
+ minor = __minor(st.st_rdev);
if (mtd_get_info((libmtd_t *)lib, &info))
return -1;
@@ -0,0 +1,73 @@
--- a/ubi-utils/libubi.c 2012-04-29 21:44:52.000000000 +0200
+++ b/ubi-utils/libubi.c 2012-04-29 21:43:52.000000000 +0200
@@ -36,6 +36,26 @@
#include "libubi_int.h"
#include "common.h"
+/* parts of mtd/ubi-user.h */
+
+/* Set an UBI volume property */
+#define UBI_IOCSETPROP _IOW(UBI_VOL_IOC_MAGIC, 6, struct ubi_set_prop_req)
+
+/**
+ * struct ubi_set_prop_req - a data structure used to set an ubi volume
+ * property.
+ * @property: property to set (%UBI_PROP_DIRECT_WRITE)
+ * @padding: reserved for future, not used, has to be zeroed
+ * @value: value to set
+ */
+struct ubi_set_prop_req {
+ uint8_t property;
+ uint8_t padding[7];
+ uint64_t value;
+} __attribute__ ((packed));
+
+/* end parts of mtd/ubi-user.h */
+
/**
* mkpath - compose full path from 2 given components.
* @path: the first component
@@ -382,8 +402,8 @@
return errmsg("\"%s\" is not a character device", node);
}
- major = major(st.st_rdev);
- minor = minor(st.st_rdev);
+ major = __major(st.st_rdev);
+ minor = __minor(st.st_rdev);
if (minor == 0) {
errno = EINVAL;
@@ -448,8 +468,8 @@
return errmsg("\"%s\" is not a character device", node);
}
- major = major(st.st_rdev);
- minor = minor(st.st_rdev);
+ major = __major(st.st_rdev);
+ minor = __minor(st.st_rdev);
if (minor != 0) {
errno = EINVAL;
@@ -757,8 +777,8 @@
mtd_dev_node);
}
- major = major(sb.st_rdev);
- minor = minor(sb.st_rdev);
+ major = __major(sb.st_rdev);
+ minor = __minor(sb.st_rdev);
if (major != MTD_CHAR_MAJOR) {
errno = EINVAL;
@@ -866,8 +886,8 @@
return -1;
}
- major = major(st.st_rdev);
- minor = minor(st.st_rdev);
+ major = __major(st.st_rdev);
+ minor = __minor(st.st_rdev);
if (ubi_get_info((libubi_t *)lib, &info))
return -1;