Problem description:
To get a uImage with another load address and entry point, we have added following to our machine configuration:
KEEPUIMAGE = "no"
UBOOT_LOADADDRESS = "4000000"
UBOOT_ENTRYPOINT = "${UBOOT_LOADADDRESS}"
Scenario:
1. Make configuration as mentioned above
2. Build linux-windriver
3. Check log in build/linux-windriver/temp/do_uboot_mkimage/run.do_uboot_mkimage.59871
./build/linux-windriver/temp/do_uboot_mkimage/run.do_uboot_mkimage.59871: line 104: test: too many arguments
Reproduced on: WR Linux 700.4
BSP: EPB2 (based on fsl-t4xxx)
Analysis:
The problem seems to be introduced by commit "oe-core/kernel: Deploy KERNEL_ALT_IMAGETYPE and check it for uImage" (2bf1b5d8352ece2e0fde2b9674cf61f27de3e36).
Following change seems to solve the issue:
diff --git a/meta/classes/kernel.bbclass b/meta/classes/kernel.bbclass
index e342ed1..f0d32bf 100644
--- a/meta/classes/kernel.bbclass
+++ b/meta/classes/kernel.bbclass
@@ -487,7 +487,7 @@ MODULE_TARBALL_SYMLINK_NAME ?= "modules-${MACHINE}.tgz"
MODULE_TARBALL_DEPLOY ?= "1"
do_uboot_mkimage() {
- if test "x${KERNEL_IMAGETYPE}" = "xuImage" or "x${KERNEL_ALT_IMAGETYPE}" = "xuImage"; then
+ if test "x${KERNEL_IMAGETYPE}" = "xuImage" -o "x${KERNEL_ALT_IMAGETYPE}" = "xuImage"; then
if test "x${KEEPUIMAGE}" != "xyes" ; then
ENTRYPOINT=${UBOOT_ENTRYPOINT}
if test -n "${UBOOT_ENTRYSYMBOL}"; then