From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 7086521111035248640 X-Received: by 2002:a05:600c:1c24:b0:390:ba57:ed43 with SMTP id j36-20020a05600c1c2400b00390ba57ed43mr692142wms.189.1649959281328; Thu, 14 Apr 2022 11:01:21 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a5d:4ccf:0:b0:207:a2b0:7a9 with SMTP id c15-20020a5d4ccf000000b00207a2b007a9ls1292468wrt.2.gmail; Thu, 14 Apr 2022 11:01:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxOGceZQmcNpRVHUzkGxLX23u9JqwrdPHUVI1mVhaBP3VkE2nGL0Tga8jMxNefyFpPabmMT X-Received: by 2002:adf:e4c8:0:b0:207:9e81:c78f with SMTP id v8-20020adfe4c8000000b002079e81c78fmr2862346wrm.486.1649959280464; Thu, 14 Apr 2022 11:01:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649959280; cv=none; d=google.com; s=arc-20160816; b=bBWcMjWwvyVy4Z8TMnHNcZyMI+SWVS6UyIdM2AsIcB6nheKI3Pj7ISKZF6/Kw6qOOg lMhOqtIZjWtNSj314cnU8Jl9btUl4vGvB+shHZGRA0DHE7gTWJT2Q/gXzBuoxqpIaffM gaPsvRa3tOMxvT5B5r9li+DrXg99NSq6hQeIdSUc2JF6TofYjEcJOyUzH7qqas35DjO7 Rw9LmK3zIO0oUwRK6R4jh+Aqs4idxXgyHJAOvOxlTLmrkbVLv5Z5VawW1SrioU45DO0N oFeNkhC43lVQ+O9WnlXOlD74rmBGGdMTIUmZE3qkSYrdIosVLQucTKfdAWQYdmGRhbea qQ2w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:message-id:date:subject:cc:to:from; bh=PYgBDRAfPX4XYYs7mHEiYr69jmWOHGNcuJVaIdM+vSc=; b=yOdyl+yMfSAOdwxbt+BU8VzXtTkNZpvzPeWD/HELSk+GSseaZZKvM7eSZts9opfM4p vUB3+6UDL3N2LgfVmt5h0/HVgVWK3QE29nAjcdnHyjUWGcP8wbZ/PO3unqja3v6/BPQK obcsr9TMJ0yVboWe/fMNtkqgUUqa+jdPc/oFH69gN5GCsK0E0wveO2iGXBUVWaXok3Y1 pf1Lc3t83IW/IWIBA2S/Ulbbz/Z/W9IvpKQJNCDsH8WwZairlnwjC1sswtzzYJTDkoxC ooeSk3dDM8Yufy+vB5q9R4NAvBIT7KNFh1G9RLEpWnuZn+FivXnfTbEj1ZngzDB9v8MV o2jg== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de Return-Path: Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id r17-20020adff111000000b00203d9be074dsi717146wro.0.2022.04.14.11.01.20 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Thu, 14 Apr 2022 11:01:20 -0700 (PDT) Received-SPF: pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of amikan@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=amikan@ilbers.de Received: from localhost.localdomain (mm-207-50-214-37.mgts.dynamic.pppoe.byfly.by [37.214.50.207] (may be forged)) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8) with ESMTPSA id 23EI19vm008241 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 14 Apr 2022 20:01:19 +0200 From: Anton Mikanovich To: isar-users@googlegroups.com Cc: Anton Mikanovich Subject: [PATCH v2 7/7] meta: Add barebox bootloader support Date: Thu, 14 Apr 2022 21:01:01 +0300 Message-Id: <20220414180101.3373-8-amikan@ilbers.de> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20220414180101.3373-1-amikan@ilbers.de> References: <20220414180101.3373-1-amikan@ilbers.de> X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-TUID: pz+HP5MH/UNa Add Barebox v2022.02.0 recipe as a reference and enable it for phyBOARD-Mira target. Most of the files here are actually just an environment to be apply. Signed-off-by: Anton Mikanovich --- meta-isar/conf/machine/phyboard-mira.conf | 5 ++ .../recipes-bsp/barebox/barebox_2022.02.0.bb | 13 ++++ ...1-of_dump-Add-a-simple-node-check-up.patch | 61 +++++++++++++++++++ .../barebox/files/phytec-mira-env/bin/far | 14 +++++ .../bin/rauc_flash_nand_from_mmc | 10 +++ .../bin/rauc_flash_nand_from_tftp | 10 +++ .../files/phytec-mira-env/bin/rauc_init_nand | 17 ++++++ .../barebox/files/phytec-mira-env/boot/initrd | 9 +++ .../barebox/files/phytec-mira-env/boot/mmc | 14 +++++ .../barebox/files/phytec-mira-env/boot/nand | 16 +++++ .../barebox/files/phytec-mira-env/boot/net | 21 +++++++ .../barebox/files/phytec-mira-env/boot/spi | 7 +++ .../files/phytec-mira-env/boot/system0 | 16 +++++ .../files/phytec-mira-env/boot/system1 | 16 +++++ .../files/phytec-mira-env/config-expansions | 28 +++++++++ .../phytec-mira-env/expansions/dt-overlays | 14 +++++ .../expansions/imx6-phytec-check-bus-nodepath | 7 +++ .../expansions/imx6qdl-mira-enable-lvds | 2 + .../expansions/imx6qdl-mira-peb-eval-01 | 3 + .../expansions/imx6qdl-nunki-enable-lvds | 2 + .../expansions/imx6qdl-phytec-lcd | 4 ++ .../imx6qdl-phytec-lcd-018-peb-av-02 | 3 + .../imx6qdl-phytec-lcd-018-peb-av-02-res | 3 + .../expansions/imx6qdl-phytec-lcd-res | 4 ++ .../expansions/imx6qdl-phytec-peb-wlbt-05 | 7 +++ .../files/phytec-mira-env/nv/allow_color | 1 + .../files/phytec-mira-env/nv/boot.default | 1 + .../nv/bootchooser.state_prefix | 1 + .../nv/bootchooser.system0.boot | 1 + .../nv/bootchooser.system1.boot | 1 + .../phytec-mira-env/nv/bootchooser.targets | 1 + .../files/phytec-mira-env/nv/dev.eth0.ipaddr | 1 + .../phytec-mira-env/nv/dev.eth0.linux.devname | 1 + .../files/phytec-mira-env/nv/dev.eth0.mode | 1 + .../files/phytec-mira-env/nv/dev.eth0.netmask | 1 + .../phytec-mira-env/nv/dev.eth0.serverip | 1 + .../files/phytec-mira-env/nv/dhcp.vendor_id | 1 + .../phytec-mira-env/nv/linux.bootargs.base | 1 + .../phytec-mira-env/nv/linux.bootargs.fb | 1 + .../phytec-mira-env/nv/linux.bootargs.rootfs | 1 + .../files/phytec-mira-env/nv/net.gateway | 1 + .../files/phytec-mira-env/nv/overlays.select | 0 meta/recipes-bsp/barebox/barebox.inc | 55 +++++++++++++++++ .../barebox/files/defaultenv.cfg.tmpl | 5 ++ meta/recipes-bsp/barebox/files/rules.tmpl | 45 ++++++++++++++ .../barebox/files/version.cfg.tmpl | 2 + 46 files changed, 429 insertions(+) create mode 100644 meta-isar/recipes-bsp/barebox/barebox_2022.02.0.bb create mode 100644 meta-isar/recipes-bsp/barebox/files/0001-of_dump-Add-a-simple-node-check-up.patch create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/bin/far create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/bin/rauc_flash_nand_from_mmc create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/bin/rauc_flash_nand_from_tftp create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/bin/rauc_init_nand create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/boot/initrd create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/boot/mmc create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/boot/nand create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/boot/net create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/boot/spi create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/boot/system0 create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/boot/system1 create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/config-expansions create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/dt-overlays create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6-phytec-check-bus-nodepath create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-mira-enable-lvds create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-mira-peb-eval-01 create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-nunki-enable-lvds create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-phytec-lcd create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-phytec-lcd-018-peb-av-02 create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-phytec-lcd-018-peb-av-02-res create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-phytec-lcd-res create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-phytec-peb-wlbt-05 create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/allow_color create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/boot.default create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/bootchooser.state_prefix create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/bootchooser.system0.boot create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/bootchooser.system1.boot create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/bootchooser.targets create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/dev.eth0.ipaddr create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/dev.eth0.linux.devname create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/dev.eth0.mode create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/dev.eth0.netmask create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/dev.eth0.serverip create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/dhcp.vendor_id create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/linux.bootargs.base create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/linux.bootargs.fb create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/linux.bootargs.rootfs create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/net.gateway create mode 100644 meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/overlays.select create mode 100644 meta/recipes-bsp/barebox/barebox.inc create mode 100644 meta/recipes-bsp/barebox/files/defaultenv.cfg.tmpl create mode 100755 meta/recipes-bsp/barebox/files/rules.tmpl create mode 100644 meta/recipes-bsp/barebox/files/version.cfg.tmpl diff --git a/meta-isar/conf/machine/phyboard-mira.conf b/meta-isar/conf/machine/phyboard-mira.conf index d1707d3..ac42084 100644 --- a/meta-isar/conf/machine/phyboard-mira.conf +++ b/meta-isar/conf/machine/phyboard-mira.conf @@ -19,3 +19,8 @@ IMAGE_FSTYPES ?= "ubi ubifs" DTB_FILES = "imx6q-phytec-mira-ff-rdk-nand.dtb" IMAGE_INSTALL += "sshd-regen-keys" +IMAGE_INSTALL += "barebox" + +BAREBOX_CONFIG = "imx_v7_defconfig" +BAREBOX_ENV = "phytec-mira-env" +BAREBOX_BASE_BIN = "barebox-phytec-phycore-imx6q-som-nand-1gib" diff --git a/meta-isar/recipes-bsp/barebox/barebox_2022.02.0.bb b/meta-isar/recipes-bsp/barebox/barebox_2022.02.0.bb new file mode 100644 index 0000000..ba171ce --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/barebox_2022.02.0.bb @@ -0,0 +1,13 @@ +# This software is a part of ISAR. +# Copyright (C) 2022 ilbers GmbH + +inherit dpkg + +require recipes-bsp/barebox/barebox.inc + +SRC_URI += "https://git.pengutronix.de/cgit/barebox/snapshot/barebox-${PV}.tar.gz \ + file://0001-of_dump-Add-a-simple-node-check-up.patch" + +SRC_URI[sha256sum] = "01fb3799840bde34014981557361dcae1db23764708bb7b151ec044eb022fbe8" + +BAREBOX_VERSION_EXTENSION = "-isar" diff --git a/meta-isar/recipes-bsp/barebox/files/0001-of_dump-Add-a-simple-node-check-up.patch b/meta-isar/recipes-bsp/barebox/files/0001-of_dump-Add-a-simple-node-check-up.patch new file mode 100644 index 0000000..05caba1 --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/0001-of_dump-Add-a-simple-node-check-up.patch @@ -0,0 +1,61 @@ +From 4abae0d9cc23ef055c0054e41c515e92fa5267ce Mon Sep 17 00:00:00 2001 +From: Yunus Bas +Date: Fri, 4 Jun 2021 19:03:04 +0200 +Subject: [PATCH] of_dump: Add a simple node check-up + +In case a node is found, the whole node and it's subnodes will be +printed. This patch extends the of_dump command with a simple check-up. +This is needed e.g. when other scripts need to determine if a +devicetree node exists or not. + +Zero is returned in case the node is found, an error code if not. + +Signed-off-by: Yunus Bas +--- + commands/of_dump.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/commands/of_dump.c b/commands/of_dump.c +index 6792af3af..d4d9c46a5 100644 +--- a/commands/of_dump.c ++++ b/commands/of_dump.c +@@ -32,14 +32,17 @@ static int do_of_dump(int argc, char *argv[]) + int opt; + int ret = 0; + int fix = 0; ++ int exists = 0; + struct device_node *root = NULL, *node, *of_free = NULL; + char *dtbfile = NULL; + size_t size; + const char *nodename; + int names_only = 0, properties_only = 0; + +- while ((opt = getopt(argc, argv, "Ff:np")) > 0) { ++ while ((opt = getopt(argc, argv, "eFf:np")) > 0) { + switch (opt) { ++ case 'e': ++ exists = 1; + case 'f': + dtbfile = optarg; + break; +@@ -109,6 +112,9 @@ static int do_of_dump(int argc, char *argv[]) + printf("Cannot find nodepath %s\n", nodename); + ret = -ENOENT; + goto out; ++ } else if (exists) { ++ printf("Found node %s\n", nodename); ++ goto out; + } + + if (names_only) +@@ -125,6 +131,7 @@ out: + + BAREBOX_CMD_HELP_START(of_dump) + BAREBOX_CMD_HELP_TEXT("Options:") ++BAREBOX_CMD_HELP_OPT ("-e", "only check if path or alias exists") + BAREBOX_CMD_HELP_OPT ("-f dtb", "work on dtb instead of internal devicetree") + BAREBOX_CMD_HELP_OPT ("-F", "return fixed devicetree") + BAREBOX_CMD_HELP_OPT ("-n", "Print node names only, no properties") +-- +2.30.0 + diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/bin/far b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/bin/far new file mode 100644 index 0000000..3013462 --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/bin/far @@ -0,0 +1,14 @@ +#!/bin/sh +# barebox script far (="Fetch And Reset"): +# +# The script is useful for a rapid compile and execute development cycle. If +# the deployment directory of yocto is the root directory of the tftp server +# (e.g. use a bind mount), you can fetch and execute a newly compiled barebox +# with this script. + +cp /mnt/tftp/barebox.bin /dev/ram0 +if [ $? != 0 ]; then + echo "Error: Cannot fetch file "barebox.bin" from host!" +else + go /dev/ram0 +fi diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/bin/rauc_flash_nand_from_mmc b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/bin/rauc_flash_nand_from_mmc new file mode 100644 index 0000000..207ad7f --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/bin/rauc_flash_nand_from_mmc @@ -0,0 +1,10 @@ +#!/bin/sh +echo "WARNING! This script is deprecated. Please use "rauc-flash-nand" in a Linux environment!" +echo "Initializing NAND flash from MMC" +[ ! -e /dev/nand0.root.ubi ] && ubiattach /dev/nand0.root +ubiupdatevol /dev/nand0.root.ubi.kernel0 /mnt/mmc0.0/zImage +ubiupdatevol /dev/nand0.root.ubi.kernel1 /mnt/mmc0.0/zImage +ubiupdatevol /dev/nand0.root.ubi.oftree0 /mnt/mmc0.0/oftree +ubiupdatevol /dev/nand0.root.ubi.oftree1 /mnt/mmc0.0/oftree +cp /mnt/mmc0.0/root.ubifs /dev/nand0.root.ubi.root0 +cp /mnt/mmc0.0/root.ubifs /dev/nand0.root.ubi.root1 diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/bin/rauc_flash_nand_from_tftp b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/bin/rauc_flash_nand_from_tftp new file mode 100644 index 0000000..5fcb366 --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/bin/rauc_flash_nand_from_tftp @@ -0,0 +1,10 @@ +#!/bin/sh +echo "WARNING! This script is deprecated. Please use "rauc-flash-nand" in a Linux environment!" +echo "Initializing NAND flash from TFTP" +[ ! -e /dev/nand0.root.ubi ] && ubiattach /dev/nand0.root +ubiupdatevol /dev/nand0.root.ubi.kernel0 /mnt/tftp/zImage +ubiupdatevol /dev/nand0.root.ubi.kernel1 /mnt/tftp/zImage +ubiupdatevol /dev/nand0.root.ubi.oftree0 /mnt/tftp/oftree +ubiupdatevol /dev/nand0.root.ubi.oftree1 /mnt/tftp/oftree +cp /mnt/tftp/root.ubifs /dev/nand0.root.ubi.root0 +cp /mnt/tftp/root.ubifs /dev/nand0.root.ubi.root1 diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/bin/rauc_init_nand b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/bin/rauc_init_nand new file mode 100644 index 0000000..18c6a13 --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/bin/rauc_init_nand @@ -0,0 +1,17 @@ +#!/bin/sh +ROOTFSSIZE=479M +KERNELSIZE=16M +DTBSIZE=1M +echo "WARNING! This script is deprecated. Please use "rauc-flash-nand" in a Linux environment!" +echo "Formatting /dev/nand0.root" + +ubiformat -q /dev/nand0.root +ubiattach /dev/nand0.root +ubimkvol -t static /dev/nand0.root.ubi kernel0 ${KERNELSIZE} +ubimkvol -t static /dev/nand0.root.ubi oftree0 ${DTBSIZE} +ubimkvol /dev/nand0.root.ubi root0 ${ROOTFSSIZE} +ubimkvol -t static /dev/nand0.root.ubi kernel1 ${KERNELSIZE} +ubimkvol -t static /dev/nand0.root.ubi oftree1 ${DTBSIZE} +ubimkvol /dev/nand0.root.ubi root1 ${ROOTFSSIZE} + +ubidetach 0 diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/boot/initrd b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/boot/initrd new file mode 100644 index 0000000..f68bfcb --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/boot/initrd @@ -0,0 +1,9 @@ +#!/bin/sh +path="/mnt/tftp" + +global.bootm.image="${path}/${global.user}-linux-${global.hostname}" + +global.bootm.oftree="${path}/${global.user}-oftree-${global.hostname}" +global.bootm.initrd="${path}/${global.user}-phytec-initramfs-image-${global.hostname}.cpio.gz" + +global.linux.bootargs.dyn.root="root=/dev/ram0 ip=$eth0.ipaddr:$eth0.serverip:$eth0.gateway:$eth0.netmask:: quiet" diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/boot/mmc b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/boot/mmc new file mode 100644 index 0000000..46761ed --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/boot/mmc @@ -0,0 +1,14 @@ +#!/bin/sh + +detect mmc0 + +global.bootm.image="/mnt/mmc0.0/zImage" +global.bootm.oftree="/mnt/mmc0.0/oftree" +global.linux.bootargs.dyn.root="root=/dev/mmcblk0p2 rootflags='data=journal'" + +[ -e /env/config-expansions ] && /env/config-expansions + +if [ -e /env/expansions/dt-overlays ] ; then + global overlays.path="/mnt/mmc0.1/overlays" + /env/expansions/dt-overlays +fi diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/boot/nand b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/boot/nand new file mode 100644 index 0000000..f6d71aa --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/boot/nand @@ -0,0 +1,16 @@ +#!/bin/sh + +[ ! -e /dev/nand0.root.ubi ] && ubiattach /dev/nand0.root + +global.bootm.image="/dev/nand0.root.ubi.kernel" +global.bootm.oftree="/dev/nand0.root.ubi.oftree" +global.linux.bootargs.dyn.root="root=ubi0:root ubi.mtd=root rootfstype=ubifs" + +[ -e /env/config-expansions ] && /env/config-expansions + +if [ -e /env/expansions/dt-overlays ] ; then + mkdir /mnt/rootfs + mount -t ubifs /dev/nand0.root.ubi.root /mnt/rootfs + global overlays.path="/mnt/rootfs/overlays" + /env/expansions/dt-overlays +fi diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/boot/net b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/boot/net new file mode 100644 index 0000000..0ad9412 --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/boot/net @@ -0,0 +1,21 @@ +#!/bin/sh + +path="/mnt/tftp" + +global.bootm.image="${path}/${global.user}-linux-${global.hostname}" + +oftree="${path}/${global.user}-oftree-${global.hostname}" +if [ -f "${oftree}" ]; then + global.bootm.oftree="$oftree" +fi + +nfsroot="/home/${global.user}/nfsroot/${global.hostname}" +ip_route_get -b ${global.net.server} global.linux.bootargs.dyn.ip +global.linux.bootargs.dyn.root="root=/dev/nfs nfsroot=$nfsroot,vers=3,tcp" + +[ -e /env/config-expansions ] && /env/config-expansions + +if [ -e /env/expansions/dt-overlays ] ; then + global overlays.path="/mnt/nfs/overlays" + /env/expansions/dt-overlays +fi diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/boot/spi b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/boot/spi new file mode 100644 index 0000000..c4dc3d5 --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/boot/spi @@ -0,0 +1,7 @@ +#!/bin/sh + +global.bootm.image="/dev/m25p0.kernel" +global.bootm.oftree="/dev/m25p0.oftree" +global.linux.bootargs.dyn.root="root=ubi0:root ubi.mtd=root rootfstype=ubifs" + +[ -e /env/config-expansions ] && /env/config-expansions diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/boot/system0 b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/boot/system0 new file mode 100644 index 0000000..459ae96 --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/boot/system0 @@ -0,0 +1,16 @@ +#!/bin/sh + +[ ! -e /dev/nand0.root.ubi ] && ubiattach /dev/nand0.root + +global.bootm.image="/dev/nand0.root.ubi.kernel0" +global.bootm.oftree="/dev/nand0.root.ubi.oftree0" +global.linux.bootargs.dyn.root="root=ubi0:root0 ubi.mtd=root rootfstype=ubifs" + +[ -e /env/config-expansions ] && /env/config-expansions + +if [ -e /env/expansions/dt-overlays ] ; then + mkdir /mnt/rootfs + mount -t ubifs /dev/nand0.root.ubi.root0 /mnt/rootfs + global overlays.path="/mnt/rootfs/overlays" + /env/expansions/dt-overlays +fi diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/boot/system1 b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/boot/system1 new file mode 100644 index 0000000..c22a180 --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/boot/system1 @@ -0,0 +1,16 @@ +#!/bin/sh + +[ ! -e /dev/nand0.root.ubi ] && ubiattach /dev/nand0.root + +global.bootm.image="/dev/nand0.root.ubi.kernel1" +global.bootm.oftree="/dev/nand0.root.ubi.oftree1" +global.linux.bootargs.dyn.root="root=ubi0:root1 ubi.mtd=root rootfstype=ubifs" + +[ -e /env/config-expansions ] && /env/config-expansions + +if [ -e /env/expansions/dt-overlays ] ; then + mkdir /mnt/rootfs + mount -t ubifs /dev/nand0.root.ubi.root1 /mnt/rootfs + global overlays.path="/mnt/rootfs/overlays" + /env/expansions/dt-overlays +fi diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/config-expansions b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/config-expansions new file mode 100644 index 0000000..4958f67 --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/config-expansions @@ -0,0 +1,28 @@ +#!/bin/sh + +. /env/expansions/imx6-phytec-check-bus-nodepath + +. /env/expansions/imx6qdl-mira-peb-eval-01 +#. /env/expansions/imx6qdl-mira-enable-lvds +#. /env/expansions/imx6qdl-phytec-peb-wlbt-05 + +#use this expansion when a capacitive touchscreen is connected +#. /env/expansions/imx6qdl-phytec-lcd-018-peb-av-02 + +#use this expansion when a resisitive touchscreen is connected +#. /env/expansions/imx6qdl-phytec-lcd-018-peb-av-02-res + +# imx6qdl-phytec-lcd: 7" display (AC158 / AC138) +#of_property -s -f "/panel-lcd" compatible "edt,etm0700g0edh6" + +# imx6qdl-phytec-lcd: 7" display (AC104) +#of_property -s -f "/panel-lcd" compatible "edt,etm0700g0dh6" + +# imx6qdl-phytec-lcd: 5.7" display (AC103) +#of_property -s -f "/panel-lcd" compatible "edt,etmv570g2dhu" + +# imx6qdl-phytec-lcd: 4.3" display (AC102) +#of_property -s -f "/panel-lcd" compatible "edt,etm0430g0dh6" + +# imx6qdl-phytec-lcd: 3.5" display (AC167 / AC101) +#of_property -s -f "/panel-lcd" compatible "edt,etm0350g0dh6" diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/dt-overlays b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/dt-overlays new file mode 100644 index 0000000..c3bcc34 --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/dt-overlays @@ -0,0 +1,14 @@ +#!/bin/sh + +path="$global.overlays.path" + +if [ -e ${path}/select ] ; then + readf ${path}/select global.overlays.select +fi + +for o in $global.overlays.select ; do + if [ -e ${path}/${o} ] ; then + echo "Add ${path}/${o} overlay" + of_overlay ${path}/${o} + fi +done diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6-phytec-check-bus-nodepath b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6-phytec-check-bus-nodepath new file mode 100644 index 0000000..ba94f40 --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6-phytec-check-bus-nodepath @@ -0,0 +1,7 @@ +bus="bus" +of_dump -e /soc/$bus@2000000 + +if [ $? != 0 ]; then + echo "Changing node-name bus to aips-bus" + bus="aips-bus" +fi diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-mira-enable-lvds b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-mira-enable-lvds new file mode 100644 index 0000000..73ab490 --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-mira-enable-lvds @@ -0,0 +1,2 @@ +of_fixup_status /ldb/lvds-channel@0 +of_fixup_status /soc/$bus@2100000/i2c@21a0000/touchctrl@44 diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-mira-peb-eval-01 b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-mira-peb-eval-01 new file mode 100644 index 0000000..f4a486f --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-mira-peb-eval-01 @@ -0,0 +1,3 @@ +of_fixup_status /gpio-keys +of_fixup_status /user-leds +of_property -s -f -e $global.bootm.oftree /soc/$bus@2100000/serial@21ec000 pinctrl-0 diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-nunki-enable-lvds b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-nunki-enable-lvds new file mode 100644 index 0000000..73ab490 --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-nunki-enable-lvds @@ -0,0 +1,2 @@ +of_fixup_status /ldb/lvds-channel@0 +of_fixup_status /soc/$bus@2100000/i2c@21a0000/touchctrl@44 diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-phytec-lcd b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-phytec-lcd new file mode 100644 index 0000000..497c3ae --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-phytec-lcd @@ -0,0 +1,4 @@ +#!/bin/sh +of_fixup_status /panel-lcd +of_fixup_status /ldb/lvds-channel@0 +of_fixup_status /soc/$bus@2100000/i2c@21a4000/polytouch@38 diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-phytec-lcd-018-peb-av-02 b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-phytec-lcd-018-peb-av-02 new file mode 100644 index 0000000..ce76ca0 --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-phytec-lcd-018-peb-av-02 @@ -0,0 +1,3 @@ +of_fixup_status /panel-lcd +of_fixup_status /display@di0 +of_fixup_status /soc/$bus@2100000/i2c@21a0000/polytouch@38 diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-phytec-lcd-018-peb-av-02-res b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-phytec-lcd-018-peb-av-02-res new file mode 100644 index 0000000..381c723 --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-phytec-lcd-018-peb-av-02-res @@ -0,0 +1,3 @@ +of_fixup_status /panel-lcd +of_fixup_status /display@di0 +of_fixup_status /soc/$bus@2100000/i2c@21a0000/touchctrl@44 diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-phytec-lcd-res b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-phytec-lcd-res new file mode 100644 index 0000000..7bf30e5 --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-phytec-lcd-res @@ -0,0 +1,4 @@ +#!/bin/sh +of_fixup_status /panel-lcd +of_fixup_status /ldb/lvds-channel@0 +of_fixup_status /soc/$bus@2100000/i2c@21a4000/touchctrl@41 diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-phytec-peb-wlbt-05 b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-phytec-peb-wlbt-05 new file mode 100644 index 0000000..5ae4218 --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/expansions/imx6qdl-phytec-peb-wlbt-05 @@ -0,0 +1,7 @@ +#!/bin/sh +of_fixup_status /soc/$bus@2100000/mmc@2198000 +of_fixup_status /regulator-wl-en +of_fixup_status -d /gpio-keys +of_fixup_status /soc/$bus@2100000/serial@21ec000/bluetooth +of_fixup_status -d /user-leds +of_property -s -f -e $global.bootm.oftree /soc/$bus@2100000/serial@21ec000 pinctrl-0 diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/allow_color b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/allow_color new file mode 100644 index 0000000..c508d53 --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/allow_color @@ -0,0 +1 @@ +false diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/boot.default b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/boot.default new file mode 100644 index 0000000..d31014d --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/boot.default @@ -0,0 +1 @@ +bootchooser \ No newline at end of file diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/bootchooser.state_prefix b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/bootchooser.state_prefix new file mode 100644 index 0000000..38c56c1 --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/bootchooser.state_prefix @@ -0,0 +1 @@ +state.bootstate \ No newline at end of file diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/bootchooser.system0.boot b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/bootchooser.system0.boot new file mode 100644 index 0000000..dcc64ac --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/bootchooser.system0.boot @@ -0,0 +1 @@ +system0 \ No newline at end of file diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/bootchooser.system1.boot b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/bootchooser.system1.boot new file mode 100644 index 0000000..2858d07 --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/bootchooser.system1.boot @@ -0,0 +1 @@ +system1 \ No newline at end of file diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/bootchooser.targets b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/bootchooser.targets new file mode 100644 index 0000000..cf2ba7c --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/bootchooser.targets @@ -0,0 +1 @@ +system0 system1 \ No newline at end of file diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/dev.eth0.ipaddr b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/dev.eth0.ipaddr new file mode 100644 index 0000000..4194dcb --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/dev.eth0.ipaddr @@ -0,0 +1 @@ +192.168.3.11 \ No newline at end of file diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/dev.eth0.linux.devname b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/dev.eth0.linux.devname new file mode 100644 index 0000000..563d95d --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/dev.eth0.linux.devname @@ -0,0 +1 @@ +eth0 \ No newline at end of file diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/dev.eth0.mode b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/dev.eth0.mode new file mode 100644 index 0000000..ecdef5b --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/dev.eth0.mode @@ -0,0 +1 @@ +static \ No newline at end of file diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/dev.eth0.netmask b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/dev.eth0.netmask new file mode 100644 index 0000000..5a279b4 --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/dev.eth0.netmask @@ -0,0 +1 @@ +255.255.255.0 \ No newline at end of file diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/dev.eth0.serverip b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/dev.eth0.serverip new file mode 100644 index 0000000..66764ab --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/dev.eth0.serverip @@ -0,0 +1 @@ +192.168.3.10 \ No newline at end of file diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/dhcp.vendor_id b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/dhcp.vendor_id new file mode 100644 index 0000000..b69d5fa --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/dhcp.vendor_id @@ -0,0 +1 @@ +barebox-phyCORE-i.MX6 \ No newline at end of file diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/linux.bootargs.base b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/linux.bootargs.base new file mode 100644 index 0000000..efc4ee6 --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/linux.bootargs.base @@ -0,0 +1 @@ +consoleblank=0 diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/linux.bootargs.fb b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/linux.bootargs.fb new file mode 100644 index 0000000..0848ba8 --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/linux.bootargs.fb @@ -0,0 +1 @@ +imxdrm.legacyfb_depth=32 diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/linux.bootargs.rootfs b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/linux.bootargs.rootfs new file mode 100644 index 0000000..199c7b5 --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/linux.bootargs.rootfs @@ -0,0 +1 @@ +rootwait ro fsck.repair=yes diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/net.gateway b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/net.gateway new file mode 100644 index 0000000..66764ab --- /dev/null +++ b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/net.gateway @@ -0,0 +1 @@ +192.168.3.10 \ No newline at end of file diff --git a/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/overlays.select b/meta-isar/recipes-bsp/barebox/files/phytec-mira-env/nv/overlays.select new file mode 100644 index 0000000..e69de29 diff --git a/meta/recipes-bsp/barebox/barebox.inc b/meta/recipes-bsp/barebox/barebox.inc new file mode 100644 index 0000000..5896d60 --- /dev/null +++ b/meta/recipes-bsp/barebox/barebox.inc @@ -0,0 +1,55 @@ +# This software is a part of ISAR. +# Copyright (C) 2022 ilbers GmbH + +DESCRIPTION ?= "The barebox is a bootloader designed for embedded systems. It \ + runs on a variety of architectures including x86, ARM, MIPS, \ + PowerPC and others." +CHANGELOG_V = "${PV}+${PR}" +MAINTAINER ?= "isar-users " + +DEBIAN_BUILD_DEPENDS ?= "lzop, coreutils, bison, flex" + +BAREBOX_CONFIG ?= "" +BAREBOX_BUILD_DIR ?= "build" +BAREBOX_VERSION_EXTENSION ?= "" +BAREBOX_ENV ?= "" + +FILESEXTRAPATHS_prepend := "${FILE_DIRNAME}/files:" +SRC_URI += "file://rules.tmpl \ + file://version.cfg.tmpl \ + file://defaultenv.cfg.tmpl" + +BAREBOX_CONFIG_FRAGMENTS = "version.cfg defaultenv.cfg" + +SRC_URI += "${@'file://%s' % d.getVar('BAREBOX_ENV') if d.getVar('BAREBOX_ENV') else ''}" + +TEMPLATE_FILES += "rules.tmpl version.cfg.tmpl defaultenv.cfg.tmpl" +TEMPLATE_VARS += "BAREBOX_CONFIG BAREBOX_BUILD_DIR BAREBOX_VERSION_EXTENSION BAREBOX_ENV BAREBOX_CONFIG_FRAGMENTS BAREBOX_BASE_BIN" + +do_prepare_build[cleandirs] += "${S}/debian" +do_prepare_build() { + deb_debianize + + if [ -n "${BAREBOX_CONFIG_FRAGMENTS}" ]; then + (cd ${WORKDIR} && cp ${BAREBOX_CONFIG_FRAGMENTS} ${S}/) + fi + if [ -n "${BAREBOX_ENV}" ]; then + (cd ${WORKDIR} && cp -r ${BAREBOX_ENV} ${S}/) + fi +} + +BAREBOX_BASE_BIN ?= "barebox" + +do_deploy[dirs] = "${DEPLOY_DIR_IMAGE}" +do_deploy() { + dpkg --fsys-tarfile ${WORKDIR}/${PN}_${CHANGELOG_V}_${DISTRO_ARCH}.deb | \ + tar xOf - ./usr/lib/barebox/barebox.bin \ + > "${DEPLOY_DIR_IMAGE}/${BAREBOX_BASE_BIN}.img" + ln -sf ${BAREBOX_BASE_BIN}.img ${DEPLOY_DIR_IMAGE}/barebox.bin + + dpkg --fsys-tarfile ${WORKDIR}/${PN}_${CHANGELOG_V}_${DISTRO_ARCH}.deb | \ + tar xOf - ./usr/lib/barebox/barebox.config \ + > "${DEPLOY_DIR_IMAGE}/${BAREBOX_BASE_BIN}.config" + ln -sf ${BAREBOX_BASE_BIN}.config ${DEPLOY_DIR_IMAGE}/barebox.config +} +addtask deploy before do_deploy_deb after do_dpkg_build diff --git a/meta/recipes-bsp/barebox/files/defaultenv.cfg.tmpl b/meta/recipes-bsp/barebox/files/defaultenv.cfg.tmpl new file mode 100644 index 0000000..5d88f8c --- /dev/null +++ b/meta/recipes-bsp/barebox/files/defaultenv.cfg.tmpl @@ -0,0 +1,5 @@ +# CONFIG_BAREBOXENV_TARGET is not set +# CONFIG_BAREBOXCRC32_TARGET is not set +# CONFIG_KERNEL_INSTALL_TARGET is not set +# CONFIG_IMD_TARGET is not set +CONFIG_DEFAULT_ENVIRONMENT_PATH="${BAREBOX_ENV}" diff --git a/meta/recipes-bsp/barebox/files/rules.tmpl b/meta/recipes-bsp/barebox/files/rules.tmpl new file mode 100755 index 0000000..78c9aa4 --- /dev/null +++ b/meta/recipes-bsp/barebox/files/rules.tmpl @@ -0,0 +1,45 @@ +#!/usr/bin/make -f + +# Debian rules for custom Barebox build +# +# This software is a part of ISAR. +# Copyright (C) 2022 ilbers GmbH + +ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) +export CROSS_COMPILE=$(DEB_HOST_GNU_TYPE)- +endif + +ifeq ($(DEB_HOST_GNU_CPU), arm) +export ARCH=arm +endif +ifeq ($(DEB_HOST_GNU_CPU), aarch64) +export ARCH=arm64 +endif +ifeq ($(DEB_HOST_GNU_CPU), riscv64) +export ARCH=riscv +endif +ifneq (,$(findstring 86,$(DEB_HOST_GNU_CPU))) +export ARCH=x86 +endif + +export KBUILD_OUTPUT=${BAREBOX_BUILD_DIR} + +export LDFLAGS="--no-dynamic-linker" + +override_dh_auto_configure: + $(MAKE) $(PARALLEL_MAKE) ${BAREBOX_CONFIG} +ifneq (,${BAREBOX_CONFIG_FRAGMENTS}) + ./scripts/kconfig/merge_config.sh -m -O ${BAREBOX_BUILD_DIR} ${BAREBOX_BUILD_DIR}/.config ${BAREBOX_CONFIG_FRAGMENTS} +endif + $(MAKE) $(PARALLEL_MAKE) olddefconfig + +override_dh_auto_build: + $(MAKE) $(PARALLEL_MAKE) all + +override_dh_auto_install: + install -d $(CURDIR)/debian/barebox/usr/lib/barebox + install -m 644 ${BAREBOX_BUILD_DIR}/images/${BAREBOX_BASE_BIN}.img $(CURDIR)/debian/barebox/usr/lib/barebox/barebox.bin + install -m 644 ${BAREBOX_BUILD_DIR}/.config $(CURDIR)/debian/barebox/usr/lib/barebox/barebox.config + +%: + dh $@ --parallel diff --git a/meta/recipes-bsp/barebox/files/version.cfg.tmpl b/meta/recipes-bsp/barebox/files/version.cfg.tmpl new file mode 100644 index 0000000..26292aa --- /dev/null +++ b/meta/recipes-bsp/barebox/files/version.cfg.tmpl @@ -0,0 +1,2 @@ +CONFIG_LOCALVERSION="${BAREBOX_VERSION_EXTENSION}" +# CONFIG_LOCALVERSION_AUTO is not set -- 2.17.1