From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6652197203295076352 X-Received: by 2002:a2e:4253:: with SMTP id p80-v6mr2075lja.13.1549295700959; Mon, 04 Feb 2019 07:55:00 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:a2e:8ec8:: with SMTP id e8-v6ls2141773ljl.5.gmail; Mon, 04 Feb 2019 07:55:00 -0800 (PST) X-Google-Smtp-Source: AHgI3IZAhbLNlXrOULhNI1oCC03Awo5sk52ERrH70UwgQz2ULpBScOKT4dft5Ud3e37w5T9aqQ23 X-Received: by 2002:a2e:5d84:: with SMTP id v4-v6mr7318lje.4.1549295700159; Mon, 04 Feb 2019 07:55:00 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1549295700; cv=none; d=google.com; s=arc-20160816; b=pik/xW1KAdTHmuZYusNSJmMBzxKk8cKU3aNM1UYPu5CQgomInq7q71O4CW+CE+0Fpy 2whkw+I5qpwROe/c0a3mZl3fIXK5KtokkL8H3VcPvcDtOI6PXF1PodI45xUS94NwJsJb RO5auGbGynz8ZmaBhe/aEE6GiMz4e/Qo/1j6ORb5l7wuqIkkQBZC4Aqes0ipoyXlr8ED RmxF/tkIcrlggIVJeb8WZzlvEIWSAQWxS+OqiiNwmHjUeZ+Ng1JlrWG/SA5s2lyI0JIN ZqacmlyAsCgjgLlO5Fe/ut+uwrSGTU/opQLTpHdN4d7JQ/U1uZ+yBx0FFM7Db9fPRnZN giFA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from; bh=cT2aVoFMmPyFRI1sgiiSe/nHqY3wqtyXrTZYamUOnhc=; b=Zxr3PTXaiN29xMzje+cT57nQTj/Go+Y9pDh/UyhtFC9IozstDJrDlx5awITu4mzBb+ 2CdgJCFd30eC9YlqsqF3kbBzOUPFtWqfjGpKxKGjSZIGtKEoNDwBZV8ibkK0I2HWxBOf w/OWtE2Qv2bBITksdRxTmEMydkBEc61ieIX+dVqi8QD5QjusiQZgrD8jZ30AGpNAQMz4 bVi7AOvl83OLNMO/C35zkyJcMnd0UDGY28oUVqWiPshCLC0V9oujGr5sw402JpRQV1Zt HXe9aJOJqN5JDNb0g7L6eze8bLZBQab/PJ2DBbGWzd+LGA5mZ2pdPTi3+f7Pf4Xte4fi 3Ckw== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of claudius.heine.ext@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=claudius.heine.ext@siemens.com Return-Path: Received: from gecko.sbs.de (gecko.sbs.de. [194.138.37.40]) by gmr-mx.google.com with ESMTPS id e17-v6si865883ljg.5.2019.02.04.07.55.00 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 04 Feb 2019 07:55:00 -0800 (PST) Received-SPF: pass (google.com: domain of claudius.heine.ext@siemens.com designates 194.138.37.40 as permitted sender) client-ip=194.138.37.40; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of claudius.heine.ext@siemens.com designates 194.138.37.40 as permitted sender) smtp.mailfrom=claudius.heine.ext@siemens.com Received: from mail1.sbs.de (mail1.sbs.de [192.129.41.35]) by gecko.sbs.de (8.15.2/8.15.2) with ESMTPS id x14FsxUR015063 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 4 Feb 2019 16:54:59 +0100 Received: from ring.ppmd.siemens.net (linux-ses-ext02.ppmd.siemens.net [139.25.69.181]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id x14FswrW024792; Mon, 4 Feb 2019 16:54:59 +0100 From: claudius.heine.ext@siemens.com To: isar-users@googlegroups.com Cc: Claudius Heine 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 Message-Id: <20190204155454.27465-6-claudius.heine.ext@siemens.com> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20190204155454.27465-1-claudius.heine.ext@siemens.com> References: <20190204155454.27465-1-claudius.heine.ext@siemens.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TUID: Lmq4CP8KGqzP From: Claudius Heine Signed-off-by: Claudius Heine --- 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