Fix and sync

pull/19/head
Igor Zalatov 2021-04-25 19:47:51 +03:00
parent 7965bf73d7
commit bc990ef0ef
39 changed files with 18 additions and 808 deletions

View File

@ -40,7 +40,7 @@ BR2_ROOTFS_OVERLAY="$(TOPDIR)/../general/overlay"
BR2_TOOLCHAIN_BUILDROOT_VENDOR="openipc"
BR2_TARGET_GENERIC_ISSUE="Welcome to OpenIPC v21.04.25.1"
BR2_TARGET_GENERIC_HOSTNAME="ipcam"
BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package"
BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package/all-patches"
# Packages
BR2_PACKAGE_BUSYBOX_CONFIG="$(TOPDIR)/../general/package/busybox/busybox.config"

View File

@ -40,7 +40,7 @@ BR2_ROOTFS_OVERLAY="$(TOPDIR)/../general/overlay"
BR2_TOOLCHAIN_BUILDROOT_VENDOR="openipc"
BR2_TARGET_GENERIC_ISSUE="Welcome to OpenIPC v21.04.25.1"
BR2_TARGET_GENERIC_HOSTNAME="ipcam"
BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package"
BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package/all-patches"
# Packages
BR2_PACKAGE_BUSYBOX_CONFIG="$(TOPDIR)/../general/package/busybox/busybox.config"

View File

@ -40,7 +40,7 @@ BR2_ROOTFS_OVERLAY="$(TOPDIR)/../general/overlay"
BR2_TOOLCHAIN_BUILDROOT_VENDOR="openipc"
BR2_TARGET_GENERIC_ISSUE="Welcome to OpenIPC v21.04.25.1"
BR2_TARGET_GENERIC_HOSTNAME="ipcam"
BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package"
BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package/all-patches"
# Packages
BR2_PACKAGE_BUSYBOX_CONFIG="$(TOPDIR)/../general/package/busybox/busybox.config"

View File

@ -40,7 +40,7 @@ BR2_ROOTFS_OVERLAY="$(TOPDIR)/../general/overlay"
BR2_TOOLCHAIN_BUILDROOT_VENDOR="openipc"
BR2_TARGET_GENERIC_ISSUE="Welcome to OpenIPC v21.04.25.1"
BR2_TARGET_GENERIC_HOSTNAME="ipcam"
BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package"
BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package/all-patches"
# Packages
BR2_PACKAGE_BUSYBOX_CONFIG="$(TOPDIR)/../general/package/busybox/busybox.config"

View File

@ -0,0 +1 @@
../../general/package/fwprintenv-ng

View File

