uboot: OS native utils for accessing the boot environment vars.
authorAndrew Wilcox <andy@protium.com>
Thu, 7 Dec 2006 19:40:25 +0000 (19:40 +0000)
committerAndrew Wilcox <andy@protium.com>
Thu, 7 Dec 2006 19:40:25 +0000 (19:40 +0000)
packages/uboot-utils/.mtn2git_empty [new file with mode: 0644]
packages/uboot-utils/env-Makefile.patch [new file with mode: 0644]
packages/uboot-utils/fw_env.c.patch [new file with mode: 0644]
packages/uboot-utils/fw_env.h.patch [new file with mode: 0644]
packages/uboot-utils/tools-Makefile.patch [new file with mode: 0644]
packages/uboot-utils/uboot-utils_1.1.2.bb [new file with mode: 0644]

diff --git a/packages/uboot-utils/.mtn2git_empty b/packages/uboot-utils/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/uboot-utils/env-Makefile.patch b/packages/uboot-utils/env-Makefile.patch
new file mode 100644 (file)
index 0000000..ad3a6b3
--- /dev/null
@@ -0,0 +1,24 @@
+--- u-boot-1.1.2.orig/tools/env/Makefile       2003-06-27 14:32:48.000000000 -0700
++++ u-boot-1.1.2/tools/env/Makefile    2006-11-08 12:33:43.000000000 -0800
+@@ -27,7 +27,7 @@
+ all:  fw_printenv
+ fw_printenv:  $(SOURCES) $(HEADERS)
+-      $(CROSS_COMPILE)gcc -Wall -DUSE_HOSTCC $(SOURCES) -o fw_printenv
++      $(CROSS_COMPILE)gcc $(TARGET_CFLAGS) -idirafter ../../include -Wall -DUSE_HOSTCC $(SOURCES) -o fw_printenv
+ clean:
+       rm -f fw_printenv crc32.c
+@@ -37,9 +37,9 @@
+ #########################################################################
+-.depend:      Makefile $(SOURCES)
+-              $(CC) -M $(HOST_CFLAGS) $(CPPFLAGS) -DUSE_HOSTCC $(SOURCES) > $@
++#.depend:     Makefile $(SOURCES)
++#             $(CC) -M $(HOST_CFLAGS) $(TARGET_CPPFLAGS) -DUSE_HOSTCC $(SOURCES) > $@
+-sinclude .depend
++#sinclude .depend
+ #########################################################################
diff --git a/packages/uboot-utils/fw_env.c.patch b/packages/uboot-utils/fw_env.c.patch
new file mode 100644 (file)
index 0000000..62f364a
--- /dev/null
@@ -0,0 +1,13 @@
+--- u-boot-1.1.2.orig/tools/env/fw_env.c       2004-12-31 01:32:54.000000000 -0800
++++ u-boot-1.1.2/tools/env/fw_env.c    2006-11-08 12:43:41.000000000 -0800
+@@ -31,7 +31,9 @@
+ #include <sys/ioctl.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
+-#include <linux/mtd/mtd.h>
++#include <stdint.h>
++#include <mtd/mtd-abi.h>
++#include <mtd/mtd-user.h>
+ #include "fw_env.h"
+ typedef unsigned char uchar;
diff --git a/packages/uboot-utils/fw_env.h.patch b/packages/uboot-utils/fw_env.h.patch
new file mode 100644 (file)
index 0000000..2ef2bb8
--- /dev/null
@@ -0,0 +1,24 @@
+--- u-boot-1.1.2.orig/tools/env/fw_env.h       2003-06-27 14:32:49.000000000 -0700
++++ u-boot-1.1.2/tools/env/fw_env.h    2006-11-16 10:51:01.000000000 -0800
+@@ -27,14 +27,15 @@
+  * See included "fw_env.config" sample file (TRAB board)
+  * for notes on configuration.
+  */
+-#define CONFIG_FILE     "/etc/fw_env.config"
+-#define HAVE_REDUND /* For systems with 2 env sectors */
+-#define DEVICE1_NAME      "/dev/mtd1"
++/* #define CONFIG_FILE     "/etc/fw_env.config" */
++
++#undef  HAVE_REDUND /* For systems with 2 env sectors */
++#define DEVICE1_NAME      "/dev/mtd/3"
+ #define DEVICE2_NAME      "/dev/mtd2"
+-#define DEVICE1_OFFSET    0x0000
+-#define ENV1_SIZE         0x4000
+-#define DEVICE1_ESIZE     0x4000
++#define DEVICE1_OFFSET    0x30000
++#define ENV1_SIZE         0x10000
++#define DEVICE1_ESIZE     0x10000
+ #define DEVICE2_OFFSET    0x0000
+ #define ENV2_SIZE         0x4000
+ #define DEVICE2_ESIZE     0x4000
diff --git a/packages/uboot-utils/tools-Makefile.patch b/packages/uboot-utils/tools-Makefile.patch
new file mode 100644 (file)
index 0000000..a44bc91
--- /dev/null
@@ -0,0 +1,19 @@
+--- u-boot-1.1.2.orig/tools/Makefile   2004-09-28 14:39:46.000000000 -0700
++++ u-boot-1.1.2/tools/Makefile        2006-11-08 11:07:18.000000000 -0800
+@@ -56,7 +56,7 @@
+ HOSTOS := $(shell uname -s | tr A-Z a-z | \
+       sed -e 's/\(cygwin\).*/cygwin/')
+-TOOLSUBDIRS =
++TOOLSUBDIRS = env
+ #
+ # Mac OS X / Darwin's C preprocessor is Apple specific.  It
+@@ -176,6 +176,7 @@
+ else
+               @for dir in $(TOOLSUBDIRS) ; do \
+                   $(MAKE) \
++                      CROSS_COMPILE=$(CROSS_COMPILE) \
+                       HOSTOS=$(HOSTOS) \
+                       HOSTARCH=$(HOSTARCH) \
+                       HOST_CFLAGS="$(HOST_CFLAGS)" \
diff --git a/packages/uboot-utils/uboot-utils_1.1.2.bb b/packages/uboot-utils/uboot-utils_1.1.2.bb
new file mode 100644 (file)
index 0000000..d70a055
--- /dev/null
@@ -0,0 +1,33 @@
+DESCRIPTION = "U-boot bootloader OS env. access tools for PPC"
+PRIORITY = "optional"
+LICENSE = "GPL"
+DEPENDS = "mtd-utils"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/u-boot-${PV}.tar.bz2 \
+        file://fw_env.h.patch;patch=1 \
+        file://fw_env.c.patch;patch=1 \
+        file://tools-Makefile.patch;patch=1 \
+        file://env-Makefile.patch;patch=1 "
+
+S = "${WORKDIR}/u-boot-${PV}"
+EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}"
+TARGET_LDFLAGS = ""
+
+UBOOT_MACHINE ?= "${MACHINE}_config"
+
+inherit base
+
+do_configure() {
+       :
+}
+
+do_compile () {
+       oe_runmake Sandpoint8240_config
+       oe_runmake tools
+}
+
+do_install () {
+       install -d     ${D}/sbin
+       install -m 755 ${S}/tools/env/fw_printenv ${D}/sbin/fw_printenv
+       install -m 755 ${S}/tools/env/fw_printenv ${D}/sbin/fw_setenv
+}