parent
ff217ad58c
commit
3641a69585
@ -0,0 +1,12 @@
|
||||
diff --git a/tools/env/fw_env.c b/tools/env/fw_env.c
|
||||
index daa02a7..eff638a 100644
|
||||
--- a/tools/env/fw_env.c
|
||||
+++ b/tools/env/fw_env.c
|
||||
@@ -17,6 +17,7 @@
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <stddef.h>
|
||||
+#include <inttypes.h>
|
||||
#include <string.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/ioctl.h>
|
@ -0,0 +1,91 @@
|
||||
From 07373b2e477ae61f9f6a0e2eff41be3276d92923 Mon Sep 17 00:00:00 2001
|
||||
From: yocto <yocto@yocto.org>
|
||||
Date: Thu, 2 Jun 2016 03:21:51 -0500
|
||||
Subject: [PATCH] fix build error under gcc6
|
||||
|
||||
Fix the following error:
|
||||
| ../include/linux/compiler-gcc.h:114:30: fatal error: linux/compiler-gcc6.h: No such file or directory
|
||||
| #include gcc_header(__GNUC__)
|
||||
|
||||
Signed-off-by: Zhenhua Luo <zhenhua.luo@nxp.com>
|
||||
|
||||
Upstream-Status: Pending
|
||||
---
|
||||
include/linux/compiler-gcc6.h | 65 +++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 65 insertions(+)
|
||||
create mode 100644 include/linux/compiler-gcc6.h
|
||||
|
||||
diff --git a/include/linux/compiler-gcc6.h b/include/linux/compiler-gcc6.h
|
||||
new file mode 100644
|
||||
index 0000000..c8c5659
|
||||
--- /dev/null
|
||||
+++ b/include/linux/compiler-gcc6.h
|
||||
@@ -0,0 +1,65 @@
|
||||
+#ifndef __LINUX_COMPILER_H
|
||||
+#error "Please don't include <linux/compiler-gcc5.h> directly, include <linux/compiler.h> instead."
|
||||
+#endif
|
||||
+
|
||||
+#define __used __attribute__((__used__))
|
||||
+#define __must_check __attribute__((warn_unused_result))
|
||||
+#define __compiler_offsetof(a, b) __builtin_offsetof(a, b)
|
||||
+
|
||||
+/* Mark functions as cold. gcc will assume any path leading to a call
|
||||
+ to them will be unlikely. This means a lot of manual unlikely()s
|
||||
+ are unnecessary now for any paths leading to the usual suspects
|
||||
+ like BUG(), printk(), panic() etc. [but let's keep them for now for
|
||||
+ older compilers]
|
||||
+
|
||||
+ Early snapshots of gcc 4.3 don't support this and we can't detect this
|
||||
+ in the preprocessor, but we can live with this because they're unreleased.
|
||||
+ Maketime probing would be overkill here.
|
||||
+
|
||||
+ gcc also has a __attribute__((__hot__)) to move hot functions into
|
||||
+ a special section, but I don't see any sense in this right now in
|
||||
+ the kernel context */
|
||||
+#define __cold __attribute__((__cold__))
|
||||
+
|
||||
+#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
|
||||
+
|
||||
+#ifndef __CHECKER__
|
||||
+# define __compiletime_warning(message) __attribute__((warning(message)))
|
||||
+# define __compiletime_error(message) __attribute__((error(message)))
|
||||
+#endif /* __CHECKER__ */
|
||||
+
|
||||
+/*
|
||||
+ * Mark a position in code as unreachable. This can be used to
|
||||
+ * suppress control flow warnings after asm blocks that transfer
|
||||
+ * control elsewhere.
|
||||
+ *
|
||||
+ * Early snapshots of gcc 4.5 don't support this and we can't detect
|
||||
+ * this in the preprocessor, but we can live with this because they're
|
||||
+ * unreleased. Really, we need to have autoconf for the kernel.
|
||||
+ */
|
||||
+#define unreachable() __builtin_unreachable()
|
||||
+
|
||||
+/* Mark a function definition as prohibited from being cloned. */
|
||||
+#define __noclone __attribute__((__noclone__))
|
||||
+
|
||||
+/*
|
||||
+ * Tell the optimizer that something else uses this function or variable.
|
||||
+ */
|
||||
+#define __visible __attribute__((externally_visible))
|
||||
+
|
||||
+/*
|
||||
+ * GCC 'asm goto' miscompiles certain code sequences:
|
||||
+ *
|
||||
+ * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670
|
||||
+ *
|
||||
+ * Work it around via a compiler barrier quirk suggested by Jakub Jelinek.
|
||||
+ *
|
||||
+ * (asm goto is automatically volatile - the naming reflects this.)
|
||||
+ */
|
||||
+#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0)
|
||||
+
|
||||
+#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP
|
||||
+#define __HAVE_BUILTIN_BSWAP32__
|
||||
+#define __HAVE_BUILTIN_BSWAP64__
|
||||
+#define __HAVE_BUILTIN_BSWAP16__
|
||||
+#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */
|
||||
--
|
||||
2.5.0
|
||||
|
@ -0,0 +1,45 @@
|
||||
require u-boot-litecell15-${PV}.inc
|
||||
|
||||
SUMMARY = "U-Boot bootloader fw_printenv/setenv utilities"
|
||||
SECTION = "bootloader"
|
||||
DEPENDS = "mtd-utils u-boot"
|
||||
PROVIDES_litecell15 = "u-boot-fw-utils"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
REPODIR = "${THISDIR}"
|
||||
REPOFILE = "u-boot-fw-utils_2015.07.bb"
|
||||
PR := "${INC_PR}.${REPOGITFN}"
|
||||
|
||||
INSANE_SKIP_${PN} = "already-stripped"
|
||||
EXTRA_OEMAKE_class-target = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${CC} ${CFLAGS} ${LDFLAGS}" V=1'
|
||||
EXTRA_OEMAKE_class-cross = 'ARCH=${TARGET_ARCH} CC="${CC} ${CFLAGS} ${LDFLAGS}" V=1'
|
||||
|
||||
inherit uboot-config
|
||||
|
||||
do_compile () {
|
||||
oe_runmake ${UBOOT_MACHINE}
|
||||
oe_runmake env
|
||||
}
|
||||
|
||||
do_install () {
|
||||
install -d ${D}${base_sbindir}
|
||||
install -d ${D}${sysconfdir}
|
||||
install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_printenv
|
||||
install -m 755 ${S}/tools/env/fw_printenv ${D}${base_sbindir}/fw_setenv
|
||||
install -m 0644 ${S}/tools/env/fw_env.config ${D}${sysconfdir}/fw_env.config
|
||||
}
|
||||
|
||||
do_install_class-cross () {
|
||||
install -d ${D}${bindir_cross}
|
||||
install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_printenv
|
||||
install -m 755 ${S}/tools/env/fw_printenv ${D}${bindir_cross}/fw_setenv
|
||||
}
|
||||
|
||||
SYSROOT_PREPROCESS_FUNCS_class-cross = "uboot_fw_utils_cross"
|
||||
uboot_fw_utils_cross() {
|
||||
sysroot_stage_dir ${D}${bindir_cross} ${SYSROOT_DESTDIR}${bindir_cross}
|
||||
}
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
BBCLASSEXTEND = "cross"
|
@ -0,0 +1,41 @@
|
||||
LICENSE = "GPLv2+"
|
||||
LIC_FILES_CHKSUM = "file://Licenses/README;md5=0507cd7da8e7ad6d6701926ec9b84c95"
|
||||
|
||||
NRW_LC15_MIRROR ??= "git@gitlab.com/nrw_litecell15"
|
||||
|
||||
inherit gitver-pkg gitver-repo
|
||||
|
||||
# Should match the one in u-boot.inc
|
||||
INC_PR ??= "r1"
|
||||
|
||||
REPODIR = "${THISDIR}"
|
||||
REPOFILE = "u-boot-litecell15-2015.07.inc"
|
||||
INC_PR := "${INC_PR}.${REPOGITFN}"
|
||||
|
||||
PV = "2015.07+git${SRCPV}"
|
||||
PKGV = "${PKGGITV}"
|
||||
|
||||
DEV_BRANCH = "${@ 'nrw/litecell15-next' if d.getVar('NRW_BSP_DEVEL', False) == "next" else 'nrw/litecell15'}"
|
||||
DEV_SRCREV = "${AUTOREV}"
|
||||
DEV_SRCURI := "git://${NRW_LC15_MIRROR}/u-boot.git;protocol=ssh;branch=${DEV_BRANCH}"
|
||||
|
||||
REL_BRANCH = "nrw/litecell15"
|
||||
REL_SRCREV = "e2b1ddd84d72d8c57815265860ae58f6b170551c"
|
||||
REL_SRCURI := "git://${NRW_LC15_MIRROR}/u-boot.git;protocol=ssh;branch=${REL_BRANCH}"
|
||||
|
||||
BRANCH = "${@ '${DEV_BRANCH}' if d.getVar('NRW_BSP_DEVEL', False) else '${REL_BRANCH}'}"
|
||||
SRCREV = "${@ '${DEV_SRCREV}' if d.getVar('NRW_BSP_DEVEL', False) else '${REL_SRCREV}'}"
|
||||
SRC_URI = "${@ '${DEV_SRCURI}' if d.getVar('NRW_BSP_DEVEL', False) else '${REL_SRCURI}'}"
|
||||
|
||||
SRC_URI += "file://0001-fw_env-missing-header.patch"
|
||||
SRC_URI += "file://fix-build-error-under-gcc6.patch"
|
||||
|
||||
addtask showversion after do_compile before do_install
|
||||
do_showversion() {
|
||||
bbplain "${PN}: ${PKGGITV} => ${BRANCH}:${PKGGITH}"
|
||||
}
|
||||
|
||||
do_configure_prepend() {
|
||||
sed -i -e 's/SUBLEVEL =.*/SUBLEVEL = ${PKGGITN}/g' ${S}/Makefile
|
||||
sed -i -e 's/EXTRAVERSION =.*/EXTRAVERSION = -lc15/g' ${S}/Makefile
|
||||
}
|
@ -0,0 +1,22 @@
|
||||
require u-boot.inc
|
||||
require ${PN}-${PV}.inc
|
||||
|
||||
PROVIDES_litecell15 = " \
|
||||
u-boot \
|
||||
virtual/bootloader \
|
||||
"
|
||||
|
||||
DESCRIPTION = "u-boot bootloader for LC15 / sysmoBTS 2100"
|
||||
|
||||
REPODIR = "${THISDIR}"
|
||||
REPOFILE = "u-boot-litecell15_2015.07.bb"
|
||||
PR := "${INC_PR}.${REPOGITFN}"
|
||||
|
||||
# set theses two variables to 1 to specify u-boot update requierement when the rootfs is updated
|
||||
export MLO_UPGRADE = "1"
|
||||
export UBOOT_UPGRADE = "1"
|
||||
|
||||
SPL_BINARY = "MLO"
|
||||
SPL_UART_BINARY = "u-boot-spl.bin"
|
||||
|
||||
|
@ -0,0 +1,76 @@
|
||||
require ${COREBASE}/meta/recipes-bsp/u-boot/u-boot.inc
|
||||
|
||||
FILESEXTRAPATHS_prepend := "${THISDIR}/u-boot:"
|
||||
|
||||
INC_PR = "r1"
|
||||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
PROVIDES += "u-boot"
|
||||
PKG_${PN} = "u-boot"
|
||||
PKG_${PN}-dev = "u-boot-dev"
|
||||
PKG_${PN}-dbg = "u-boot-dbg"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
UBOOT_SUFFIX = "img"
|
||||
|
||||
#RDEPENDS_${PN} = "repair"
|
||||
|
||||
# SPL (Second Program Loader) to be loaded over UART
|
||||
SPL_UART_BINARY ?= ""
|
||||
SPL_UART_IMAGE ?= "${SPL_UART_BINARY}-${MACHINE}-${PV}-${PR}"
|
||||
SPL_UART_SYMLINK ?= "${SPL_UART_BINARY}-${MACHINE}"
|
||||
MLO_BIN ?= "MLO-${MACHINE}-${PV}-${PR}"
|
||||
|
||||
do_install_append () {
|
||||
if [ "x${SPL_UART_BINARY}" != "x" ]
|
||||
then
|
||||
install ${B}/spl/${SPL_UART_BINARY} ${D}/boot/${SPL_UART_IMAGE}
|
||||
ln -sf ${SPL_UART_IMAGE} ${D}/boot/${SPL_UART_BINARY}
|
||||
fi
|
||||
#FIXME: do we want/need this? replace iwth 'openssl enc -base64 -d'?
|
||||
#md5sum ${D}/boot/${MLO_BIN} | cut -d ' ' -f 1 | xxd -r -p >> ${D}/boot/${MLO_BIN}
|
||||
install -d ${D}${sysconfdir}
|
||||
echo "MLO_UPGRADE=${MLO_UPGRADE}" >> ${D}${sysconfdir}/mlo.conf
|
||||
echo "UBOOT_UPGRADE=${UBOOT_UPGRADE}" >> ${D}${sysconfdir}/uboot.conf
|
||||
chmod 755 ${D}${sysconfdir}/mlo.conf
|
||||
chmod 755 ${D}${sysconfdir}/uboot.conf
|
||||
}
|
||||
|
||||
do_deploy_append () {
|
||||
cd ${DEPLOYDIR}
|
||||
if [ "x${SPL_UART_BINARY}" != "x" ]
|
||||
then
|
||||
install ${B}/spl/${SPL_UART_BINARY} ${DEPLOYDIR}/${SPL_UART_IMAGE}
|
||||
rm -f ${DEPLOYDIR}/${SPL_UART_BINARY} ${DEPLOYDIR}/${SPL_UART_SYMLINK}
|
||||
ln -sf ${SPL_UART_IMAGE} ${DEPLOYDIR}/${SPL_UART_BINARY}
|
||||
ln -sf ${SPL_UART_IMAGE} ${DEPLOYDIR}/${SPL_UART_SYMLINK}
|
||||
fi
|
||||
#FIXME: do we want/need this? replace iwth 'openssl enc -base64 -d'?
|
||||
#md5sum ${DEPLOYDIR}/${MLO_BIN} | cut -d ' ' -f 1 | xxd -r -p >> ${DEPLOYDIR}/${MLO_BIN}
|
||||
}
|
||||
|
||||
pkg_postinst_${PN}_append() {
|
||||
if [ x"$D" = "x" ]; then
|
||||
if [ -f /usr/bin/checkboot ]; then
|
||||
echo "Verify boot file possible update..."
|
||||
/usr/bin/checkboot -c -d
|
||||
__CHECK_RET=$?
|
||||
if test ${__CHECK_RET} -eq 100; then
|
||||
sleep 30s
|
||||
/usr/bin/checkboot -c -d
|
||||
__CHECK_RET=$?
|
||||
fi
|
||||
if test ${__CHECK_RET} -ne 0; then
|
||||
echo "Verify boot file possible update... error!"
|
||||
else
|
||||
echo "Verify boot file possible update... done!"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
FILES_${PN} += "${sysconfdir}/mlo.conf \
|
||||
${sysconfdir}/uboot.conf \
|
||||
"
|
Loading…
Reference in new issue