@ -1,49 +0,0 @@
From ab8b54cfc9d3fddba297c343a2d8dea9dbe20017 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
Date: Tue, 4 Aug 2015 22:13:20 +0200
Subject: [PATCH] drop configh from tools
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
We need to build u-boot tools without a board configuration for the target.
fw_env just uses config.h to define the default environment of the created
image, so it really isn't mandatory.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
[Jörg Krause: update for version 2015.07]
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
[Romain: update for version 2017.05
after commit 9d80b49a671c9922931adcd823aab0ed319a42d1]
Signed-off-by: Romain Naour <romain.naour@gmail.com>
[Pierre-Jean: update for version 2019.04]
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
---
tools/env/fw_env_private.h | 11 -----------
1 file changed, 11 deletions(-)
diff --git a/tools/env/fw_env_private.h b/tools/env/fw_env_private.h
index 86be16d..3c62ac4 100644
--- a/tools/env/fw_env_private.h
+++ b/tools/env/fw_env_private.h
@@ -4,17 +4,6 @@
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
*/
-/* Pull in the current config to define the default environment */
-#include <linux/kconfig.h>
-
-#ifndef __ASSEMBLY__
-#define __ASSEMBLY__ /* get only #defines from config.h */
-#include <config.h>
-#undef __ASSEMBLY__
-#else
-#include <config.h>
-#endif
-
/*
* To build the utility with the static configuration
* comment out the next line.
--
2.9.4

View File

@ -1,42 +0,0 @@
From 460646b3c4c1718860915c38586ee8d2fbda38e4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
Date: Sun, 1 Feb 2015 21:53:47 +0100
Subject: [PATCH] tools only in no dot config targets
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Revert upstream commit c7ad5cbb1ef2c33883f0fa7d0455095004fd306d:
Makefile: drop "tools-only" from no-dot-config-targets
This indirectly pulls in a build-dependency on libssl-dev used for FIT
image support, and possibly GPL/OpenSSL licensing incompatibility
issues.
Based on Debian patch from u-boot-tools:
http://ftp.de.debian.org/debian/pool/main/u/u-boot/u-boot_2014.10+dfsg1-2.1.debian.tar.xz
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
[fabio: adapt it to 2016.09]
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 6aa08964ff..fcec83d183 100644
--- a/Makefile
+++ b/Makefile
@@ -486,7 +486,7 @@ defaultenv_h := include/generated/defaultenv_autogenerated.h
no-dot-config-targets := clean clobber mrproper distclean \
help %docs check% coccicheck \
- ubootversion backup tests check qcheck
+ ubootversion backup tests tools-only check qcheck
config-targets := 0
mixed-targets := 0
--
2.20.1

View File

@ -1,36 +0,0 @@
From 0552a8ffdfbb9807fcef4498011907caa5de2ace Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
Date: Thu, 9 Jan 2020 15:11:32 +0100
Subject: [PATCH] drop autoconf.h from tools
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
We need to build u-boot tools without a board configuration for the target.
imximage uses the DCD address from Kconfig to display this information
to the user. The default value for all i.MX platforms is 0x00910000,
except for i.MX7ULP, which has a DCD address of 0x2f010000.
The default value printed before version 2020.01 was 0x00910000.
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
---
tools/imximage.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/tools/imximage.c b/tools/imximage.c
index d7edd3c52f..f8d21fa06a 100644
--- a/tools/imximage.c
+++ b/tools/imximage.c
@@ -11,7 +11,6 @@
#include "imagetool.h"
#include <image.h>
#include "imximage.h"
-#include <generated/autoconf.h>
#define UNDEFINED 0xFFFFFFFF
--
2.25.0

View File

@ -1,52 +0,0 @@
From 664ef61e19d6261d8984493b5f22127ec2ad44fc Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@gmail.com>
Date: Sun, 10 May 2020 23:15:32 +0200
Subject: [PATCH] tools/env/fw_env.h: remove env.h
As reported by Nicolas Carrier on the Buildroot mailing list [1],
there is a new build issue while building a program which interacts with
the u-boot environment. This program uses the headers of the ubootenv
library provided by uboot-tools.
This is an upstream change from uboot [2] adding "#include <env.h>" to
fw_env.h. Adding env.h require a board configuration to build.
But only fw_env.h header is installed in the staging directory by
uboot-tools package, but since it now include env.h the build is broken
because env.h is missing from the staging directory.
It's seems an upstream bug since env_set() is not used in fw_env tool.
Adding env.h is an error since it also include compiler.h (and others
uboot internal includes).
Nicolas removed env.h from fw_env tool and fixed it's build issue.
This problem is present since uboot v2019.10, so the uboot version
present in Buildroot 2020.02 is affected.
[1] http://lists.busybox.net/pipermail/buildroot/2020-April/280307.html
[2] https://gitlab.denx.de/u-boot/u-boot/-/commit/9fb625ce05539fe6876a59ce1dcadb76b33c6f6e
Reported-by: Nicolas Carrier <nicolas.carrier@orolia.com>
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Upstream: https://gitlab.denx.de/u-boot/u-boot/-/commit/2aca8804d8d5f84d2d661e76e8d232c5c12445b5
---
tools/env/fw_env.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/tools/env/fw_env.h b/tools/env/fw_env.h
index b60fbfc8f8..78c803c944 100644
--- a/tools/env/fw_env.h
+++ b/tools/env/fw_env.h
@@ -4,7 +4,6 @@
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
*/
-#include <env.h>
#include <stdint.h>
/*
--
2.25.4

View File

@ -1,114 +0,0 @@
diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c
index 2a61a5d6f0..6398e29c38 100644
--- a/tools/env/fw_env.c
+++ b/tools/env/fw_env.c
@@ -484,7 +484,8 @@ int fw_printenv(int argc, char *argv[], int value_only, struct env_opts *opts)
val = fw_getenv(name);
if (!val) {
- fprintf(stderr, "## Error: \"%s\" not defined\n", name);
+ if (!value_only)
+ fprintf(stderr, "## Error: \"%s\" not defined\n", name);
rc = -1;
continue;
}
@@ -1725,6 +1726,88 @@ static int check_device_config(int dev)
return rc;
}
+#define CRC_SZ 4
+// Assume env only size of 64Kb
+#define ENV_LEN 0x10000
+
+// Detect U-Boot environment area offset
+int uboot_detect_env(void *buf, size_t len) {
+ // Jump over memory by step
+ int scan_step = ENV_LEN;
+ int res = -1;
+
+ for (int baddr = 0; baddr < len; baddr += scan_step) {
+ uint32_t expected_crc = *(int *)(buf + baddr);
+ uint32_t crc = crc32(0, buf + baddr + CRC_SZ, ENV_LEN - CRC_SZ);
+ if (crc == expected_crc) {
+ res = baddr;
+ break;
+ }
+ }
+
+ return res;
+}
+
+char *open_mtdblock(int i, int *fd, uint32_t size, int flags) {
+ char filename[PATH_MAX];
+
+ snprintf(filename, sizeof filename, "/dev/mtdblock%d", i);
+ *fd = open(filename, O_RDONLY);
+ if (*fd == -1) {
+ return NULL;
+ }
+
+ char *addr =
+ (char *)mmap(NULL, size, PROT_READ, MAP_PRIVATE | flags, *fd, 0);
+ if ((void *)addr == MAP_FAILED) {
+ close(*fd);
+ return NULL;
+ }
+
+ return addr;
+}
+
+static char dev[80];
+static void detect_env() {
+ FILE *fp;
+ char name[80];
+ int i, es, ee;
+ struct mtd_info_user mtd;
+
+ if ((fp = fopen("/proc/mtd", "r"))) {
+ bool running = true;
+ while (fgets(dev, sizeof dev, fp) && running) {
+ name[0] = 0;
+ if (sscanf(dev, "mtd%d: %x %x \"%64[^\"]\"", &i, &es, &ee, name)) {
+ snprintf(dev, sizeof dev, "/dev/mtd%d", i);
+ int devfd = open(dev, O_RDWR);
+ if (devfd < 0)
+ continue;
+
+ if (ioctl(devfd, MEMGETINFO, &mtd) >= 0) {
+ int blockfd;
+ char *addr = open_mtdblock(
+ i, &blockfd, mtd.size, MAP_POPULATE /* causes read-ahead on the file */);
+ if (!addr)
+ return;
+ int off = uboot_detect_env(addr, mtd.size);
+ close(blockfd);
+ if (off != -1) {
+ DEVNAME(0) = dev;
+ DEVOFFSET(0) = off;
+ ENVSIZE(0) = ENV_LEN;
+ DEVESIZE(0) = mtd.erasesize;
+ ENVSECTORS(0) = 1;
+ break;
+ }
+ }
+ close(devfd);
+ }
+ }
+ fclose(fp);
+ }
+}
+
static int parse_config(struct env_opts *opts)
{
int rc;
@@ -1735,9 +1818,7 @@ static int parse_config(struct env_opts *opts)
#if defined(CONFIG_FILE)
/* Fills in DEVNAME(), ENVSIZE(), DEVESIZE(). Or don't. */
if (get_config(opts->config_file)) {
- fprintf(stderr, "Cannot parse config file '%s': %m\n",
- opts->config_file);
- return -1;
+ detect_env();
}
#else
DEVNAME(0) = DEVICE1_NAME;

View File

@ -1,13 +0,0 @@
config BR2_PACKAGE_FWPRINTENV_NG
bool "fwprintenv-ng from u-boot tools"
default y
help
Install the fw_printenv / fw_setenv tools on the target system
The fw_printenv and fw_setenv tools from Das U-Boot
bootloader, which allows access to the U-Boot environment
from Linux.
U-Boot tools - companion tools for Das U-Boot bootloader.
http://www.denx.de/wiki/U-Boot/WebHome

View File

@ -1,39 +0,0 @@
################################################################################
#
# fwprintenv-ng
#
################################################################################
FWPRINTENV_NG_VERSION = 2020.04
FWPRINTENV_NG_SOURCE = u-boot-$(FWPRINTENV_NG_VERSION).tar.bz2
FWPRINTENV_NG_SITE = ftp://ftp.denx.de/pub/u-boot
FWPRINTENV_NG_LICENSE = GPL-2.0+
FWPRINTENV_NG_LICENSE_FILES = Licenses/gpl-2.0.txt
FWPRINTENV_NG_CPE_ID_VENDOR = denx
FWPRINTENV_NG_CPE_ID_PRODUCT = u-boot
FWPRINTENV_NG_INSTALL_STAGING = YES
define FWPRINTENV_NG_CONFIGURE_CMDS
mkdir -p $(@D)/include/config
touch $(@D)/include/config/auto.conf
endef
FWPRINTENV_NG_MAKE_OPTS = CROSS_COMPILE="$(TARGET_CROSS)" \
CFLAGS="$(TARGET_CFLAGS)" \
LDFLAGS="$(TARGET_LDFLAGS)" \
HOSTCFLAGS="$(HOST_CFLAGS)" \
STRIP=$(TARGET_STRIP)
define FWPRINTENV_NG_BUILD_CMDS
$(TARGET_MAKE_ENV) $(BR2_MAKE) -C $(@D) $(FWPRINTENV_NG_MAKE_OPTS) \
CROSS_BUILD_TOOLS=y tools-only
$(TARGET_MAKE_ENV) $(BR2_MAKE) -C $(@D) $(UBOOT_TOOLS_MAKE_OPTS) \
envtools no-dot-config-targets=envtools
endef
define FWPRINTENV_NG_INSTALL_TARGET_CMDS
$(INSTALL) -m 0755 -D $(@D)/tools/env/fw_printenv $(TARGET_DIR)/usr/sbin/fw_printenv
ln -sf fw_printenv $(TARGET_DIR)/usr/sbin/fw_setenv
endef
$(eval $(generic-package))

View File

@ -0,0 +1 @@
../../general/package/ipctool

View File

@ -1,6 +0,0 @@
config BR2_PACKAGE_IPCTOOL
bool "ipctool"
help
ipctool - IP cameras chip information tool
https://github.com/openipc/ipctool/

View File

@ -1,16 +0,0 @@
################################################################################
#
# ipctool
#
################################################################################
IPCTOOL_VERSION = 84b48c5035795de5233b354e843d30f58a1e8bc4
IPCTOOL_SITE = $(call github,openipc,ipctool,$(IPCTOOL_VERSION))
IPCTOOL_LICENSE = MIT
IPCTOOL_LICENSE_FILES = LICENSE
IPCTOOL_CONF_OPTS += -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DSKIP_VERSION=ON
IPCTOOL_MAKE_OPTS += VERBOSE=1
$(eval $(cmake-package))

View File

@ -0,0 +1 @@
../../general/package/libevent-mini

View File

@ -1,6 +0,0 @@
config BR2_PACKAGE_LIBEVENT_MINI
bool "libevent-mini"
help
Userspace library for handling asynchronous notifications (mini)
http://libevent.org

View File

@ -1,26 +0,0 @@
################################################################################
#
# libevent-mini
#
################################################################################
LIBEVENT_MINI_VERSION = 2.1.12
LIBEVENT_MINI_SITE = https://github.com/libevent/libevent/releases/download/release-$(LIBEVENT_MINI_VERSION)-stable
LIBEVENT_MINI_SOURCE = libevent-$(LIBEVENT_MINI_VERSION)-stable.tar.gz
LIBEVENT_MINI_INSTALL_STAGING = YES
LIBEVENT_MINI_LICENSE = BSD-3-Clause, OpenBSD
LIBEVENT_MINI_LICENSE_FILES = LICENSE
LIBEVENT_MINI_CONF_OPTS = \
--disable-thread-support \
--disable-debug-mode \
--disable-largefile \
--disable-libevent-regress \
--disable-samples \
--disable-openssl
define LIBEVENT_MINI_REMOVE_PYSCRIPT
rm $(TARGET_DIR)/usr/bin/event_rpcgen.py
endef
$(eval $(autotools-package))
$(eval $(host-autotools-package))

View File

@ -0,0 +1 @@
../../general/package/vtund-lite

View File

@ -1,2 +1,3 @@
MEM_START_ADDR=0x80000000
KERNEL_UPLOAD_ADDR=0x81000000
MEM_START_ADDR=0x20000000
KERNEL_UPLOAD_ADDR=0x20008000

View File

@ -3,4 +3,4 @@
BR2_TOOLCHAIN_BUILDROOT_VENDOR="openipc"
BR2_TARGET_GENERIC_ISSUE="Welcome to OpenIPC v21.04.22.2"
BR2_TARGET_GENERIC_HOSTNAME="ipcam"
BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package/patches"
BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package/all-patches"

View File

@ -40,7 +40,7 @@ BR2_ROOTFS_OVERLAY="$(TOPDIR)/../general/overlay"
BR2_TOOLCHAIN_BUILDROOT_VENDOR="openipc"
BR2_TARGET_GENERIC_ISSUE="Welcome to OpenIPC v21.04.25.1"
BR2_TARGET_GENERIC_HOSTNAME="ipcam"
BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package"
BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package/all-patches"
# Packages
BR2_PACKAGE_BUSYBOX_CONFIG="$(TOPDIR)/../general/package/busybox/busybox.config"

View File

@ -38,7 +38,7 @@ BR2_ROOTFS_OVERLAY="$(TOPDIR)/../general/overlay"
BR2_TOOLCHAIN_BUILDROOT_VENDOR="openipc"
BR2_TARGET_GENERIC_ISSUE="Welcome to OpenIPC v21.04.25.1"
BR2_TARGET_GENERIC_HOSTNAME="ipcam"
BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package"
BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package/all-patches"
# Packages
BR2_PACKAGE_BUSYBOX_CONFIG="$(TOPDIR)/../general/package/busybox/busybox.config"

View File

@ -38,7 +38,7 @@ BR2_ROOTFS_OVERLAY="$(TOPDIR)/../general/overlay"
BR2_TOOLCHAIN_BUILDROOT_VENDOR="openipc"
BR2_TARGET_GENERIC_ISSUE="Welcome to OpenIPC v21.04.25.1"
BR2_TARGET_GENERIC_HOSTNAME="ipcam"
BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package"
BR2_GLOBAL_PATCH_DIR="$(TOPDIR)/../general/package/all-patches"
# Packages
BR2_PACKAGE_BUSYBOX_CONFIG="$(TOPDIR)/../general/package/busybox/busybox.config"

View File

@ -0,0 +1 @@
../../general/package/fwprintenv-ng

View File

@ -1,49 +0,0 @@
From ab8b54cfc9d3fddba297c343a2d8dea9dbe20017 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
Date: Tue, 4 Aug 2015 22:13:20 +0200
Subject: [PATCH] drop configh from tools
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
We need to build u-boot tools without a board configuration for the target.
fw_env just uses config.h to define the default environment of the created
image, so it really isn't mandatory.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
[Jörg Krause: update for version 2015.07]
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
[Romain: update for version 2017.05
after commit 9d80b49a671c9922931adcd823aab0ed319a42d1]
Signed-off-by: Romain Naour <romain.naour@gmail.com>
[Pierre-Jean: update for version 2019.04]
Signed-off-by: Pierre-Jean Texier <pjtexier@koncepto.io>
---
tools/env/fw_env_private.h | 11 -----------
1 file changed, 11 deletions(-)
diff --git a/tools/env/fw_env_private.h b/tools/env/fw_env_private.h
index 86be16d..3c62ac4 100644
--- a/tools/env/fw_env_private.h
+++ b/tools/env/fw_env_private.h
@@ -4,17 +4,6 @@
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
*/
-/* Pull in the current config to define the default environment */
-#include <linux/kconfig.h>
-
-#ifndef __ASSEMBLY__
-#define __ASSEMBLY__ /* get only #defines from config.h */
-#include <config.h>
-#undef __ASSEMBLY__
-#else
-#include <config.h>
-#endif
-
/*
* To build the utility with the static configuration
* comment out the next line.
--
2.9.4

View File

@ -1,42 +0,0 @@
From 460646b3c4c1718860915c38586ee8d2fbda38e4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
Date: Sun, 1 Feb 2015 21:53:47 +0100
Subject: [PATCH] tools only in no dot config targets
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Revert upstream commit c7ad5cbb1ef2c33883f0fa7d0455095004fd306d:
Makefile: drop "tools-only" from no-dot-config-targets
This indirectly pulls in a build-dependency on libssl-dev used for FIT
image support, and possibly GPL/OpenSSL licensing incompatibility
issues.
Based on Debian patch from u-boot-tools:
http://ftp.de.debian.org/debian/pool/main/u/u-boot/u-boot_2014.10+dfsg1-2.1.debian.tar.xz
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
[fabio: adapt it to 2016.09]
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 6aa08964ff..fcec83d183 100644
--- a/Makefile
+++ b/Makefile
@@ -486,7 +486,7 @@ defaultenv_h := include/generated/defaultenv_autogenerated.h
no-dot-config-targets := clean clobber mrproper distclean \
help %docs check% coccicheck \
- ubootversion backup tests check qcheck
+ ubootversion backup tests tools-only check qcheck
config-targets := 0
mixed-targets := 0
--
2.20.1

View File

@ -1,36 +0,0 @@
From 0552a8ffdfbb9807fcef4498011907caa5de2ace Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
Date: Thu, 9 Jan 2020 15:11:32 +0100
Subject: [PATCH] drop autoconf.h from tools
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
We need to build u-boot tools without a board configuration for the target.
imximage uses the DCD address from Kconfig to display this information
to the user. The default value for all i.MX platforms is 0x00910000,
except for i.MX7ULP, which has a DCD address of 0x2f010000.
The default value printed before version 2020.01 was 0x00910000.
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
---
tools/imximage.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/tools/imximage.c b/tools/imximage.c
index d7edd3c52f..f8d21fa06a 100644
--- a/tools/imximage.c
+++ b/tools/imximage.c
@@ -11,7 +11,6 @@
#include "imagetool.h"
#include <image.h>
#include "imximage.h"
-#include <generated/autoconf.h>
#define UNDEFINED 0xFFFFFFFF
--
2.25.0

View File

@ -1,52 +0,0 @@
From 664ef61e19d6261d8984493b5f22127ec2ad44fc Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@gmail.com>
Date: Sun, 10 May 2020 23:15:32 +0200
Subject: [PATCH] tools/env/fw_env.h: remove env.h
As reported by Nicolas Carrier on the Buildroot mailing list [1],
there is a new build issue while building a program which interacts with
the u-boot environment. This program uses the headers of the ubootenv
library provided by uboot-tools.
This is an upstream change from uboot [2] adding "#include <env.h>" to
fw_env.h. Adding env.h require a board configuration to build.
But only fw_env.h header is installed in the staging directory by
uboot-tools package, but since it now include env.h the build is broken
because env.h is missing from the staging directory.
It's seems an upstream bug since env_set() is not used in fw_env tool.
Adding env.h is an error since it also include compiler.h (and others
uboot internal includes).
Nicolas removed env.h from fw_env tool and fixed it's build issue.
This problem is present since uboot v2019.10, so the uboot version
present in Buildroot 2020.02 is affected.
[1] http://lists.busybox.net/pipermail/buildroot/2020-April/280307.html
[2] https://gitlab.denx.de/u-boot/u-boot/-/commit/9fb625ce05539fe6876a59ce1dcadb76b33c6f6e
Reported-by: Nicolas Carrier <nicolas.carrier@orolia.com>
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Upstream: https://gitlab.denx.de/u-boot/u-boot/-/commit/2aca8804d8d5f84d2d661e76e8d232c5c12445b5
---
tools/env/fw_env.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/tools/env/fw_env.h b/tools/env/fw_env.h
index b60fbfc8f8..78c803c944 100644
--- a/tools/env/fw_env.h
+++ b/tools/env/fw_env.h
@@ -4,7 +4,6 @@
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
*/
-#include <env.h>
#include <stdint.h>
/*
--
2.25.4

View File

@ -1,114 +0,0 @@
diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c
index 2a61a5d6f0..6398e29c38 100644
--- a/tools/env/fw_env.c
+++ b/tools/env/fw_env.c
@@ -484,7 +484,8 @@ int fw_printenv(int argc, char *argv[], int value_only, struct env_opts *opts)
val = fw_getenv(name);
if (!val) {
- fprintf(stderr, "## Error: \"%s\" not defined\n", name);
+ if (!value_only)
+ fprintf(stderr, "## Error: \"%s\" not defined\n", name);
rc = -1;
continue;
}
@@ -1725,6 +1726,88 @@ static int check_device_config(int dev)
return rc;
}
+#define CRC_SZ 4
+// Assume env only size of 64Kb
+#define ENV_LEN 0x10000
+
+// Detect U-Boot environment area offset
+int uboot_detect_env(void *buf, size_t len) {
+ // Jump over memory by step
+ int scan_step = ENV_LEN;
+ int res = -1;
+
+ for (int baddr = 0; baddr < len; baddr += scan_step) {
+ uint32_t expected_crc = *(int *)(buf + baddr);
+ uint32_t crc = crc32(0, buf + baddr + CRC_SZ, ENV_LEN - CRC_SZ);
+ if (crc == expected_crc) {
+ res = baddr;
+ break;
+ }
+ }
+
+ return res;
+}
+
+char *open_mtdblock(int i, int *fd, uint32_t size, int flags) {
+ char filename[PATH_MAX];
+
+ snprintf(filename, sizeof filename, "/dev/mtdblock%d", i);
+ *fd = open(filename, O_RDONLY);
+ if (*fd == -1) {
+ return NULL;
+ }
+
+ char *addr =
+ (char *)mmap(NULL, size, PROT_READ, MAP_PRIVATE | flags, *fd, 0);
+ if ((void *)addr == MAP_FAILED) {
+ close(*fd);
+ return NULL;
+ }
+
+ return addr;
+}
+
+static char dev[80];
+static void detect_env() {
+ FILE *fp;
+ char name[80];
+ int i, es, ee;
+ struct mtd_info_user mtd;
+
+ if ((fp = fopen("/proc/mtd", "r"))) {
+ bool running = true;
+ while (fgets(dev, sizeof dev, fp) && running) {
+ name[0] = 0;
+ if (sscanf(dev, "mtd%d: %x %x \"%64[^\"]\"", &i, &es, &ee, name)) {
+ snprintf(dev, sizeof dev, "/dev/mtd%d", i);
+ int devfd = open(dev, O_RDWR);
+ if (devfd < 0)
+ continue;
+
+ if (ioctl(devfd, MEMGETINFO, &mtd) >= 0) {
+ int blockfd;
+ char *addr = open_mtdblock(
+ i, &blockfd, mtd.size, MAP_POPULATE /* causes read-ahead on the file */);
+ if (!addr)
+ return;
+ int off = uboot_detect_env(addr, mtd.size);
+ close(blockfd);
+ if (off != -1) {
+ DEVNAME(0) = dev;
+ DEVOFFSET(0) = off;
+ ENVSIZE(0) = ENV_LEN;
+ DEVESIZE(0) = mtd.erasesize;
+ ENVSECTORS(0) = 1;
+ break;
+ }
+ }
+ close(devfd);
+ }
+ }
+ fclose(fp);
+ }
+}
+
static int parse_config(struct env_opts *opts)
{
int rc;
@@ -1735,9 +1818,7 @@ static int parse_config(struct env_opts *opts)
#if defined(CONFIG_FILE)
/* Fills in DEVNAME(), ENVSIZE(), DEVESIZE(). Or don't. */
if (get_config(opts->config_file)) {
- fprintf(stderr, "Cannot parse config file '%s': %m\n",
- opts->config_file);
- return -1;
+ detect_env();
}
#else
DEVNAME(0) = DEVICE1_NAME;

View File

@ -1,13 +0,0 @@
config BR2_PACKAGE_FWPRINTENV_NG
bool "fwprintenv-ng from u-boot tools"
default y
help
Install the fw_printenv / fw_setenv tools on the target system
The fw_printenv and fw_setenv tools from Das U-Boot
bootloader, which allows access to the U-Boot environment
from Linux.
U-Boot tools - companion tools for Das U-Boot bootloader.
http://www.denx.de/wiki/U-Boot/WebHome

View File

@ -1,39 +0,0 @@
################################################################################
#
# fwprintenv-ng
#
################################################################################
FWPRINTENV_NG_VERSION = 2020.04
FWPRINTENV_NG_SOURCE = u-boot-$(FWPRINTENV_NG_VERSION).tar.bz2
FWPRINTENV_NG_SITE = ftp://ftp.denx.de/pub/u-boot
FWPRINTENV_NG_LICENSE = GPL-2.0+
FWPRINTENV_NG_LICENSE_FILES = Licenses/gpl-2.0.txt
FWPRINTENV_NG_CPE_ID_VENDOR = denx
FWPRINTENV_NG_CPE_ID_PRODUCT = u-boot
FWPRINTENV_NG_INSTALL_STAGING = YES
define FWPRINTENV_NG_CONFIGURE_CMDS
mkdir -p $(@D)/include/config
touch $(@D)/include/config/auto.conf
endef
FWPRINTENV_NG_MAKE_OPTS = CROSS_COMPILE="$(TARGET_CROSS)" \
CFLAGS="$(TARGET_CFLAGS)" \
LDFLAGS="$(TARGET_LDFLAGS)" \
HOSTCFLAGS="$(HOST_CFLAGS)" \
STRIP=$(TARGET_STRIP)
define FWPRINTENV_NG_BUILD_CMDS
$(TARGET_MAKE_ENV) $(BR2_MAKE) -C $(@D) $(FWPRINTENV_NG_MAKE_OPTS) \
CROSS_BUILD_TOOLS=y tools-only
$(TARGET_MAKE_ENV) $(BR2_MAKE) -C $(@D) $(UBOOT_TOOLS_MAKE_OPTS) \
envtools no-dot-config-targets=envtools
endef
define FWPRINTENV_NG_INSTALL_TARGET_CMDS
$(INSTALL) -m 0755 -D $(@D)/tools/env/fw_printenv $(TARGET_DIR)/usr/sbin/fw_printenv
ln -sf fw_printenv $(TARGET_DIR)/usr/sbin/fw_setenv
endef
$(eval $(generic-package))

View File

@ -0,0 +1 @@
../../general/package/ipctool

View File

@ -1,6 +0,0 @@
config BR2_PACKAGE_IPCTOOL
bool "ipctool"
help
ipctool - IP cameras chip information tool
https://github.com/openipc/ipctool/

View File

@ -1,16 +0,0 @@
################################################################################
#
# ipctool | updated 2021.04.23
#
################################################################################
IPCTOOL_VERSION = 84b48c5035795de5233b354e843d30f58a1e8bc4
IPCTOOL_SITE = $(call github,openipc,ipctool,$(IPCTOOL_VERSION))
IPCTOOL_LICENSE = MIT
IPCTOOL_LICENSE_FILES = LICENSE
IPCTOOL_CONF_OPTS += -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DSKIP_VERSION=ON
IPCTOOL_MAKE_OPTS += VERBOSE=1
$(eval $(cmake-package))

View File

@ -0,0 +1 @@
../../general/package/libevent-mini

View File

@ -1,6 +0,0 @@
config BR2_PACKAGE_LIBEVENT_MINI
bool "libevent-mini"
help
Userspace library for handling asynchronous notifications (mini)
http://libevent.org

View File

@ -1,26 +0,0 @@
################################################################################
#
# libevent-mini
#
################################################################################
LIBEVENT_MINI_VERSION = 2.1.12
LIBEVENT_MINI_SITE = https://github.com/libevent/libevent/releases/download/release-$(LIBEVENT_MINI_VERSION)-stable
LIBEVENT_MINI_SOURCE = libevent-$(LIBEVENT_MINI_VERSION)-stable.tar.gz
LIBEVENT_MINI_INSTALL_STAGING = YES
LIBEVENT_MINI_LICENSE = BSD-3-Clause, OpenBSD
LIBEVENT_MINI_LICENSE_FILES = LICENSE
LIBEVENT_MINI_CONF_OPTS = \
--disable-thread-support \
--disable-debug-mode \
--disable-largefile \
--disable-libevent-regress \
--disable-samples \
--disable-openssl
define LIBEVENT_MINI_REMOVE_PYSCRIPT
rm $(TARGET_DIR)/usr/bin/event_rpcgen.py
endef
$(eval $(autotools-package))
$(eval $(host-autotools-package))