public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
From: claudius.heine.ext@siemens.com
To: isar-users@googlegroups.com
Cc: Claudius Heine <ch@denx.de>
Subject: [PATCH v3 5/5] meta-isar: added nand-ubi-demo example to demonstrate UBI use
Date: Mon,  4 Feb 2019 16:54:54 +0100	[thread overview]
Message-ID: <20190204155454.27465-6-claudius.heine.ext@siemens.com> (raw)
In-Reply-To: <20190204155454.27465-1-claudius.heine.ext@siemens.com>

From: Claudius Heine <ch@denx.de>

Signed-off-by: Claudius Heine <ch@denx.de>
---
 meta-isar/classes/ubi-ubifs-img.bbclass       | 10 ++++
 meta-isar/conf/local.conf.sample              |  1 +
 meta-isar/conf/machine/nand-ubi-demo.conf     | 13 +++++
 .../multiconfig/nand-ubi-demo-buster.conf     | 13 +++++
 .../images/files/fitimage.its.tmpl            | 58 +++++++++++++++++++
 .../images/files/ubinize.cfg.tmpl             | 17 ++++++
 .../recipes-core/images/isar-image-ubi.bb     | 40 +++++++++++++
 scripts/ci_build.sh                           |  1 +
 8 files changed, 153 insertions(+)
 create mode 100644 meta-isar/classes/ubi-ubifs-img.bbclass
 create mode 100644 meta-isar/conf/machine/nand-ubi-demo.conf
 create mode 100644 meta-isar/conf/multiconfig/nand-ubi-demo-buster.conf
 create mode 100644 meta-isar/recipes-core/images/files/fitimage.its.tmpl
 create mode 100644 meta-isar/recipes-core/images/files/ubinize.cfg.tmpl
 create mode 100644 meta-isar/recipes-core/images/isar-image-ubi.bb

diff --git a/meta-isar/classes/ubi-ubifs-img.bbclass b/meta-isar/classes/ubi-ubifs-img.bbclass
new file mode 100644
index 0000000..095719a
--- /dev/null
+++ b/meta-isar/classes/ubi-ubifs-img.bbclass
@@ -0,0 +1,10 @@
+# UBI with UBIFS image recipe
+#
+# This software is a part of ISAR.
+# Copyright (C) Siemens AG, 2019
+#
+# SPDX-License-Identifier: MIT
+
+inherit ubi-img ubifs-img fit-img
+addtask do_ubi_image after do_ubifs_image
+addtask do_ubi_image after do_fit_image
diff --git a/meta-isar/conf/local.conf.sample b/meta-isar/conf/local.conf.sample
index a671b20..519a15d 100644
--- a/meta-isar/conf/local.conf.sample
+++ b/meta-isar/conf/local.conf.sample
@@ -53,6 +53,7 @@ BBMULTICONFIG = " \
     hikey-stretch \
     qemuamd64-buster \
     qemuamd64-buster-tgz \
+    nand-ubi-demo-buster \
     rpi-jessie \
 "
 
