From: Jan Kiszka <jan.kiszka@siemens.com>
To: isar-users <isar-users@googlegroups.com>
Subject: [PATCH 5/8] Add qemuarm64-stretch multiconfig
Date: Fri, 16 Feb 2018 09:52:21 +0100 [thread overview]
Message-ID: <e8e57d1e4d7cddc6e89c0279a2af9eb2a5e97200.1518771143.git.jan.kiszka@siemens.com> (raw)
In-Reply-To: <cover.1518771143.git.jan.kiszka@siemens.com>
In-Reply-To: <cover.1518771143.git.jan.kiszka@siemens.com>
From: Jan Kiszka <jan.kiszka@siemens.com>
Extend the image build script as needed and add a multiconfig that
allows to build a qemuarm64 target using stretch. Also add a machine
config for QEMU.
Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
meta-isar/conf/local.conf.sample | 1 +
meta-isar/conf/machine/qemuarm64.conf | 7 +++++++
meta-isar/conf/multiconfig/qemuarm64-stretch.conf | 20 ++++++++++++++++++++
meta-isar/recipes-core/images/files/setup.sh | 18 ++++++++++++++----
4 files changed, 42 insertions(+), 4 deletions(-)
create mode 100644 meta-isar/conf/machine/qemuarm64.conf
create mode 100644 meta-isar/conf/multiconfig/qemuarm64-stretch.conf
diff --git a/meta-isar/conf/local.conf.sample b/meta-isar/conf/local.conf.sample
index 09c0e25..46bfae0 100644
--- a/meta-isar/conf/local.conf.sample
+++ b/meta-isar/conf/local.conf.sample
@@ -41,6 +41,7 @@ BBMULTICONFIG = " \
qemuarm-wheezy \
qemuarm-jessie \
qemuarm-stretch \
+ qemuarm64-stretch \
qemui386-jessie \
qemui386-stretch \
qemuamd64-jessie \
diff --git a/meta-isar/conf/machine/qemuarm64.conf b/meta-isar/conf/machine/qemuarm64.conf
new file mode 100644
index 0000000..70dd941
--- /dev/null
+++ b/meta-isar/conf/machine/qemuarm64.conf
@@ -0,0 +1,7 @@
+# This software is a part of ISAR.
+# Copyright (C) 2015-2017 ilbers GmbH
+
+MACHINE_SERIAL ?= "ttyAMA0"
+BAUDRATE_TTY ?= "115200"
+
+IMAGE_TYPE ?= "ext4-img"
diff --git a/meta-isar/conf/multiconfig/qemuarm64-stretch.conf b/meta-isar/conf/multiconfig/qemuarm64-stretch.conf
new file mode 100644
index 0000000..cffdcdb
--- /dev/null
+++ b/meta-isar/conf/multiconfig/qemuarm64-stretch.conf
@@ -0,0 +1,20 @@
+# This software is a part of ISAR.
+# Copyright (C) 2017 ilbers GmbH
+# Copyright (c) Siemens AG, 2018
+
+MACHINE ?= "qemuarm64"
+
+DISTRO ?= "debian-stretch"
+DISTRO_ARCH ?= "arm64"
+
+KERNEL_NAME ?= "arm64"
+
+IMAGE_PREINSTALL += "init"
+
+ROOTFS_DEV ?= "vda"
+
+QEMU_ARCH ?= "aarch64"
+QEMU_MACHINE ?= "virt"
+QEMU_CPU ?= "cortex-a57"
+# TODO: start_vm doesn't support multiline vars
+QEMU_ROOTFS_DEV ?= "-drive file=##ROOTFS_IMAGE##,if=none,format=raw,id=hd0 -device virtio-blk-device,drive=hd0"
diff --git a/meta-isar/recipes-core/images/files/setup.sh b/meta-isar/recipes-core/images/files/setup.sh
index 39b828c..86c065c 100755
--- a/meta-isar/recipes-core/images/files/setup.sh
+++ b/meta-isar/recipes-core/images/files/setup.sh
@@ -14,6 +14,7 @@ set -e
# setup.sh needs to be executable.
TARGET=$1
+ARCH=$2
# Prevent daemons from starting in postinstall during the initial "dpkg
# --configure -a" under QEMU on the build host
@@ -56,11 +57,20 @@ EOF
chmod a+x $TARGET/usr/sbin/policy-rc.d
fi
-# Install QEMU emulator to execute ARM binaries
-if [ ! -x /usr/bin/qemu-arm-static ]; then
- echo "qemu-arm-static binary not present, unable to execute ARM binaries"
+case $ARCH in
+ armel|armhf)
+ qemu_arch=arm
+ ;;
+ arm64)
+ qemu_arch=aarch64
+ ;;
+esac
+
+# Install QEMU emulator to execute foreign binaries
+if [ ! -x /usr/bin/qemu-${qemu_arch}-static ]; then
+ echo "qemu-${qemu_arch}-static binary not present, unable to execute target binaries"
else
- sudo cp /usr/bin/qemu-arm-static ${TARGET}/usr/bin
+ sudo cp /usr/bin/qemu-${qemu_arch}-static ${TARGET}/usr/bin
fi
# Set hostname
--
2.13.6
next prev parent reply other threads:[~2018-02-16 8:52 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-02-16 8:52 [PATCH 0/8] Assorted patches Jan Kiszka
2018-02-16 8:52 ` [PATCH 1/8] Mount devtmpfs read-only into chroot Jan Kiszka
2018-02-19 10:09 ` Consolidate mounting in tasks (was Re: [PATCH 1/8] Mount devtmpfs read-only into chroot) Claudius Heine
2018-02-20 6:38 ` [PATCH 1/8] Mount devtmpfs read-only into chroot Alexander Smirnov
2018-02-20 7:02 ` Alexander Smirnov
2018-02-20 7:03 ` Jan Kiszka
2018-02-20 8:18 ` Claudius Heine
2018-02-16 8:52 ` [PATCH 2/8] isar-events: Wait for failing umounts Jan Kiszka
2018-02-19 9:45 ` Alexander Smirnov
2018-02-19 9:48 ` Jan Kiszka
2018-02-19 10:03 ` Alexander Smirnov
2018-02-19 11:10 ` Jan Kiszka
2018-02-16 8:52 ` [PATCH 3/8] isar-events: Do not match on distro and arch Jan Kiszka
2018-02-19 9:54 ` Alexander Smirnov
2018-02-19 11:08 ` Jan Kiszka
2018-02-16 8:52 ` [PATCH 4/8] Add Debian arm64 support to the core Jan Kiszka
2018-02-16 8:52 ` Jan Kiszka [this message]
2018-02-19 10:23 ` [PATCH 5/8] Add qemuarm64-stretch multiconfig Alexander Smirnov
2018-02-19 11:15 ` Jan Kiszka
2018-02-19 12:19 ` Alexander Smirnov
2018-02-19 12:36 ` Jan Kiszka
2018-02-16 8:52 ` [PATCH 6/8] Add qemuarm64-stretch to CI Jan Kiszka
2018-02-16 8:52 ` [PATCH 7/8] build-kernel.sh: Add copyright header Jan Kiszka
2018-02-16 8:52 ` [PATCH 8/8] Enhance credits Jan Kiszka
2018-02-19 13:56 ` [PATCH 0/8] Assorted patches Alexander Smirnov
2018-02-19 14:08 ` Jan Kiszka
2018-02-19 14:19 ` Alexander Smirnov
2018-02-20 11:19 ` Alexander Smirnov
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=e8e57d1e4d7cddc6e89c0279a2af9eb2a5e97200.1518771143.git.jan.kiszka@siemens.com \
--to=jan.kiszka@siemens.com \
--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