From mboxrd@z Thu Jan 1 00:00:00 1970 X-GM-THRID: 6780366809388285952 X-Received: by 2002:a7b:cbc9:: with SMTP id n9mr18731829wmi.89.1578904102371; Mon, 13 Jan 2020 00:28:22 -0800 (PST) X-BeenThere: isar-users@googlegroups.com Received: by 2002:adf:ed48:: with SMTP id u8ls4253573wro.16.gmail; Mon, 13 Jan 2020 00:28:21 -0800 (PST) X-Google-Smtp-Source: APXvYqyY1Ohyfi1meIldFziKX5j0PZ7emiyoxIyuDTTnodLrHTTbJPnpZLoMYZCBDuwB+EksDDtH X-Received: by 2002:adf:f3d1:: with SMTP id g17mr17238310wrp.378.1578904101562; Mon, 13 Jan 2020 00:28:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1578904101; cv=none; d=google.com; s=arc-20160816; b=aOhOI8brIWthdMZ3FNipYfPYwWgqmdnzdfogtnCMv+v8DVlHYNxWcZsfQhBtxlH73n LNK4y9KUml7BXoKlvsC5XdVgMPFIUWvg4xhLA5gNCDHsb+HV1T/0m/iuZgZpLEsmtspS 7+XAlL0IjymTPJ3ysGPGo6KWWpwpAO8KRu49wtQ2wOlywc8vzokbfQ1E3XXXDtV3HJO3 LBCMMkPCWibay+Vq+RmcnUW+/jYAGhnQRY+JLI1NXeRTXziRJI13A4HIl39rVPBysxca fAhpULYSIMBSYW7SiUTtY9T0GxgzQQwXDfCB0RDb+TCgO5BgnH0mh4DILeqMllJgIhBH Bh8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=references:in-reply-to:references:in-reply-to:message-id:date :subject:to:from; bh=e6ZH96Z5bt4OEiYDYquHYRUopOwU5FrZ3CQgCOYm+Sk=; b=goyfld9sjQUEFX8fnm9J00pJEEOvSjemIkSZHRZkXKNepJY2rvgVaIDb3y9zBEurCL NlmjjtTf2O+AkTsJICp/WPgTyCsLi5JzjULL5NBq+0PYyfB7eqE6oNI9r1pZzxW9a/s0 Rutov1dLNBZTPph19QvkIs0QUNV1QexbawZWhxOsp24GVllwWbzoGZ5XW+mf8wS9iM+N Dm7KdPiosF1nhISxgv7pGOM8Z6n6jrMLZdld9H+oAC3oOtWMCPwa2f6TMXqV4o4H1Sal QexYQtUNyTrtFIDhjpD6KIiSfEOro6WRIVT5SDEaSqvJGjaPK9z8FzzuSjUDnWJxo9k7 pl1A== ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.28 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Return-Path: Received: from goliath.siemens.de (goliath.siemens.de. [192.35.17.28]) by gmr-mx.google.com with ESMTPS id y13si408581wrs.0.2020.01.13.00.28.21 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 13 Jan 2020 00:28:21 -0800 (PST) Received-SPF: pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.28 as permitted sender) client-ip=192.35.17.28; Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of jan.kiszka@siemens.com designates 192.35.17.28 as permitted sender) smtp.mailfrom=jan.kiszka@siemens.com; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=siemens.com Received: from mail1.sbs.de (mail1.sbs.de [192.129.41.35]) by goliath.siemens.de (8.15.2/8.15.2) with ESMTPS id 00D8SLgg029644 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK) for ; Mon, 13 Jan 2020 09:28:21 +0100 Received: from md1f2u6c.ad001.siemens.net ([139.23.72.137]) by mail1.sbs.de (8.15.2/8.15.2) with ESMTP id 00D8SKJn000789 for ; Mon, 13 Jan 2020 09:28:21 +0100 From: Jan Kiszka To: isar-users Subject: [PATCH v2 13/13] meta-isar: Add HiFive Unleashed board as physical RISC-V target Date: Mon, 13 Jan 2020 09:28:18 +0100 Message-Id: X-Mailer: git-send-email 2.16.4 In-Reply-To: References: In-Reply-To: References: X-TUID: lWNRsqtMVCpg From: Jan Kiszka The Unleashed board (https://www.sifive.com/boards/hifive-unleashed) was the first one running regular Linux. This target generates a Debian sid image that starts fine from an SD-card in default boot mode. The Debian kernel does not work, though, because of an excessive initramfs being generated (45MB) that gets stuck. As the MMC driver is in that image, we also cannot disable the initramfs. So build the mainline kernel which is starts also faster. We can use the binary U-Boot from Debian sid, though. Signed-off-by: Jan Kiszka --- meta-isar/conf/machine/sifive-fu540.conf | 15 ++++++++++++++ .../conf/multiconfig/sifive-fu540-sid-ports.conf | 7 +++++++ .../recipes-bsp/opensbi/files/sifive-fu540-rules | 13 ++++++++++++ .../opensbi/opensbi-sifive-fu540_0.5.bb | 23 ++++++++++++++++++++++ .../scripts/lib/wic/canned-wks/sifive-fu540.wks | 10 ++++++++++ 5 files changed, 68 insertions(+) create mode 100644 meta-isar/conf/machine/sifive-fu540.conf create mode 100644 meta-isar/conf/multiconfig/sifive-fu540-sid-ports.conf create mode 100644 meta-isar/recipes-bsp/opensbi/files/sifive-fu540-rules create mode 100644 meta-isar/recipes-bsp/opensbi/opensbi-sifive-fu540_0.5.bb create mode 100644 meta-isar/scripts/lib/wic/canned-wks/sifive-fu540.wks diff --git a/meta-isar/conf/machine/sifive-fu540.conf b/meta-isar/conf/machine/sifive-fu540.conf new file mode 100644 index 00000000..c815f4a8 --- /dev/null +++ b/meta-isar/conf/machine/sifive-fu540.conf @@ -0,0 +1,15 @@ +# +# Copyright (c) Siemens AG, 2020 +# +# SPDX-License-Identifier: MIT + +DISTRO_ARCH = "riscv64" + +KERNEL_NAME ?= "mainline" + +IMAGE_TYPE ?= "wic-img" +WKS_FILE ?= "sifive-fu540" +IMAGER_INSTALL += "opensbi-sifive-fu540" +IMAGER_BUILD_DEPS += "opensbi-sifive-fu540" + +IMAGE_INSTALL += "u-boot-script" diff --git a/meta-isar/conf/multiconfig/sifive-fu540-sid-ports.conf b/meta-isar/conf/multiconfig/sifive-fu540-sid-ports.conf new file mode 100644 index 00000000..e4e0248c --- /dev/null +++ b/meta-isar/conf/multiconfig/sifive-fu540-sid-ports.conf @@ -0,0 +1,7 @@ +# +# Copyright (c) Siemens AG, 2020 +# +# SPDX-License-Identifier: MIT + +MACHINE = "sifive-fu540" +DISTRO = "debian-sid-ports" diff --git a/meta-isar/recipes-bsp/opensbi/files/sifive-fu540-rules b/meta-isar/recipes-bsp/opensbi/files/sifive-fu540-rules new file mode 100644 index 00000000..c8feb715 --- /dev/null +++ b/meta-isar/recipes-bsp/opensbi/files/sifive-fu540-rules @@ -0,0 +1,13 @@ +#!/usr/bin/make -f + +ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE)) +export CROSS_COMPILE=$(DEB_HOST_GNU_TYPE)- +endif + +PARALLEL_BUILD=-j $(shell echo $$(($$(nproc) * 2))) + +override_dh_auto_build: + CFLAGS= LDFLAGS= $(MAKE) $(PARALLEL_BUILD) PLATFORM=sifive/fu540 FW_PAYLOAD_PATH=/usr/lib/u-boot/sifive_fu540/u-boot.bin + +%: + dh $@ diff --git a/meta-isar/recipes-bsp/opensbi/opensbi-sifive-fu540_0.5.bb b/meta-isar/recipes-bsp/opensbi/opensbi-sifive-fu540_0.5.bb new file mode 100644 index 00000000..b9d0c3e1 --- /dev/null +++ b/meta-isar/recipes-bsp/opensbi/opensbi-sifive-fu540_0.5.bb @@ -0,0 +1,23 @@ +# +# Copyright (c) Siemens AG, 2020 +# +# SPDX-License-Identifier: MIT + +inherit dpkg + +SRC_URI = " \ + https://github.com/riscv/opensbi/archive/v${PV}.tar.gz;downloadfilename=opensbi-${PV}.tar.gz \ + file://sifive-fu540-rules" +SRC_URI[sha256sum] = "bc82f1e63663cafb7976b324d8a01263510cfd816063dc89e0ccffb9763fb1dd" + +S = "${WORKDIR}/opensbi-${PV}" + +do_prepare_build[cleandirs] += "${S}/debian" +do_prepare_build() { + cp ${WORKDIR}/sifive-fu540-rules ${WORKDIR}/rules + deb_debianize + + sed -i 's/\(Build-Depends:.*\)/\1, u-boot-sifive/' ${S}/debian/control + + echo "build/platform/sifive/fu540/firmware/fw_payload.bin /usr/lib/opensbi/sifive-fu540/" > ${S}/debian/install +} diff --git a/meta-isar/scripts/lib/wic/canned-wks/sifive-fu540.wks b/meta-isar/scripts/lib/wic/canned-wks/sifive-fu540.wks new file mode 100644 index 00000000..445b9d02 --- /dev/null +++ b/meta-isar/scripts/lib/wic/canned-wks/sifive-fu540.wks @@ -0,0 +1,10 @@ +# +# Copyright (c) Siemens AG, 2020 +# +# SPDX-License-Identifier: MIT + +part --source rawcopy --sourceparams "file=/usr/lib/opensbi/sifive-fu540/fw_payload.bin" --ondisk mmcblk0 --fixed-size 8M --align 1 --part-type 2e54b353-1271-4842-806f-e436d6af6985 + +part / --source rootfs-u-boot --ondisk mmcblk0 --fstype ext4 --label platform --active --align 1024 --sourceparams "no_initrd=yes,script_prepend=setenv fdtfile sifive/hifive-unleashed-a00.dtb" + +bootloader --ptable gpt --append "rootwait" -- 2.16.4