diff --git a/meta-isar/conf/machine/nand-ubi-demo.conf b/meta-isar/conf/machine/nand-ubi-demo.conf
new file mode 100644
index 0000000..e207d40
--- /dev/null
+++ b/meta-isar/conf/machine/nand-ubi-demo.conf
@@ -0,0 +1,13 @@
+# This software is a part of ISAR.
+# Copyright (C) Siemens AG, 2019
+#
+# SPDX-License-Identifier: MIT
+
+MACHINE_SERIAL ?= "ttymxc0"
+BAUDRATE_TTY ?= "115200"
+
+MKUBIFS_ARGS := "-m 0x1000 -e 0x3e000 -c 1500"
+UBINIZE_ARGS = "-vv -m 0x1000 -p 0x40000"
+IMAGE_TYPE ?= "ubi-ubifs-img"
+
+DTB_FILE = "imx6q-sabrelite.dtb"
diff --git a/meta-isar/conf/multiconfig/nand-ubi-demo-buster.conf b/meta-isar/conf/multiconfig/nand-ubi-demo-buster.conf
new file mode 100644
index 0000000..1c88f00
--- /dev/null
+++ b/meta-isar/conf/multiconfig/nand-ubi-demo-buster.conf
@@ -0,0 +1,13 @@
+# This software is a part of ISAR.
+# Copyright (C) Siemens AG, 2019
+#
+# SPDX-License-Identifier: MIT
+
+MACHINE ?= "nand-ubi-demo"
+
+DISTRO ?= "debian-buster"
+DISTRO_ARCH ?= "armhf"
+
+KERNEL_NAME ?= "armmp"
+
+IMAGE_INSTALL += "sshd-regen-keys"
diff --git a/meta-isar/recipes-core/images/files/fitimage.its.tmpl b/meta-isar/recipes-core/images/files/fitimage.its.tmpl
new file mode 100644
index 0000000..ca50f8f
--- /dev/null
+++ b/meta-isar/recipes-core/images/files/fitimage.its.tmpl
@@ -0,0 +1,58 @@
+/dts-v1/;
+
+/ {
+	description = "Configuration to of a fitimage";
+
+	images {
+		kernel {
+			description = "Linux kernel";
+			data = /incbin/("${KERNEL_IMG}");
+			type = "kernel";
+			arch = "arm";
+			os = "linux";
+			compression = "none";
+			load =  <0x8000>;
+                        entry = <0x8000>;
+			hash-1 {
+				algo = "sha256";
+			};
+		};
+
+		fdt {
+			description = "Device Tree";
+			data = /incbin/("${DTB_IMG}");
+			type = "flat_dt";
+			arch = "arm";
+			compression = "none";
+			hash-1 {
+				algo = "sha256";
+			};
+		};
+
+		initrd {
+			description = "Initial ram disk";
+			data = /incbin/("${INITRD_IMG}");
+			type = "ramdisk";
+			arch = "arm";
+			os = "linux";
+			compression = "none";
+			hash-1 {
+				algo = "sha256";
+			};
+		};
+	};
+
+	configurations {
+		default = "config-1";
+
+		config-1 {
+			description = "System boot configuration";
+			fdt = "fdt";
+                        kernel = "kernel";
+                        ramdisk = "initrd";
+			hash {
+				algo = "sha256";
+			};
+		};
+	};
+};
diff --git a/meta-isar/recipes-core/images/files/ubinize.cfg.tmpl b/meta-isar/recipes-core/images/files/ubinize.cfg.tmpl
new file mode 100644
index 0000000..005c1ae
--- /dev/null
+++ b/meta-isar/recipes-core/images/files/ubinize.cfg.tmpl
@@ -0,0 +1,17 @@
+[fitimage]
+mode=ubi
+image=${FIT_IMG}
+vol_id=1
+vol_type=static
+vol_name=fitimage
+vol_size=64MiB
+vol_alignment=1
+
+[rootfs]
+mode=ubi
+image=${UBIFS_IMG}
+vol_id=2
+vol_type=dynamic
+vol_name=rootfs
+vol_size=300MiB
+vol_alignment=1
diff --git a/meta-isar/recipes-core/images/isar-image-ubi.bb b/meta-isar/recipes-core/images/isar-image-ubi.bb
new file mode 100644
index 0000000..e4871b1
--- /dev/null
+++ b/meta-isar/recipes-core/images/isar-image-ubi.bb
@@ -0,0 +1,40 @@
+# UBI image recipe
+#
+# This software is a part of ISAR.
+# Copyright (C) Siemens AG, 2019
+#
+# SPDX-License-Identifier: MIT
+
+DESCRIPTION = "UBI Isar image"
+
+LICENSE = "gpl-2.0"
+LIC_FILES_CHKSUM = "file://${LAYERDIR_core}/licenses/COPYING.GPLv2;md5=751419260aa954499f7abaabaa882bbe"
+
+inherit isar-image
+
+SRC_URI += "file://ubinize.cfg.tmpl \
+            file://fitimage.its.tmpl"
+
+TEMPLATE_VARS = "KERNEL_IMG INITRD_IMG DTB_IMG UBIFS_IMG FIT_IMG"
+TEMPLATE_FILES = "ubinize.cfg.tmpl fitimage.its.tmpl"
+
+KERNEL_IMG = "${PP_DEPLOY}/${KERNEL_IMAGE}"
+INITRD_IMG = "${PP_DEPLOY}/${INITRD_IMAGE}"
+DTB_IMG = "${PP_DEPLOY}/${DTB_FILE}"
+
+UBIFS_IMG = "${PP_DEPLOY}/${UBIFS_IMAGE_FILE}"
+FIT_IMG = "${PP_DEPLOY}/${FIT_IMAGE_FILE}"
+
+do_copy_boot_files_append() {
+    if [ -n "${DTB_FILE}" ]; then
+
+        DTB="$(find '${IMAGE_ROOTFS}/usr/lib' \
+                    -iwholename '*linux-image-*/${DTB_FILE}' | head -1)"
+
+        if [ -z "${DTB}" -o ! -e "${DTB}" ]; then
+            die "${DTB_FILE} not found"
+        fi
+
+        cp -f "${DTB}" "${DEPLOY_DIR_IMAGE}/${DTB_FILE}"
+    fi
+}
diff --git a/scripts/ci_build.sh b/scripts/ci_build.sh
index f3523e8..abb638e 100755
--- a/scripts/ci_build.sh
+++ b/scripts/ci_build.sh
@@ -115,6 +115,7 @@ else
         multiconfig:qemuamd64-stretch:isar-image-base \
         multiconfig:qemuamd64-buster:isar-image-base \
         multiconfig:qemuamd64-buster-tgz:isar-image-base \
+        multiconfig:nand-ubi-demo-buster:isar-image-ubi \
         multiconfig:rpi-jessie:isar-image-base
     # qemu-user-static of <= buster too old to build that
     #multiconfig:qemuarm64-buster:isar-image-base
-- 
2.20.1


      parent reply	other threads:[~2019-02-04 15:55 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-04 15:54 [PATCH v3 0/5] UBI support claudius.heine.ext
2019-02-04 15:54 ` [PATCH v3 1/5] doc/user: added targz-img to image type list claudius.heine.ext
2019-02-04 15:54 ` [PATCH v3 2/5] meta/classes: added ubifs-img class claudius.heine.ext
2019-02-04 15:54 ` [PATCH v3 3/5] meta/classes: added ubi-img class claudius.heine.ext
2019-02-04 16:04   ` Claudius Heine
2019-02-04 15:54 ` [PATCH v3 4/5] meta/classes: added fit-img class for creation of fit images claudius.heine.ext
2019-02-04 15:54 ` claudius.heine.ext [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190204155454.27465-6-claudius.heine.ext@siemens.com \
    --to=claudius.heine.ext@siemens.com \
    --cc=ch@denx.de \
    --cc=isar-users@googlegroups.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox