mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-07-18 16:37:08 +00:00
Compare commits
55 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8961c3e10a | |||
| 1f815d6e9a | |||
| b1e01a2ced | |||
| 878fabbfc7 | |||
| d2d7bfa38f | |||
| fe35ff5ba8 | |||
| 71686ac05c | |||
| e9d695f132 | |||
| f86bf75a6e | |||
| 2d7af5f9d7 | |||
| ee1b109e36 | |||
| ba82ea920a | |||
| e82b83c92e | |||
| 30077d988f | |||
| 85f2a93c0a | |||
| e4520e2a63 | |||
| 328c85778b | |||
| 4e14a1c5ee | |||
| 3d9cf26be1 | |||
| afd9bf7ee6 | |||
| e82d9fdd49 | |||
| eec8640c16 | |||
| 4e3f2de11d | |||
| 04d9436f9d | |||
| b8e69c8bb3 | |||
| 1de9c1ffb8 | |||
| ae5fed3951 | |||
| e0c855cc24 | |||
| 8f2dcc25f0 | |||
| 646239278a | |||
| 6873363ede | |||
| b36052691e | |||
| 8fe982f8d0 | |||
| 77f4023c82 | |||
| c5ebdb44d2 | |||
| 6c622ca3da | |||
| de18bcf3d2 | |||
| c9eda152b0 | |||
| 9851e5714a | |||
| 318b47ae05 | |||
| 4482136c29 | |||
| 65d41185b0 | |||
| 10e5981995 | |||
| 48ffd24725 | |||
| a727cfe74b | |||
| 12af38f31b | |||
| 7ca13b4f15 | |||
| 33e88e8a3a | |||
| 301bf3b5fd | |||
| f3227b7a8e | |||
| bd2e25959f | |||
| 6c08dd6c76 | |||
| a637fa88f2 | |||
| ef9b9c8e70 | |||
| 235f2a8ca7 |
@@ -1 +0,0 @@
|
||||
__pycache__
|
||||
+18
-75
@@ -1,6 +1,6 @@
|
||||
image: ghcr.io/siemens/kas/kas
|
||||
image: ghcr.io/siemens/kas/kas:latest-release
|
||||
|
||||
# First do a common bootstrap, and then build all the targets
|
||||
# First do a common bootstrap, and then build all the targets
|
||||
stages:
|
||||
- prep
|
||||
- bootstrap
|
||||
@@ -27,7 +27,6 @@ stages:
|
||||
- mkdir --verbose --parents $KAS_WORK_DIR $KAS_REPO_REF_DIR $SSTATE_DIR $DL_DIR $TOOLCHAIN_DIR $TOOLCHAIN_LINK_DIR
|
||||
# Must do this here, as it's the only way to make sure the toolchain is installed on the same builder
|
||||
- ./ci/get-binary-toolchains $DL_DIR $TOOLCHAIN_DIR $TOOLCHAIN_LINK_DIR
|
||||
- sudo apt update && sudo apt install telnet -y
|
||||
|
||||
# Generalised fragment to do a Kas build
|
||||
.build:
|
||||
@@ -38,17 +37,6 @@ stages:
|
||||
- kas build $KASFILES
|
||||
- ./ci/check-warnings $KAS_WORK_DIR/build/warnings.log
|
||||
|
||||
# Workaround for Zephyr not currectly handling TESTIMAGE_AUTO
|
||||
.build_and_test:
|
||||
extends: .setup
|
||||
script:
|
||||
- KASFILES=$(./ci/jobs-to-kas $CI_JOB_NAME)
|
||||
- kas shell --update --force-checkout $KASFILES -c 'cat conf/*.conf'
|
||||
- kas build $KASFILES
|
||||
- kas build $KASFILES -c testimage
|
||||
- ./ci/check-warnings $KAS_WORK_DIR/build/warnings.log
|
||||
|
||||
|
||||
#
|
||||
# Prep stage, update repositories once
|
||||
#
|
||||
@@ -56,7 +44,7 @@ update-repos:
|
||||
extends: .setup
|
||||
stage: prep
|
||||
script:
|
||||
- flock --verbose --timeout 60 $KAS_REPO_REF_DIR ./ci/update-repos
|
||||
- flock --verbose --timeout 60 $KAS_REPO_REF_DIR ./ci/update-repos
|
||||
|
||||
#
|
||||
# Bootstrap stage, bootstrap and machine coverage
|
||||
@@ -68,18 +56,15 @@ n1sdp/bootstrap:
|
||||
extends: .build
|
||||
stage: bootstrap
|
||||
|
||||
n1sdp/clang/clang-bootstrap:
|
||||
extends: .build
|
||||
stage: bootstrap
|
||||
|
||||
# What percentage of machines in the layer do we build
|
||||
machine-coverage:
|
||||
stage: bootstrap
|
||||
interruptible: true
|
||||
script:
|
||||
- ./ci/check-machine-coverage
|
||||
- ./ci/check-machine-coverage
|
||||
coverage: '/Coverage: \d+/'
|
||||
|
||||
|
||||
#
|
||||
# Build stage, the actual build jobs
|
||||
#
|
||||
@@ -89,16 +74,8 @@ check-layers:
|
||||
extends: .setup
|
||||
coverage: '/Coverage: \d+/'
|
||||
script:
|
||||
- kas shell --update --force-checkout ci/base.yml:ci/meta-arm-autonomy.yml:ci/meta-openembedded.yml --command \
|
||||
"$CI_PROJECT_DIR/ci/check-layers.py $CI_PROJECT_DIR/ci/check-layers.yml $CI_PROJECT_DIR $KAS_WORK_DIR"
|
||||
|
||||
pending-updates:
|
||||
extends: .setup
|
||||
artifacts:
|
||||
paths:
|
||||
- update-report.html
|
||||
script:
|
||||
- kas shell ci/qemuarm64.yml:ci/meta-openembedded.yml -c "$CI_PROJECT_DIR/scripts/machine-summary.py -t updates.html -o $CI_PROJECT_DIR/update-report.html $($CI_PROJECT_DIR/ci/listmachines.py meta-arm meta-arm-bsp)"
|
||||
- kas shell --update --force-checkout ci/base.yml:ci/meta-python.yml --command \
|
||||
"$CI_PROJECT_DIR/ci/check-layers.py $CI_PROJECT_DIR/ci/check-layers.yml $CI_PROJECT_DIR $KAS_WORK_DIR"
|
||||
|
||||
corstone500:
|
||||
extends: .build
|
||||
@@ -109,14 +86,9 @@ corstone700-fvp:
|
||||
corstone700-mps3:
|
||||
extends: .build
|
||||
|
||||
corstone1000-fvp:
|
||||
fvp-base:
|
||||
extends: .build
|
||||
|
||||
fvp-base/testimage:
|
||||
extends: .build
|
||||
tags:
|
||||
- x86_64
|
||||
|
||||
fvp-base-arm32:
|
||||
extends: .build
|
||||
|
||||
@@ -126,13 +98,10 @@ fvp-base-arm32/external-gccarm:
|
||||
fvp-baser-aemv8r64:
|
||||
extends: .build
|
||||
|
||||
fvps:
|
||||
extends: .build
|
||||
|
||||
gem5-arm64:
|
||||
extends: .build
|
||||
|
||||
gem5-arm64/xen:
|
||||
gem5-arm64-xen:
|
||||
extends: .build
|
||||
|
||||
gem5-atp-arm64:
|
||||
@@ -147,8 +116,8 @@ juno:
|
||||
juno/clang:
|
||||
extends: .build
|
||||
|
||||
microbit-v1/testimage-zephyr:
|
||||
extends: .build_and_test
|
||||
microbit-v1:
|
||||
extends: .build
|
||||
|
||||
musca-b1:
|
||||
extends: .build
|
||||
@@ -165,10 +134,7 @@ n1sdp/armgcc:
|
||||
qemu-cortex-a53:
|
||||
extends: .build
|
||||
|
||||
qemu-cortex-m3/testimage-zephyr:
|
||||
extends: .build_and_test
|
||||
|
||||
qemu-cortex-r5:
|
||||
qemuarm/testimage:
|
||||
extends: .build
|
||||
|
||||
qemuarm64-sbsa:
|
||||
@@ -186,18 +152,6 @@ qemuarm64-secureboot/clang/musl/testimage:
|
||||
qemuarm64-secureboot/musl/testimage:
|
||||
extends: .build
|
||||
|
||||
qemuarm64/xen:
|
||||
extends: .build
|
||||
|
||||
qemuarm/clang/testimage:
|
||||
extends: .build
|
||||
|
||||
qemuarm/testimage:
|
||||
extends: .build
|
||||
|
||||
qemuarm/xen:
|
||||
extends: .build
|
||||
|
||||
qemuarmv5/testimage:
|
||||
extends: .build
|
||||
|
||||
@@ -206,16 +160,7 @@ sgi575:
|
||||
|
||||
tc0:
|
||||
extends: .build
|
||||
tags:
|
||||
- x86_64
|
||||
|
||||
tc1:
|
||||
extends: .build
|
||||
tags:
|
||||
- x86_64
|
||||
|
||||
toolchains:
|
||||
extends: .build
|
||||
|
||||
#
|
||||
# Utility tasks, not executed automatically
|
||||
@@ -226,14 +171,14 @@ delete-dl-dir:
|
||||
stage: prep
|
||||
when: manual
|
||||
script:
|
||||
- rm -rf $DL_DIR/*
|
||||
- rm -rf $DL_DIR/*
|
||||
|
||||
delete-repo-dir:
|
||||
extends: .setup
|
||||
stage: prep
|
||||
when: manual
|
||||
script:
|
||||
- rm -rf $KAS_REPO_REF_DIR/*
|
||||
- rm -rf $KAS_REPO_REF_DIR/*
|
||||
|
||||
# Delete all sstate
|
||||
delete-sstate:
|
||||
@@ -241,14 +186,14 @@ delete-sstate:
|
||||
stage: prep
|
||||
when: manual
|
||||
script:
|
||||
- rm -rf $SSTATE_DIR/*
|
||||
- rm -rf $SSTATE_DIR/*
|
||||
|
||||
delete-toolchains:
|
||||
extends: .setup
|
||||
stage: prep
|
||||
when: manual
|
||||
script:
|
||||
- rm -rf $TOOLCHAIN_DIR/*
|
||||
- rm -rf $TOOLCHAIN_DIR/*
|
||||
|
||||
# Wipe out old sstate
|
||||
prune-sstate:
|
||||
@@ -256,9 +201,7 @@ prune-sstate:
|
||||
stage: prep
|
||||
when: manual
|
||||
script:
|
||||
- du -h -s $SSTATE_DIR
|
||||
- find $SSTATE_DIR -type f -atime +30 -delete
|
||||
- du -h -s $SSTATE_DIR
|
||||
- find $SSTATE_DIR -type f -atime +30 -delete
|
||||
|
||||
# Report on disk usage
|
||||
usage:
|
||||
@@ -266,4 +209,4 @@ usage:
|
||||
stage: prep
|
||||
when: manual
|
||||
script:
|
||||
- du -h -s $DL_DIR $SSTATE_DIR $KAS_REPO_REF_DIR $TOOLCHAIN_DIR
|
||||
- du -h -s $DL_DIR $SSTATE_DIR $KAS_REPO_REF_DIR $TOOLCHAIN_DIR
|
||||
|
||||
@@ -1,46 +1,23 @@
|
||||
Introduction
|
||||
------------
|
||||
This repository contains the Arm layers for OpenEmbedded.
|
||||
This repository contains Arm layers for OpenEmbedded
|
||||
|
||||
* meta-arm
|
||||
meta-arm:
|
||||
This layer provides support for general recipes for the Arm
|
||||
architecture. Anything that's not needed explicitly for BSPs, the IOTA
|
||||
distribution, or destined to be upstreamed belongs here.
|
||||
|
||||
This layer contains general recipes for the Arm architecture, such as firmware, FVPs, and Arm-specific integration.
|
||||
meta-arm-bsp:
|
||||
This layer provides support for Arm reference platforms
|
||||
|
||||
* meta-arm-autonomy
|
||||
meta-arm-iota:
|
||||
This layer provides support for Arm's IOTA Linux Distribution
|
||||
|
||||
This layer is the distribution for a reference stack for autonomous systems.
|
||||
meta-arm-toolchain:
|
||||
This layer provides support for Arm's GNU-A toolset releases
|
||||
|
||||
* meta-arm-bsp
|
||||
|
||||
This layer contains machines for Arm reference platforms, for example FVP Base, N1SDP, and Juno.
|
||||
|
||||
* meta-arm-toolchain
|
||||
|
||||
This layer contains recipes for Arm's binary toolchains (GCC and Clang for -A and -M), and a recipe to build Arm's GCC.
|
||||
|
||||
* meta-atp
|
||||
|
||||
This layer contains recipes for the Adaptive Traffic Generation integration into meta-gem5.
|
||||
|
||||
* meta-gem5
|
||||
|
||||
This layer contains recipes and machines for gem5, a system-level and processor simulator.
|
||||
|
||||
|
||||
Other Directories
|
||||
-----------------
|
||||
|
||||
* ci
|
||||
|
||||
This directory contains gitlab continuous integration configuration files (KAS yaml files) as well as scripts needed for this
|
||||
|
||||
* kas
|
||||
|
||||
This directory contains KAS yaml files to describe builds for systems not used in CI
|
||||
|
||||
* scripts
|
||||
|
||||
This directory contains scripts used in running the CI tests
|
||||
meta-arm-autonomy:
|
||||
This layer provides a reference stack for autonomous systems.
|
||||
|
||||
Contributing
|
||||
------------
|
||||
|
||||
+1
-1
@@ -3,4 +3,4 @@ header:
|
||||
|
||||
local_conf_header:
|
||||
cc: |
|
||||
GCCVERSION = "arm-10.3"
|
||||
GCCVERSION = "arm-10.2"
|
||||
|
||||
+7
-12
@@ -5,7 +5,7 @@ distro: poky
|
||||
|
||||
defaults:
|
||||
repos:
|
||||
refspec: honister
|
||||
refspec: hardknott
|
||||
|
||||
repos:
|
||||
meta-arm:
|
||||
@@ -26,22 +26,17 @@ env:
|
||||
|
||||
local_conf_header:
|
||||
base: |
|
||||
CONF_VERSION = "2"
|
||||
CONF_VERSION = "1"
|
||||
PACKAGE_CLASSES = "package_ipk"
|
||||
LICENSE_FLAGS_WHITELIST += "armcompiler Arm-FVP-EULA"
|
||||
PACKAGECONFIG:remove:pn-qemu-system-native = "gtk+ sdl"
|
||||
EXTRA_IMAGE_FEATURES:append = " debug-tweaks"
|
||||
LICENSE_FLAGS_WHITELIST += "armcompiler"
|
||||
PACKAGECONFIG_remove_pn-qemu-system-native = "gtk+ sdl"
|
||||
EXTRA_IMAGE_FEATURES_append = " debug-tweaks"
|
||||
BB_NUMBER_THREADS = "16"
|
||||
PARALLEL_MAKE = "-j16"
|
||||
INHERIT += "rm_work"
|
||||
PACKAGECONFIG:append:pn-perf = " coresight"
|
||||
PACKAGECONFIG_append_pn-perf = " coresight"
|
||||
noptest: |
|
||||
DISTRO_FEATURES:remove = "ptest"
|
||||
sstate_mirror: |
|
||||
BB_HASHSERVE_UPSTREAM = "typhoon.yocto.io:8687"
|
||||
BB_HASHSERVE = "auto"
|
||||
BB_SIGNATURE_HANDLER = "OEEquivHash"
|
||||
SSTATE_MIRRORS = "file://.* http://sstate.yoctoproject.org/dev/PATH;downloadfilename=PATH"
|
||||
DISTRO_FEATURES_remove = "ptest"
|
||||
|
||||
machine: unset
|
||||
|
||||
|
||||
@@ -28,7 +28,6 @@ if __name__ == "__main__":
|
||||
cli.extend([args.metaarm / layer for layer in layers])
|
||||
cli.append("--dependency")
|
||||
cli.extend([args.others / layer for layer in dependencies])
|
||||
cli.append("--no-auto-dependency")
|
||||
|
||||
passed = 0
|
||||
process = subprocess.Popen(cli, stdout=subprocess.PIPE, stderr=subprocess.STDOUT, universal_newlines=True)
|
||||
|
||||
@@ -3,11 +3,5 @@ layers:
|
||||
- meta-arm-bsp
|
||||
- meta-arm-toolchain
|
||||
- meta-gem5
|
||||
- meta-arm-autonomy
|
||||
dependencies:
|
||||
- meta-openembedded/meta-oe
|
||||
- meta-openembedded/meta-networking
|
||||
- meta-openembedded/meta-python
|
||||
- meta-openembedded/meta-filesystems
|
||||
- poky/meta-poky
|
||||
- meta-virtualization
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
|
||||
from pathlib import Path
|
||||
import sys
|
||||
from listmachines import list_machines
|
||||
|
||||
metaarm = Path.cwd()
|
||||
|
||||
@@ -10,10 +9,9 @@ if metaarm.name != "meta-arm":
|
||||
print("Not running inside meta-arm")
|
||||
sys.exit(1)
|
||||
|
||||
# Find all layers
|
||||
layers = (p.name for p in metaarm.glob("meta-*") if p.is_dir())
|
||||
# All machine configurations
|
||||
machines = list_machines(layers)
|
||||
machines = metaarm.glob("meta-*/conf/machine/*.conf")
|
||||
machines = set(p.stem for p in machines)
|
||||
|
||||
# All kas files
|
||||
kas = metaarm.glob("ci/*.yml")
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
header:
|
||||
version: 9
|
||||
|
||||
target:
|
||||
- binutils-cross-aarch64
|
||||
- clang-cross-aarch64
|
||||
- clang-native
|
||||
- python3-native
|
||||
- opkg-native
|
||||
- rpm-native
|
||||
@@ -4,7 +4,6 @@ header:
|
||||
repos:
|
||||
meta-clang:
|
||||
url: https://github.com/kraj/meta-clang
|
||||
refspec: honister
|
||||
|
||||
local_conf_header:
|
||||
clang: |
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
header:
|
||||
version: 9
|
||||
includes:
|
||||
- base.yml
|
||||
- meta-openembedded.yml
|
||||
|
||||
local_conf_header:
|
||||
custom-local-conf: |
|
||||
INITRAMFS_IMAGE_BUNDLE = "0"
|
||||
INITRAMFS_IMAGE:remove = "corstone1000-initramfs-image"
|
||||
|
||||
machine: corstone1000-fvp
|
||||
@@ -5,12 +5,3 @@ header:
|
||||
|
||||
machine: fvp-base
|
||||
|
||||
local_conf_header:
|
||||
testimagefvp: |
|
||||
INHERIT = "fvpboot"
|
||||
# This fails but we can't add to the ignorelist from meta-arm yet
|
||||
# https://bugzilla.yoctoproject.org/show_bug.cgi?id=14604
|
||||
TEST_SUITES:remove = "parselogs"
|
||||
# Tell testimage to connect to localhost:8022, and forward that to SSH in the FVP.
|
||||
TEST_TARGET_IP = "localhost:8022"
|
||||
FVP_CONFIG[bp.virtio_net.hostbridge.userNetPorts] ?= "8022=22"
|
||||
|
||||
-20
@@ -1,20 +0,0 @@
|
||||
# Simple target to build the FVPs that are publically available
|
||||
|
||||
header:
|
||||
version: 9
|
||||
includes:
|
||||
- base.yml
|
||||
|
||||
machine: qemuarm64
|
||||
|
||||
local_conf_header:
|
||||
sdk: |
|
||||
SDKMACHINE = "x86_64"
|
||||
|
||||
target:
|
||||
- nativesdk-fvp-base-a-aem
|
||||
- nativesdk-fvp-n1-edge
|
||||
- nativesdk-fvp-sgi575
|
||||
- nativesdk-fvp-corstone500
|
||||
- nativesdk-fvp-corstone700
|
||||
- nativesdk-fvp-tc0
|
||||
@@ -0,0 +1,28 @@
|
||||
|
||||
header:
|
||||
version: 9
|
||||
includes:
|
||||
- base.yml
|
||||
- meta-python.yml
|
||||
|
||||
repos:
|
||||
meta-arm:
|
||||
layers:
|
||||
meta-gem5:
|
||||
meta-openembedded:
|
||||
url: https://git.openembedded.org/meta-openembedded
|
||||
layers:
|
||||
meta-oe:
|
||||
meta-filesystems:
|
||||
meta-networking:
|
||||
meta-virtualization:
|
||||
url: git://git.yoctoproject.org/meta-virtualization
|
||||
|
||||
machine: gem5-arm64
|
||||
|
||||
local_conf_header:
|
||||
meta-virt:
|
||||
DISTRO_FEATURES_append = " virtualization xen"
|
||||
|
||||
target:
|
||||
- xen-image-minimal
|
||||
+5
-1
@@ -2,13 +2,17 @@ header:
|
||||
version: 9
|
||||
includes:
|
||||
- base.yml
|
||||
- meta-openembedded.yml
|
||||
|
||||
repos:
|
||||
meta-arm:
|
||||
layers:
|
||||
meta-gem5:
|
||||
|
||||
meta-openembedded:
|
||||
url: https://git.openembedded.org/meta-openembedded
|
||||
layers:
|
||||
meta-oe:
|
||||
|
||||
machine: gem5-arm64
|
||||
|
||||
target:
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
set -u
|
||||
|
||||
HOST_ARCH=$(uname -m)
|
||||
VER="10.3-2021.07"
|
||||
VER="10.2-2020.11"
|
||||
|
||||
DOWNLOAD_DIR=$1
|
||||
TOOLCHAIN_DIR=$2
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
#! /usr/bin/env python3
|
||||
|
||||
import pathlib
|
||||
import typing
|
||||
import sys
|
||||
|
||||
"""
|
||||
List all of the machines available under the listed sub-layers of meta-arm.
|
||||
"""
|
||||
def list_machines(layers: typing.Sequence[str]) -> typing.Set[str]:
|
||||
machines = set()
|
||||
|
||||
# We know we're in meta-arm/scripts, so find the top-level directory
|
||||
metaarm = pathlib.Path(__file__).resolve().parent.parent
|
||||
if metaarm.name != "meta-arm":
|
||||
raise Exception("Not running inside meta-arm")
|
||||
|
||||
for layer in layers:
|
||||
machines |= set(p.stem for p in (metaarm / layer / "conf" / "machine").glob("*.conf"))
|
||||
return machines
|
||||
|
||||
if __name__ == "__main__":
|
||||
if len(sys.argv) > 1:
|
||||
machines = list_machines(sys.argv[1:])
|
||||
print(" ".join(sorted(machines)))
|
||||
sys.exit(0)
|
||||
else:
|
||||
print("Usage:\n$ %s [layer name ...] " % sys.argv[0])
|
||||
sys.exit(1)
|
||||
@@ -1,10 +0,0 @@
|
||||
header:
|
||||
version: 9
|
||||
includes:
|
||||
- meta-openembedded.yml
|
||||
- meta-virtualization.yml
|
||||
|
||||
repos:
|
||||
meta-arm:
|
||||
layers:
|
||||
meta-arm-autonomy:
|
||||
@@ -5,7 +5,5 @@ repos:
|
||||
meta-openembedded:
|
||||
url: https://git.openembedded.org/meta-openembedded
|
||||
layers:
|
||||
meta-filesystems:
|
||||
meta-networking:
|
||||
meta-oe:
|
||||
meta-python:
|
||||
@@ -1,8 +0,0 @@
|
||||
header:
|
||||
version: 9
|
||||
includes:
|
||||
- meta-openembedded.yml
|
||||
|
||||
repos:
|
||||
meta-virtualization:
|
||||
url: git://git.yoctoproject.org/meta-virtualization
|
||||
+1
-2
@@ -1,9 +1,8 @@
|
||||
header:
|
||||
version: 9
|
||||
includes:
|
||||
- meta-openembedded.yml
|
||||
- meta-python.yml
|
||||
|
||||
repos:
|
||||
meta-zephyr:
|
||||
url: https://git.yoctoproject.org/git/meta-zephyr
|
||||
refspec: master
|
||||
|
||||
+1
-7
@@ -4,13 +4,7 @@ header:
|
||||
- base.yml
|
||||
- meta-zephyr.yml
|
||||
|
||||
local_conf_header:
|
||||
nonbuilding_tests: |
|
||||
ZEPHYRTESTS:remove = "common"
|
||||
failing_tests: |
|
||||
ZEPHYRTESTS:remove = "context early_sleep sleep"
|
||||
|
||||
machine: microbit-v1
|
||||
|
||||
target:
|
||||
- zephyr-kernel-test-all
|
||||
- zephyr-philosophers
|
||||
|
||||
+1
-1
@@ -2,7 +2,7 @@ header:
|
||||
version: 9
|
||||
includes:
|
||||
- base.yml
|
||||
- meta-openembedded.yml
|
||||
- meta-python.yml
|
||||
|
||||
machine: musca-s1
|
||||
|
||||
|
||||
@@ -4,11 +4,7 @@ header:
|
||||
- base.yml
|
||||
- meta-zephyr.yml
|
||||
|
||||
local_conf_header:
|
||||
nonbuilding_tests: |
|
||||
ZEPHYRTESTS:remove += "common device poll queue sleep"
|
||||
|
||||
machine: qemu-cortex-a53
|
||||
|
||||
target:
|
||||
- zephyr-kernel-test-all
|
||||
- zephyr-philosophers
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
header:
|
||||
version: 9
|
||||
includes:
|
||||
- base.yml
|
||||
- meta-zephyr.yml
|
||||
|
||||
local_conf_header:
|
||||
tclibc: |
|
||||
TCLIBC = "newlib"
|
||||
nonbuilding_tests: |
|
||||
ZEPHYRTESTS:remove = "common context pending poll sleep"
|
||||
|
||||
machine: qemu-cortex-m3
|
||||
|
||||
target:
|
||||
- zephyr-kernel-test-all
|
||||
@@ -1,10 +0,0 @@
|
||||
header:
|
||||
version: 9
|
||||
includes:
|
||||
- base.yml
|
||||
- meta-zephyr.yml
|
||||
|
||||
machine: qemu-cortex-r5
|
||||
|
||||
target:
|
||||
- zephyr-philosophers
|
||||
@@ -1,6 +0,0 @@
|
||||
header:
|
||||
version: 9
|
||||
includes:
|
||||
- base.yml
|
||||
|
||||
machine: qemuarm64
|
||||
@@ -4,3 +4,8 @@ header:
|
||||
- base.yml
|
||||
|
||||
machine: qemuarmv5
|
||||
|
||||
local_conf_header:
|
||||
bugs: |
|
||||
# Remove parselogs until errors can be resolved
|
||||
TEST_SUITES_remove = "parselogs"
|
||||
|
||||
@@ -4,7 +4,3 @@ header:
|
||||
- base.yml
|
||||
|
||||
machine: tc0
|
||||
|
||||
target:
|
||||
- tc-artifacts-image
|
||||
- perf
|
||||
|
||||
-10
@@ -1,10 +0,0 @@
|
||||
header:
|
||||
version: 9
|
||||
includes:
|
||||
- base.yml
|
||||
|
||||
machine: tc1
|
||||
|
||||
target:
|
||||
- tc-artifacts-image
|
||||
- perf
|
||||
@@ -1,8 +0,0 @@
|
||||
header:
|
||||
version: 9
|
||||
|
||||
local_conf_header:
|
||||
testimage: |
|
||||
IMAGE_CLASSES += "testimage"
|
||||
TEST_TARGET = "QemuTargetZephyr"
|
||||
TEST_SUITES = "zephyr"
|
||||
+1
-1
@@ -10,7 +10,7 @@ local_conf_header:
|
||||
TEST_SERVER_IP = "127.0.0.1"
|
||||
QEMU_USE_SLIRP = "1"
|
||||
packages: |
|
||||
IMAGE_FEATURES:append = " ssh-server-dropbear"
|
||||
IMAGE_FEATURES_append = " ssh-server-dropbear"
|
||||
|
||||
# Multiple targets are available, put it down to just one
|
||||
target:
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
header:
|
||||
version: 9
|
||||
includes:
|
||||
- base.yml
|
||||
|
||||
# Target is arm64 and SDK is x86-64 to ensure that we exercise both
|
||||
# architectures
|
||||
|
||||
machine: qemuarm64
|
||||
local_conf_header:
|
||||
toolchains: |
|
||||
SDKMACHINE = "x86_64"
|
||||
|
||||
# No target armcompiler as currently there is no arm64 build
|
||||
target:
|
||||
- nativesdk-armcompiler
|
||||
- gcc-aarch64-none-elf
|
||||
- nativesdk-gcc-aarch64-none-elf
|
||||
- gcc-arm-none-eabi
|
||||
- nativesdk-gcc-arm-none-eabi
|
||||
-11
@@ -1,11 +0,0 @@
|
||||
header:
|
||||
version: 9
|
||||
includes:
|
||||
- meta-virtualization.yml
|
||||
|
||||
local_conf_header:
|
||||
meta-virt: |
|
||||
DISTRO_FEATURES:append = " virtualization xen"
|
||||
|
||||
target:
|
||||
- xen-image-minimal
|
||||
@@ -1,49 +0,0 @@
|
||||
header:
|
||||
version: 9
|
||||
|
||||
distro: poky-tiny
|
||||
|
||||
defaults:
|
||||
repos:
|
||||
refspec: master
|
||||
|
||||
repos:
|
||||
meta-arm:
|
||||
layers:
|
||||
meta-arm:
|
||||
meta-arm-bsp:
|
||||
meta-arm-toolchain:
|
||||
|
||||
poky:
|
||||
url: https://git.yoctoproject.org/git/poky
|
||||
refspec: honister
|
||||
layers:
|
||||
meta:
|
||||
meta-poky:
|
||||
meta-yocto-bsp:
|
||||
|
||||
meta-openembedded:
|
||||
url: https://git.openembedded.org/meta-openembedded
|
||||
refspec: f16efc00b7fcdbfa8c53e35c1fcebed5c06d975e
|
||||
layers:
|
||||
meta-oe:
|
||||
meta-python:
|
||||
|
||||
meta-arm-image:
|
||||
url: https://git.gitlab.arm.com/arm-reference-solutions/meta-arm-image.git
|
||||
refspec: main
|
||||
|
||||
local_conf_header:
|
||||
base: |
|
||||
CONF_VERSION = "2"
|
||||
PACKAGE_CLASSES = "package_ipk"
|
||||
LICENSE_FLAGS_WHITELIST += "armcompiler"
|
||||
BB_NUMBER_THREADS ?= "16"
|
||||
PARALLEL_MAKE ?= "-j16"
|
||||
INHERIT += "rm_work"
|
||||
PACKAGECONFIG:append:pn-perf = " coresight"
|
||||
|
||||
machine: unset
|
||||
|
||||
target:
|
||||
- corstone1000-image
|
||||
@@ -1,16 +0,0 @@
|
||||
header:
|
||||
version: 9
|
||||
includes:
|
||||
- corstone1000-base.yml
|
||||
|
||||
repos:
|
||||
run-scripts:
|
||||
url: https://git.gitlab.arm.com/arm-reference-solutions/model-scripts.git
|
||||
refspec: corstone1000-fvp
|
||||
layers:
|
||||
.: 'excluded'
|
||||
|
||||
machine: corstone1000-fvp
|
||||
|
||||
target:
|
||||
- corstone1000-image
|
||||
@@ -6,12 +6,10 @@ machine: fvp-baser-aemv8r64
|
||||
|
||||
defaults:
|
||||
repos:
|
||||
refspec: master
|
||||
refspec: hardknott
|
||||
|
||||
repos:
|
||||
meta-arm:
|
||||
url: https://git.yoctoproject.org/git/meta-arm
|
||||
path: layers/meta-arm
|
||||
layers:
|
||||
meta-arm:
|
||||
meta-arm-bsp:
|
||||
@@ -19,23 +17,16 @@ repos:
|
||||
|
||||
poky:
|
||||
url: https://git.yoctoproject.org/git/poky
|
||||
path: layers/poky
|
||||
layers:
|
||||
meta:
|
||||
meta-poky:
|
||||
|
||||
env:
|
||||
FVP_BASE_R_AEM_TARBALL_URI: ""
|
||||
FVP_BASE_R_ARM_EULA_ACCEPT: "False"
|
||||
|
||||
local_conf_header:
|
||||
base: |
|
||||
CONF_VERSION = "2"
|
||||
CONF_VERSION = "1"
|
||||
PACKAGE_CLASSES = "package_ipk"
|
||||
PACKAGECONFIG:remove:pn-qemu-system-native = "gtk+ sdl"
|
||||
EXTRA_IMAGE_FEATURES:append = " debug-tweaks"
|
||||
IMAGE_CLASSES:append = " ${@oe.utils.ifelse(d.getVar('FVP_BASE_R_AEM_TARBALL_URI'), 'fvpboot', '')}"
|
||||
LICENSE_FLAGS_WHITELIST:append = " ${@oe.utils.vartrue('FVP_BASE_R_ARM_EULA_ACCEPT', 'Arm-FVP-EULA', '', d)}"
|
||||
PACKAGECONFIG_remove_pn-qemu-system-native = "gtk+ sdl"
|
||||
EXTRA_IMAGE_FEATURES_append = " debug-tweaks"
|
||||
|
||||
target:
|
||||
- core-image-minimal
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
header:
|
||||
version: 9
|
||||
includes:
|
||||
- fvp-baser-aemv8r64-bsp.yml
|
||||
|
||||
local_conf_header:
|
||||
base-rt: |
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-yocto-rt"
|
||||
@@ -2,7 +2,7 @@
|
||||
# an alternate kernel (set via PREFERRED_PROVIDER_alternate/kernel).
|
||||
#
|
||||
# It is mandatory to also set the KERNEL_PACKAGE_NAME for the alternate kernel
|
||||
# recipe via KERNEL_PACKAGE_NAME:pn-${PREFERRED_PROVIDER_alternate/kernel} and
|
||||
# recipe via KERNEL_PACKAGE_NAME_pn-${PREFERRED_PROVIDER_alternate/kernel} and
|
||||
# its value needs to be different from "kernel" since this is the default set
|
||||
# for PREFERRED_PROVIDER_virtual/kernel.
|
||||
#
|
||||
@@ -16,11 +16,11 @@ PREFERRED_PROVIDER_alternate/kernel ??= ""
|
||||
python () {
|
||||
alternate_kernel = d.getVar('PREFERRED_PROVIDER_alternate/kernel')
|
||||
if alternate_kernel:
|
||||
alternate_kernel_pkg_name = d.getVar('KERNEL_PACKAGE_NAME:pn-%s' % alternate_kernel)
|
||||
alternate_kernel_pkg_name = d.getVar('KERNEL_PACKAGE_NAME_pn-%s' % alternate_kernel)
|
||||
if alternate_kernel_pkg_name:
|
||||
d.appendVar('EXTRA_IMAGEDEPENDS', ' ' + alternate_kernel)
|
||||
d.appendVar('IMAGE_INSTALL', ' kernel-modules')
|
||||
d.appendVar('IMAGE_INSTALL', ' ' + alternate_kernel_pkg_name + '-modules')
|
||||
else:
|
||||
raise bb.parse.SkipRecipe("No KERNEL_PACKAGE_NAME:pn-%s set" % alternate_kernel )
|
||||
raise bb.parse.SkipRecipe("No KERNEL_PACKAGE_NAME_pn-%s set" % alternate_kernel )
|
||||
}
|
||||
|
||||
@@ -71,7 +71,7 @@ inherit features_check
|
||||
|
||||
REQUIRED_DISTRO_FEATURES = "docker"
|
||||
|
||||
RDEPENDS:${PN} = "packagegroup-docker-runtime-minimal"
|
||||
RDEPENDS_${PN} = "packagegroup-docker-runtime-minimal"
|
||||
|
||||
CONTAINER_IMAGE_FILES ??= ""
|
||||
CONTAINERS_INSTALL_DIR ??= "${datadir}/docker/images"
|
||||
@@ -112,4 +112,4 @@ do_install() {
|
||||
|
||||
do_install[vardeps] += "CONTAINER_IMAGE_FILES"
|
||||
|
||||
FILES:${PN} += "${CONTAINERS_INSTALL_DIR}"
|
||||
FILES_${PN} += "${CONTAINERS_INSTALL_DIR}"
|
||||
|
||||
@@ -22,7 +22,7 @@ xenguest_image_add_kernel() {
|
||||
# Add rootfs file to the image
|
||||
xenguest_image_add_rootfs() {
|
||||
call_xenguest_mkimage partial \
|
||||
--disk-add-file=${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${IMAGE_TYPEDEP:xenguest}:rootfs.${IMAGE_TYPEDEP:xenguest}
|
||||
--disk-add-file=${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${IMAGE_TYPEDEP_xenguest}:rootfs.${IMAGE_TYPEDEP_xenguest}
|
||||
}
|
||||
|
||||
# Pack xenguest image
|
||||
@@ -57,7 +57,7 @@ do_bootimg_xenguest[depends] += "xenguest-base-image:do_deploy"
|
||||
do_bootimg_xenguest[depends] += "${PN}:do_rootfs"
|
||||
|
||||
# This set in python anonymous after, just set a default value here
|
||||
IMAGE_TYPEDEP:xenguest ?= "tar"
|
||||
IMAGE_TYPEDEP_xenguest ?= "tar"
|
||||
|
||||
# We must not be built at rootfs build time because we need the kernel
|
||||
IMAGE_TYPES_MASKED += "xenguest"
|
||||
@@ -158,7 +158,7 @@ python __anonymous() {
|
||||
# do_bootimg_xenguest will need the tar file
|
||||
d.appendVarFlag('do_bootimg_xenguest', 'depends', ' %s:do_image_tar' % (d.getVar('PN')))
|
||||
# set our TYPEDEP to the proper compression
|
||||
d.setVar('IMAGE_TYPEDEP:xenguest', 'tar' + (rootfs_file.split('.tar', 1)[1] or ''))
|
||||
d.setVar('IMAGE_TYPEDEP_xenguest', 'tar' + (rootfs_file.split('.tar', 1)[1] or ''))
|
||||
|
||||
if kernel_needed:
|
||||
# Tell do_bootimg_xenguest to call xenguest_image_add_kernel
|
||||
|
||||
@@ -29,7 +29,7 @@ do_assemble_xenguest_initramfs() {
|
||||
}
|
||||
do_assemble_xenguest_initramfs[depends] += "${INITRAMFS_IMAGE}:do_merge_xenguestenv"
|
||||
|
||||
kernel_do_deploy:append() {
|
||||
kernel_do_deploy_append() {
|
||||
if [ -f "${B}/${KERNEL_OUTPUT_DIR}/Image-initramfs.xenguest" ]; then
|
||||
install -m 0644 ${B}/${KERNEL_OUTPUT_DIR}/Image-initramfs.xenguest "$deployDir/Image-${INITRAMFS_NAME}.xenguest"
|
||||
ln -snf Image-${INITRAMFS_NAME}.xenguest $deployDir/Image-${INITRAMFS_LINK_NAME}.xenguest
|
||||
|
||||
@@ -48,7 +48,7 @@ XENGUEST_IMAGE_VARS_EXTRA += "\
|
||||
XENGUEST_EXTRA_INIT_PRE XENGUEST_EXTRA_INIT XENGUEST_EXTRA_INIT_POST \
|
||||
XENGUEST_EXTRA_FILES XENGUEST_EXTRA_DISK_FILES"
|
||||
|
||||
do_deploy:append() {
|
||||
do_deploy_append() {
|
||||
if [ -z "${XENGUEST_IMAGE_DEPLOY_DIR}" -o \
|
||||
-z "${XENGUEST_IMAGE_DEPLOY_SUBDIR}" ]; then
|
||||
die "Configuration error: XENGUEST_IMAGE_DEPLOY_DIR or XENGUEST_IMAGE_DEPLOY_SUBDIR is empty"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This files is added when DISTRO_FEATURES contains arm-autonomy-guest
|
||||
|
||||
# We need to have ipv4 activated
|
||||
DISTRO_FEATURES:append = " ipv4"
|
||||
DISTRO_FEATURES_append = " ipv4"
|
||||
|
||||
# Build a xenguest type image
|
||||
IMAGE_CLASSES += "image_types_xenguest"
|
||||
@@ -10,6 +10,6 @@ IMAGE_FSTYPES += "xenguest"
|
||||
# xenguest kernel extension to handle initramfs
|
||||
KERNEL_CLASSES += "kernel-xenguest"
|
||||
|
||||
IMAGE_INSTALL:append = "${@bb.utils.contains('DISTRO_FEATURES', 'docker', \
|
||||
IMAGE_INSTALL_append = "${@bb.utils.contains('DISTRO_FEATURES', 'docker', \
|
||||
' packagegroup-docker-runtime-minimal', \
|
||||
'', d)}"
|
||||
|
||||
@@ -1,15 +1,18 @@
|
||||
# This files is added when DISTRO_FEATURES contains arm-autonomy-host
|
||||
|
||||
ARM_AUTONOMY_HOST_OVERRIDES = ":autonomy-host"
|
||||
|
||||
# We need to have xen and ipv4 activated
|
||||
DISTRO_FEATURES:append = " xen ipv4"
|
||||
DISTRO_FEATURES_NATIVE:append = " arm-autonomy-host"
|
||||
DISTRO_FEATURES_append = " xen ipv4"
|
||||
DISTRO_FEATURES_NATIVE_append = " arm-autonomy-host"
|
||||
|
||||
# Since meta-virtualization master branch bumped to 4.15+stable we need to
|
||||
# force the 4.14+stable selection until we validate the new version
|
||||
PREFERRED_VERSION_xen = "4.14+stable%"
|
||||
PREFERRED_VERSION_xen-tools = "4.14+stable%"
|
||||
|
||||
# Don't include kernels in standard images when building arm-autonomy-host
|
||||
# If the kernel image is needed in the rootfs the following should be set from
|
||||
# a bbappend: RDEPENDS:${KERNEL_PACKAGE_NAME}-base = "${KERNEL_PACKAGE_NAME}-image"
|
||||
RDEPENDS:${KERNEL_PACKAGE_NAME}-base ?= ""
|
||||
# a bbappend: RDEPENDS_${KERNEL_PACKAGE_NAME}-base = "${KERNEL_PACKAGE_NAME}-image"
|
||||
RDEPENDS_${KERNEL_PACKAGE_NAME}-base ?= ""
|
||||
|
||||
# Require extra machine specific settings from meta-arm-bsp dynamic-layers only
|
||||
# if meta-arm-bsp is in the bblayers.conf
|
||||
|
||||
@@ -17,7 +17,7 @@ LAYERDEPENDS_meta-arm-autonomy = " \
|
||||
networking-layer \
|
||||
virtualization-layer \
|
||||
"
|
||||
LAYERSERIES_COMPAT_meta-arm-autonomy = "honister"
|
||||
LAYERSERIES_COMPAT_meta-arm-autonomy = "hardknott"
|
||||
|
||||
# We don't activate virtualization feature from meta-virtualization as it
|
||||
# brings in lots of stuff we don't need. We need to disable the sanity check
|
||||
@@ -29,7 +29,7 @@ ARM_AUTONOMY_LAYERDIR := "${LAYERDIR}"
|
||||
ARM_AUTONOMY_DISTRO_CFGDIR = "${ARM_AUTONOMY_LAYERDIR}/conf/distro/include/"
|
||||
|
||||
# Add class to handle arm-autonomy distro extensions
|
||||
USER_CLASSES:append = " arm-autonomy-features"
|
||||
USER_CLASSES_append = " arm-autonomy-features"
|
||||
|
||||
BBFILES_DYNAMIC += " \
|
||||
meta-arm-bsp:${LAYERDIR}/dynamic-layers/meta-arm-bsp/*/*/*.bbappend \
|
||||
|
||||
@@ -8,7 +8,7 @@ require conf/machine/include/arm/arch-armv8a.inc
|
||||
|
||||
KERNEL_IMAGETYPE = "Image"
|
||||
|
||||
IMAGE_FSTYPES:append = " tar.bz2"
|
||||
IMAGE_FSTYPES += "tar.bz2"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"
|
||||
PREFERRED_VERSION_linux-yocto ?= "5.10%"
|
||||
|
||||
@@ -29,7 +29,7 @@ First you must download the Yocto layers needed:
|
||||
- all other layers you might want to use
|
||||
|
||||
For each of the downloaded layer make sure you checkout the release of Yocto
|
||||
you want to use (for example honister using `git checkout honister`).
|
||||
you want to use (for example hardknott using `git checkout hardknott`).
|
||||
|
||||
Please follow [Yocto documentation](https://www.yoctoproject.org/docs/latest/brief-yoctoprojectqs/brief-yoctoprojectqs.html)
|
||||
in order to have the required dependencies.
|
||||
|
||||
+3
-3
@@ -1,7 +1,7 @@
|
||||
# Require extra machine specific settings
|
||||
ARM_BSP_DYN_MACHINE_EXTRA_REQUIRE ?= ""
|
||||
ARM_BSP_DYN_MACHINE_EXTRA_REQUIRE:n1sdp = "n1sdp-extra-settings.inc"
|
||||
ARM_BSP_DYN_MACHINE_EXTRA_REQUIRE:fvp-base = "fvp-base-extra-settings.inc"
|
||||
ARM_BSP_DYN_MACHINE_EXTRA_REQUIRE:juno = "juno-extra-settings.inc"
|
||||
ARM_BSP_DYN_MACHINE_EXTRA_REQUIRE_n1sdp = "n1sdp-extra-settings.inc"
|
||||
ARM_BSP_DYN_MACHINE_EXTRA_REQUIRE_fvp-base = "fvp-base-extra-settings.inc"
|
||||
ARM_BSP_DYN_MACHINE_EXTRA_REQUIRE_juno = "juno-extra-settings.inc"
|
||||
|
||||
require ${ARM_BSP_DYN_MACHINE_EXTRA_REQUIRE}
|
||||
|
||||
+4
-4
@@ -1,12 +1,12 @@
|
||||
# Extra machine settings for fvp-base
|
||||
|
||||
# FVP uses vda as hard drive and partition 1 is the
|
||||
# default rootfs, so use vda2 for guest lvm
|
||||
XENGUEST_MANAGER_VOLUME_DEVICE ?= "/dev/vda2"
|
||||
# FVP uses vda as hard drive and partition 2 is the
|
||||
# default rootfs, so use vda3 for guest lvm
|
||||
XENGUEST_MANAGER_VOLUME_DEVICE ?= "/dev/vda3"
|
||||
|
||||
# We need to extend the wks search path to be able to find the wks file set in
|
||||
# ARM_AUTONOMY_WKS_FILE.
|
||||
WKS_SEARCH_PATH:prepend := "${ARM_AUTONOMY_ARM_BSP_DYNAMIC_DIR}/wic:"
|
||||
WKS_SEARCH_PATH_prepend := "${ARM_AUTONOMY_ARM_BSP_DYNAMIC_DIR}/wic:"
|
||||
|
||||
ARM_AUTONOMY_WKS_FILE ?= "arm-autonomy-fvp-base-disk.wks.in"
|
||||
# set wks file only if INITRAMFS_IMAGE_BUNDLE is not set
|
||||
|
||||
@@ -7,7 +7,7 @@ XEN_DEVICETREE_DOM0_SIZE ?= "0x02400000"
|
||||
|
||||
# We need to extend the wks search path to be able to find the wks file set in
|
||||
# ARM_AUTONOMY_WKS_FILE.
|
||||
WKS_SEARCH_PATH:prepend := "${ARM_AUTONOMY_ARM_BSP_DYNAMIC_DIR}/wic:"
|
||||
WKS_SEARCH_PATH_prepend := "${ARM_AUTONOMY_ARM_BSP_DYNAMIC_DIR}/wic:"
|
||||
|
||||
ARM_AUTONOMY_WKS_FILE ?= "arm-autonomy-juno-disk.wks.in"
|
||||
# set wks file only if INITRAMFS_IMAGE_BUNDLE is not set
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
# We need to extent the wks search path to be able to find the wks file set in
|
||||
# ARM_AUTONOMY_WKS_FILE.
|
||||
WKS_SEARCH_PATH:prepend := "${ARM_AUTONOMY_ARM_BSP_DYNAMIC_DIR}/wic:"
|
||||
WKS_SEARCH_PATH_prepend := "${ARM_AUTONOMY_ARM_BSP_DYNAMIC_DIR}/wic:"
|
||||
|
||||
ARM_AUTONOMY_WKS_FILE ?= "arm-autonomy-n1sdp-efidisk.wks.in"
|
||||
WKS_FILE = "${ARM_AUTONOMY_WKS_FILE}"
|
||||
@@ -58,7 +58,7 @@ ${@bb.utils.contains('DISTRO_FEATURES', 'alternate-kernel', \
|
||||
KERNEL_PACKAGE_NAME_alternate/kernel ?= "kernel-rt"
|
||||
# When alternate-kernel DISTRO_FEATURE is present we set the kernel-rt by
|
||||
# default
|
||||
KERNEL_PACKAGE_NAME:pn-linux-yocto-rt = "\
|
||||
KERNEL_PACKAGE_NAME_pn-linux-yocto-rt = "\
|
||||
${@ d.getVar('KERNEL_PACKAGE_NAME_alternate/kernel') \
|
||||
if bb.utils.contains('DISTRO_FEATURES', 'alternate-kernel', True, False, d) \
|
||||
else 'kernel' }"
|
||||
@@ -87,8 +87,4 @@ d.getVar('PREFERRED_PROVIDER_alternate/kernel') else ''}"
|
||||
|
||||
# Additionnal kernel modules are necessary for n1sdp to be able to mount FAT
|
||||
# filesystems using CP437.
|
||||
MACHINE_ESSENTIAL_EXTRA_RDEPENDS:append = " kernel-module-nls-cp437 kernel-module-nls-iso8859-1"
|
||||
|
||||
# '-mcpu=' and '-march=' conflicts for xen build
|
||||
# lets not set '-march=' and let xen to overwrite '-mcpu='
|
||||
TUNE_CCARGS:remove:pn-xen = "${TUNE_CCARGS_MARCH}${TUNE_CCARGS_MARCH_OPTS}"
|
||||
MACHINE_ESSENTIAL_EXTRA_RDEPENDS_append = " kernel-module-nls-cp437 kernel-module-nls-iso8859-1"
|
||||
|
||||
+7
-7
@@ -1,14 +1,14 @@
|
||||
# Use OVERRIDES to minimize the usage of
|
||||
# ${@bb.utils.contains('DISTRO_FEATURES', 'autonomy-host', ...
|
||||
OVERRIDES:append = "${ARM_AUTONOMY_HOST_OVERRIDES}"
|
||||
OVERRIDES_append = "${@bb.utils.contains('DISTRO_FEATURES', 'arm-autonomy-host', ':autonomy-host', '', d)}"
|
||||
|
||||
FILESEXTRAPATHS:prepend:autonomy-host := "${THISDIR}/${PN}:"
|
||||
FILESEXTRAPATHS_prepend_autonomy-host := "${THISDIR}/${PN}:"
|
||||
|
||||
DEPENDS:append:autonomy-host = " dos2unix-native"
|
||||
DEPENDS_append_autonomy-host = " dos2unix-native"
|
||||
|
||||
SRC_URI:append:autonomy-host = " file://add-xen-support.patch;patchdir=../"
|
||||
SRC_URI_append_autonomy-host = " file://add-xen-support.patch;patchdir=../"
|
||||
|
||||
do_install:append:autonomy-host() {
|
||||
do_install_append_autonomy-host() {
|
||||
mv -v ${D}/${UNPACK_DIR}/SOFTWARE/uEnv.txt \
|
||||
${D}/${UNPACK_DIR}/SOFTWARE/uenvfile
|
||||
for dir in $(ls ${D}/${UNPACK_DIR}/SITE1/)
|
||||
@@ -18,11 +18,11 @@ do_install:append:autonomy-host() {
|
||||
}
|
||||
|
||||
DEPLOY_EXTRA_DEPS ??= ""
|
||||
DEPLOY_EXTRA_DEPS:autonomy-host = "xen:do_deploy xen-devicetree:do_deploy"
|
||||
DEPLOY_EXTRA_DEPS_autonomy-host = "xen:do_deploy xen-devicetree:do_deploy"
|
||||
|
||||
do_deploy[depends] += "${DEPLOY_EXTRA_DEPS}"
|
||||
|
||||
do_deploy:prepend:autonomy-host() {
|
||||
do_deploy_prepend_autonomy-host() {
|
||||
# To avoid dependency loop between firmware-image-juno:do_install,
|
||||
# xen:do_deploy and xen-devicetree:do_deploy when
|
||||
# INITRAMFS_IMAGE_BUNDLE = "1", we need to handle the xen and
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
# Use OVERRIDES to minimize the usage of
|
||||
# ${@bb.utils.contains('DISTRO_FEATURES', 'autonomy-host', ...
|
||||
OVERRIDES:append = "${ARM_AUTONOMY_HOST_OVERRIDES}"
|
||||
|
||||
FILESEXTRAPATHS:prepend:autonomy-host:fvp-base := "${THISDIR}/${PN}:"
|
||||
|
||||
#
|
||||
# FVP BASE
|
||||
#
|
||||
SRC_URI:append:autonomy-host:fvp-base = " file://xen_u-boot_kernel_addr.patch"
|
||||
+11
-11
@@ -1,23 +1,23 @@
|
||||
# Platform dependent parameters
|
||||
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
|
||||
FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
|
||||
|
||||
# Add a dtb snippet to turn off iommu in dom0 on Juno board
|
||||
SRC_URI:append:juno = " file://xen-juno.dtsi"
|
||||
XEN_DEVICETREE_DTSI_MERGE:append:juno = " xen-juno.dtsi"
|
||||
SRC_URI_append_juno = " file://xen-juno.dtsi"
|
||||
XEN_DEVICETREE_DTSI_MERGE_append_juno = " xen-juno.dtsi"
|
||||
|
||||
# Add a dtb snippet to remove pmu and iommu in dom0 on N1SDP
|
||||
SRC_URI:append:n1sdp = " file://xen-n1sdp.dtsi"
|
||||
XEN_DEVICETREE_DTSI_MERGE:append:n1sdp = " xen-n1sdp.dtsi"
|
||||
SRC_URI_append_n1sdp = " file://xen-n1sdp.dtsi"
|
||||
XEN_DEVICETREE_DTSI_MERGE_append_n1sdp = " xen-n1sdp.dtsi"
|
||||
# For N1SDP, the XEN_DEVICETREE_DEPEND and XEN_DEVICETREE_DTBS variables are
|
||||
# being set in meta-arm-autonomy/dynamic-layers/meta-arm-bsp/conf/machine/n1sdp-extra-settings.inc
|
||||
|
||||
# Board specific configs
|
||||
XEN_DEVICETREE_DOM0_BOOTARGS:append:juno = " root=/dev/sda1 rootwait"
|
||||
XEN_DEVICETREE_XEN_BOOTARGS:append:juno = " console=dtuart dtuart=serial0 bootscrub=0 iommu=no"
|
||||
XEN_DEVICETREE_DOM0_BOOTARGS_append_juno = " root=/dev/sda1 rootwait"
|
||||
XEN_DEVICETREE_XEN_BOOTARGS_append_juno = " console=dtuart dtuart=serial0 bootscrub=0 iommu=no"
|
||||
|
||||
XEN_DEVICETREE_DOM0_BOOTARGS:append:n1sdp = " root=/dev/sda2 rootwait"
|
||||
XEN_DEVICETREE_XEN_BOOTARGS:append:n1sdp = " console=dtuart dtuart=serial0 bootscrub=0 iommu=no"
|
||||
XEN_DEVICETREE_DOM0_BOOTARGS_append_n1sdp = " root=/dev/sda2 rootwait"
|
||||
XEN_DEVICETREE_XEN_BOOTARGS_append_n1sdp = " console=dtuart dtuart=serial0 bootscrub=0 iommu=no"
|
||||
|
||||
XEN_DEVICETREE_DOM0_BOOTARGS:append:fvp-base = " root=/dev/vda1"
|
||||
XEN_DEVICETREE_XEN_BOOTARGS:append:fvp-base = " console=dtuart dtuart=serial0 bootscrub=0"
|
||||
XEN_DEVICETREE_DOM0_BOOTARGS_append_fvp-base = " root=/dev/vda2"
|
||||
XEN_DEVICETREE_XEN_BOOTARGS_append_fvp-base = " console=dtuart dtuart=serial0 bootscrub=0"
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
# FVP Base support
|
||||
COMPATIBLE_MACHINE:fvp-base = "fvp-base"
|
||||
FILESEXTRAPATHS:prepend:fvp-base := "${THISDIR}/files:"
|
||||
SRC_URI:append:fvp-base = " file://early-printk.cfg"
|
||||
COMPATIBLE_MACHINE_fvp-base = "fvp-base"
|
||||
FILESEXTRAPATHS_prepend_fvp-base := "${THISDIR}/files:"
|
||||
SRC_URI_append_fvp-base = " file://early-printk.cfg"
|
||||
|
||||
# Juno support
|
||||
COMPATIBLE_MACHINE:juno = "juno"
|
||||
FILESEXTRAPATHS:prepend:juno := "${THISDIR}/files:"
|
||||
SRC_URI:append:juno = " file://early-printk.cfg"
|
||||
COMPATIBLE_MACHINE_juno = "juno"
|
||||
FILESEXTRAPATHS_prepend_juno := "${THISDIR}/files:"
|
||||
SRC_URI_append_juno = " file://early-printk.cfg"
|
||||
|
||||
# N1SDP support
|
||||
COMPATIBLE_MACHINE:n1sdp = "n1sdp"
|
||||
FILESEXTRAPATHS:prepend:n1sdp := "${THISDIR}/files:"
|
||||
SRC_URI:append:n1sdp = " file://n1sdp.cfg \
|
||||
COMPATIBLE_MACHINE_n1sdp = "n1sdp"
|
||||
FILESEXTRAPATHS_prepend_n1sdp := "${THISDIR}/files:"
|
||||
SRC_URI_append_n1sdp = " file://n1sdp.cfg \
|
||||
file://early-printk.cfg"
|
||||
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
define KMACHINE n1sdp
|
||||
define KTYPE preempt-rt
|
||||
define KARCH arm64
|
||||
|
||||
kconf non-hardware ktypes/developer/developer.cfg
|
||||
kconf non-hardware ktypes/preempt-rt/preempt-rt.cfg
|
||||
+4
@@ -0,0 +1,4 @@
|
||||
# We need to turn off SVE support in the Linux kernel otherwise Xen is stopping
|
||||
# Linux kernel with a coredump while trying to access ZEN bit of CPACR1 core
|
||||
# register.
|
||||
# CONFIG_ARM64_SVE is not set
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
define KFEATURE_DESCRIPTION "Disable SVE support"
|
||||
|
||||
kconf non-hardware disable-arm64-sve.cfg
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
# Yocto kernel-cache sets CONFIG_NLS_CODEPAGE_437=m for LINUX_KERNEL_TYPR=preempt-rt
|
||||
CONFIG_NLS_CODEPAGE_437=y
|
||||
# Yocto kernel-cache sets CONFIG_NLS_ISO8859_1=m for LINUX_KERNEL_TYPR=preempt-rt
|
||||
CONFIG_NLS_ISO8859_1=y
|
||||
|
||||
# Set the timer interrupt run at 1000 Hz to have a fast response
|
||||
CONFIG_HZ_1000=y
|
||||
+3
@@ -0,0 +1,3 @@
|
||||
define KFEATURE_DESCRIPTION "Extra kernel configs when building with PREEMPT_RT"
|
||||
|
||||
kconf non-hardware preempt-rt-extras.cfg
|
||||
@@ -0,0 +1,15 @@
|
||||
FILESEXTRAPATHS_prepend := "${THISDIR}:"
|
||||
|
||||
#
|
||||
# arm-autonomy kmeta extra
|
||||
#
|
||||
SRC_URI_append = " file://arm-autonomy-kmeta-extra;type=kmeta;name=arm-autonomy-kmeta-extra;destsuffix=arm-autonomy-kmeta-extra"
|
||||
|
||||
# We need to turn off SVE support in the Linux kernel otherwise Xen is stopping
|
||||
# Linux kernel with a coredump while trying to access XEN bit of CPACR1 core
|
||||
# register.
|
||||
LINUX_ARM_AUTONOMY_DISABLE_ARM64_SVE = "${@bb.utils.contains_any('DISTRO_FEATURES', \
|
||||
'arm-autonomy-host arm-autonomy-guest', \
|
||||
' features/arm-autonomy/disable-arm64-sve.scc','',d)}"
|
||||
|
||||
KERNEL_FEATURES_append_fvp-base = "${LINUX_ARM_AUTONOMY_DISABLE_ARM64_SVE}"
|
||||
@@ -2,13 +2,16 @@
|
||||
# long-description: Creates a partitioned disk image that the user
|
||||
# can directly dd to boot media.
|
||||
|
||||
# For FVP Base first partition is rootfs normally populated as /dev/vda1
|
||||
# For FVP Base first partition is empty to keep compatibility with disk.img
|
||||
part --label empty --source empty --ondisk sda --size="1M" --system-id 8e --align 1024
|
||||
|
||||
# Second partition is rootfs normally populated as /dev/vda2
|
||||
part / --source rootfs --ondisk sda --fstype=ext4 --label root --align 1024
|
||||
|
||||
# Second partition to accomodate guests images normally populated as /dev/vda2 (used by XENGUEST_MANAGER_VOLUME_DEVICE)
|
||||
# Third partition to accomodate guests images normally populated as /dev/vda3 (used by XENGUEST_MANAGER_VOLUME_DEVICE)
|
||||
part --label guests --source empty --ondisk sda --size="${GUEST_PART_SIZE}${GUEST_PART_SIZE_UNIT}" --system-id 8e --align 1024
|
||||
|
||||
# Third partition is user defined entry normally populated as /dev/vda3
|
||||
# Fourth partition is user defined entry normally populated as /dev/vda4
|
||||
${AUTONOMY_HOST_EXTRA_PARTITION}
|
||||
|
||||
bootloader --ptable msdos
|
||||
|
||||
@@ -1,3 +1 @@
|
||||
OVERRIDES:append = "${ARM_AUTONOMY_HOST_OVERRIDES}"
|
||||
|
||||
GRUB_BUILDIN:append:autonomy-host = " xen_boot"
|
||||
GRUB_BUILDIN += "${@bb.utils.contains('DISTRO_FEATURES', 'arm-autonomy-host', 'xen_boot', '', d)}"
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
Upstream-Status: Inappropriate [meta-arm-autonomy specific u-boot config]
|
||||
Upstream Status: Inappropriate [meta-arm-autonomy specifc u-boot config]
|
||||
Signed-off-by: Nathan Dunne <nathan.dunne@arm.com>
|
||||
|
||||
diff --git a/include/configs/vexpress_aemv8a.h b/include/configs/vexpress_aemv8a.h
|
||||
@@ -0,0 +1,9 @@
|
||||
# Machine specific u-boot
|
||||
|
||||
FILESEXTRAPATHS_prepend := "${THISDIR}/${BP}:"
|
||||
|
||||
#
|
||||
# FVP BASE
|
||||
#
|
||||
|
||||
SRC_URI_append_fvp-base = "${@bb.utils.contains('DISTRO_FEATURES', 'arm-autonomy-host', ' file://xen_u-boot_kernel_addr.patch', '', d)}"
|
||||
+1
-1
@@ -25,7 +25,7 @@ INITSCRIPT_PARAMS = "start 30 2 3 4 5 ."
|
||||
INITSCRIPT_NAME = "import_containers.sh"
|
||||
|
||||
S = "${WORKDIR}"
|
||||
do_install:append() {
|
||||
do_install_append() {
|
||||
install -d ${D}${sysconfdir}/init.d
|
||||
install -m 755 import_containers.sh ${D}${sysconfdir}/init.d
|
||||
|
||||
|
||||
+1
-1
@@ -8,7 +8,7 @@ DESCRIPTION = "The minimal set of packages required for running Docker"
|
||||
|
||||
inherit packagegroup
|
||||
|
||||
RDEPENDS:${PN} = "\
|
||||
RDEPENDS_${PN} = "\
|
||||
docker-ce \
|
||||
docker-ce-contrib \
|
||||
kernel-module-xt-nat \
|
||||
|
||||
@@ -1,8 +1,4 @@
|
||||
# Use OVERRIDES to minimize the usage of
|
||||
# ${@bb.utils.contains('DISTRO_FEATURES', 'arm-autonomy-host', ...
|
||||
OVERRIDES:append = "${ARM_AUTONOMY_HOST_OVERRIDES}"
|
||||
|
||||
FILESEXTRAPATHS:prepend:autonomy-host := "${THISDIR}/${PN}:"
|
||||
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
|
||||
|
||||
# The --exclude flag in Busybox tar is required by xenguest-mkimage
|
||||
SRC_URI:append:autonomy-host = " file://feature_tar_long_options.cfg"
|
||||
SRC_URI += "file://feature_tar_long_options.cfg"
|
||||
|
||||
@@ -3,9 +3,7 @@
|
||||
# configuration by adding network network interface configuration file under
|
||||
# interfaces.d directory.
|
||||
|
||||
OVERRIDES:append = "${ARM_AUTONOMY_HOST_OVERRIDES}"
|
||||
|
||||
do_install:append:autonomy-host() {
|
||||
do_install_append() {
|
||||
# Add scan of interfaces.d to interfaces file
|
||||
cp -f ${WORKDIR}/interfaces ${WORKDIR}/interfaces.subdir
|
||||
echo "source-directory ${sysconfdir}/network/interfaces.d/" \
|
||||
|
||||
@@ -1,20 +1,16 @@
|
||||
# if arm-autonomy-host or arm-autonomy-guest are activated, we need to install
|
||||
# the getty-wrapper to spawn the login console on /dev/hvc0.
|
||||
# This is normally done in meta-virtualization if virtualization and xen
|
||||
# DISTRO_FEATURES are activated.
|
||||
# if arm-autonomy-guest is activated, we are running as a xen guest so we must
|
||||
# have a console on hvc0
|
||||
# This is normally done in meta-virtualization if xen is activated but here
|
||||
# we don't have xen activated.
|
||||
#
|
||||
|
||||
# In both arm-autonomy-host and arm-autonomy-guest we don't have virtualization
|
||||
# in DISTRO_FEATURE. Hence, manually include sysvinit-inittab_virtualization.inc
|
||||
# to install the getty-wrapper.
|
||||
require ${@bb.utils.contains_any('DISTRO_FEATURES', \
|
||||
'arm-autonomy-host arm-autonomy-guest', \
|
||||
'recipes-core/sysvinit/sysvinit-inittab_virtualization.inc', \
|
||||
'', d)}
|
||||
SYSVINIT_ADDHVC0 = "${@bb.utils.contains('DISTRO_FEATURES', \
|
||||
'arm-autonomy-guest', 'true', 'false', d)}"
|
||||
|
||||
# For arm-autonomy-guest we don't have xen in DISTRO_FEATURES. Hence, manually
|
||||
# include sysvinit-inittab_xen.inc to append the getty-wrapper entry to
|
||||
# /etc/inittab.
|
||||
require ${@bb.utils.contains('DISTRO_FEATURES', \
|
||||
'arm-autonomy-guest', \
|
||||
'recipes-core/sysvinit/sysvinit-inittab_xen.inc', \
|
||||
'', d)}
|
||||
do_install_append() {
|
||||
if ${SYSVINIT_ADDHVC0}; then
|
||||
echo "" >> ${D}${sysconfdir}/inittab
|
||||
echo "X0:12345:respawn:/sbin/getty 115200 hvc0" >> \
|
||||
${D}${sysconfdir}/inittab
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
# For Xen we only need the i386 binaries
|
||||
QEMU_TARGETS = "i386"
|
||||
|
||||
PACKAGECONFIG[noaudio] = "--audio-drv-list='',,"
|
||||
PACKAGECONFIG:append = " noaudio"
|
||||
PACKAGECONFIG:remove = "fdt sdl kvm"
|
||||
|
||||
require recipes-devtools/qemu/qemu-package-split.inc
|
||||
@@ -1,3 +1,12 @@
|
||||
require ${@bb.utils.contains('DISTRO_FEATURES', \
|
||||
'arm-autonomy-host', \
|
||||
'qemu-autonomy-host.inc', '', d)}
|
||||
# Use OVERRIDES to minimize the usage of
|
||||
# ${@bb.utils.contains('DISTRO_FEATURES', 'arm-autonomy-host', ...
|
||||
OVERRIDES_append = "${@bb.utils.contains('DISTRO_FEATURES', 'arm-autonomy-host', ':autonomy-host', '', d)}"
|
||||
|
||||
# For Xen we only need the i386 binaries
|
||||
QEMU_TARGETS_autonomy-host = "i386"
|
||||
|
||||
PACKAGECONFIG[noaudio] = "--audio-drv-list='',,"
|
||||
PACKAGECONFIG_append_autonomy-host = " noaudio"
|
||||
PACKAGECONFIG_remove_autonomy-host = "fdt sdl kvm"
|
||||
|
||||
require ${@bb.utils.contains('DISTRO_FEATURES', 'arm-autonomy-host', 'recipes-devtools/qemu/${BPN}-package-split.inc', '', d)}
|
||||
|
||||
@@ -16,7 +16,7 @@ DESCRIPTION = "Add entries in DTB for Xen and Dom0"
|
||||
# customizable parameters
|
||||
# kernel size is passed to xen via xen.dtb so we need to add
|
||||
# 'virtual/kernel:do_deploy' as a dependency
|
||||
XEN_DEVICETREE_DEPEND:append = " virtual/kernel:do_deploy"
|
||||
XEN_DEVICETREE_DEPEND_append = " virtual/kernel:do_deploy"
|
||||
XEN_DEVICETREE_DTBS ?= "${KERNEL_DEVICETREE}"
|
||||
XEN_DEVICETREE_XEN_BOOTARGS ?= "noreboot dom0_mem=${XEN_DEVICETREE_DOM0_MEM}"
|
||||
XEN_DEVICETREE_DOM0_MEM ?= "1024M,max:1024M"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
PACKAGECONFIG:remove = "\
|
||||
PACKAGECONFIG_remove = "\
|
||||
${@bb.utils.contains('DISTRO_FEATURES', \
|
||||
'arm-autonomy-host', \
|
||||
'sdl', '', d)}"
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
# Use OVERRIDES to minimize the usage of
|
||||
# ${@bb.utils.contains('DISTRO_FEATURES', 'arm-autonomy-host', ...
|
||||
OVERRIDES:append = "${ARM_AUTONOMY_HOST_OVERRIDES}"
|
||||
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-4.14:"
|
||||
|
||||
FILESEXTRAPATHS:prepend:autonomy-host := "${THISDIR}/${PN}-4.14:"
|
||||
|
||||
SRC_URI:append:autonomy-host = " file://0001-vif-nat-fix-hostname.patch"
|
||||
SRC_URI += "file://0001-vif-nat-fix-hostname.patch \
|
||||
"
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
# Use OVERRIDES to minimize the usage of
|
||||
# ${@bb.utils.contains('DISTRO_FEATURES', 'arm-autonomy-host', ...
|
||||
OVERRIDES:append = "${ARM_AUTONOMY_HOST_OVERRIDES}"
|
||||
|
||||
# Make Xen machine specific
|
||||
# This ensures that sstate is properly handled and that each machine can have
|
||||
# its own configuration
|
||||
PACKAGE_ARCH:autonomy-host = "${MACHINE_ARCH}"
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
PACKAGECONFIG:remove:autonomy-host = "sdl"
|
||||
PACKAGECONFIG_remove = "\
|
||||
${@bb.utils.contains('DISTRO_FEATURES', \
|
||||
'arm-autonomy-host', \
|
||||
'sdl', '', d)}"
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
# Use OVERRIDES to minimize the usage of
|
||||
# ${@bb.utils.contains('DISTRO_FEATURES', 'arm-autonomy-host', ...
|
||||
OVERRIDES:append = "${ARM_AUTONOMY_HOST_OVERRIDES}"
|
||||
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-4.14:"
|
||||
|
||||
FILESEXTRAPATHS:prepend:autonomy-host := "${THISDIR}/${PN}-4.14:"
|
||||
|
||||
SRC_URI:append:autonomy-host = " \
|
||||
SRC_URI += " \
|
||||
file://0001-xen-arm-Throw-messages-for-unknown-FP-SIMD-implement.patch \
|
||||
"
|
||||
|
||||
@@ -46,7 +46,7 @@ XENGUEST_IMAGE_SRC_URI_DISK_FILES ??= ""
|
||||
|
||||
# Add xen files
|
||||
# Any extrafiles files to be added to XENGUEST_IMAGE_SRC_URI_XEN_FILES should
|
||||
# be performed via XENGUEST_IMAGE_SRC_URI_XEN_FILES:append.
|
||||
# be performed via XENGUEST_IMAGE_SRC_URI_XEN_FILES_append.
|
||||
# The kea-subnet4.json holds the kea dhcp4 subnet configuration for Dom0.
|
||||
# And it is used when XENGUEST_IMAGE_NETWORK_TYPE="nat".
|
||||
# Any customizations to it should be performed by replacing it
|
||||
|
||||
@@ -67,7 +67,7 @@ do_install() {
|
||||
|
||||
do_install[vardeps] += "ARM_AUTONOMY_HOST_IMAGE_EXTERN_GUESTS"
|
||||
|
||||
FILES:${PN} += "${XENGUEST_MANAGER_GUEST_DIR}"
|
||||
FILES_${PN} += "${XENGUEST_MANAGER_GUEST_DIR}"
|
||||
|
||||
# In a multiconfig build this variable will hold a dependency string, which
|
||||
# differs based on whether the guest has initramfs or not. It may have a space
|
||||
|
||||
@@ -56,8 +56,8 @@ do_install() {
|
||||
}
|
||||
|
||||
# Things that we need on the target
|
||||
RDEPENDS:${PN} += "bash xenguest-mkimage lvm2 xen-tools parted e2fsprogs \
|
||||
RDEPENDS_${PN} += "bash xenguest-mkimage lvm2 xen-tools parted e2fsprogs \
|
||||
dosfstools logrotate"
|
||||
|
||||
FILES:${PN} += "${bindir}/xenguest-manager \
|
||||
FILES_${PN} += "${bindir}/xenguest-manager \
|
||||
${sysconfdir}/xenguest"
|
||||
|
||||
@@ -31,6 +31,6 @@ do_install() {
|
||||
}
|
||||
|
||||
# We need bash
|
||||
RDEPENDS:${PN} = "bash"
|
||||
FILES:${PN} = "${bindir}/xenguest-mkimage"
|
||||
RDEPENDS_${PN} = "bash"
|
||||
FILES_${PN} = "${bindir}/xenguest-mkimage"
|
||||
|
||||
|
||||
@@ -31,13 +31,13 @@ PACKAGES =+ "${PN}-kea-dhcp4"
|
||||
# Prefix with a_ to make sure it is executed in runlevel 01 before others
|
||||
# run start script before ifupdown and run stop script after ifupdown
|
||||
INITSCRIPT_PACKAGES = "${PN} ${PN}-kea-dhcp4"
|
||||
INITSCRIPT_NAME:${PN} = "a_xenguest-network-bridge"
|
||||
INITSCRIPT_PARAMS:${PN} = "start 01 2 3 4 5 . stop 81 0 1 6 ."
|
||||
INITSCRIPT_NAME_${PN} = "a_xenguest-network-bridge"
|
||||
INITSCRIPT_PARAMS_${PN} = "start 01 2 3 4 5 . stop 81 0 1 6 ."
|
||||
|
||||
# Kea configuration needs to be restored before kea init scripts:
|
||||
# Kea dhcp4 server is 30, so lets use 20, to have higher priority
|
||||
INITSCRIPT_NAME:${PN}-kea-dhcp4 = "kea-restore-default-config"
|
||||
INITSCRIPT_PARAMS:${PN}-kea-dhcp4 = "defaults 20"
|
||||
INITSCRIPT_NAME_${PN}-kea-dhcp4 = "kea-restore-default-config"
|
||||
INITSCRIPT_PARAMS_${PN}-kea-dhcp4 = "defaults 20"
|
||||
|
||||
inherit allarch update-rc.d
|
||||
|
||||
@@ -54,7 +54,7 @@ do_install() {
|
||||
> ${WORKDIR}/network-bridge.sh
|
||||
install -d -m 755 ${D}${sysconfdir}/init.d
|
||||
install -m 755 ${WORKDIR}/xenguest-network-bridge \
|
||||
${D}${sysconfdir}/init.d/${INITSCRIPT_NAME:${PN}}
|
||||
${D}${sysconfdir}/init.d/${INITSCRIPT_NAME_${PN}}
|
||||
install -d -m 755 ${D}${sysconfdir}/network/interfaces.d
|
||||
install -m 755 ${WORKDIR}/xenguest-network-bridge.cfg \
|
||||
${D}${sysconfdir}/network/interfaces.d/.
|
||||
@@ -77,7 +77,7 @@ do_install() {
|
||||
${D}${sysconfdir}/kea/kea-dhcp4.conf.original
|
||||
}
|
||||
|
||||
RDEPENDS:${PN} += "bridge-utils \
|
||||
RDEPENDS_${PN} += "bridge-utils \
|
||||
iptables \
|
||||
kea \
|
||||
${PN}-kea-dhcp4 \
|
||||
@@ -87,10 +87,10 @@ RDEPENDS:${PN} += "bridge-utils \
|
||||
kernel-module-xt-nat \
|
||||
kernel-module-xt-masquerade \
|
||||
"
|
||||
FILES:${PN} += "${sysconfdir}/network/interfaces.d/xenguest-network-bridge.cfg"
|
||||
FILES:${PN} += "${sysconfdir}/xenguest/init.pre/network-bridge.sh"
|
||||
FILES:${PN} += "${sysconfdir}/xen/scripts/vif-post.d/00-vif-xenguest.hook"
|
||||
FILES_${PN} += "${sysconfdir}/network/interfaces.d/xenguest-network-bridge.cfg"
|
||||
FILES_${PN} += "${sysconfdir}/xenguest/init.pre/network-bridge.sh"
|
||||
FILES_${PN} += "${sysconfdir}/xen/scripts/vif-post.d/00-vif-xenguest.hook"
|
||||
|
||||
FILES:${PN}-kea-dhcp4 = "${sysconfdir}/kea/kea-dhcp4.conf.original"
|
||||
FILES:${PN}-kea-dhcp4 += "${sysconfdir}/init.d/${INITSCRIPT_NAME:${PN}-kea-dhcp4}"
|
||||
FILES:${PN}-kea-dhcp4 += "${sysconfdir}/xenguest/init.post/xenguest-network-init-post.sh"
|
||||
FILES_${PN}-kea-dhcp4 = "${sysconfdir}/kea/kea-dhcp4.conf.original"
|
||||
FILES_${PN}-kea-dhcp4 += "${sysconfdir}/init.d/${INITSCRIPT_NAME_${PN}-kea-dhcp4}"
|
||||
FILES_${PN}-kea-dhcp4 += "${sysconfdir}/xenguest/init.post/xenguest-network-init-post.sh"
|
||||
|
||||
@@ -1,5 +1,3 @@
|
||||
# Add arm-autonomy kernel support
|
||||
require ${@bb.utils.contains_any('DISTRO_FEATURES', \
|
||||
'arm-autonomy-host arm-autonomy-guest', \
|
||||
'linux-arm-autonomy.inc', \
|
||||
'', d)}
|
||||
require linux-arm-autonomy.inc
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# Add arm-autonomy specific features to the kernel
|
||||
|
||||
FILESEXTRAPATHS:prepend := "${THISDIR}:"
|
||||
FILESEXTRAPATHS_prepend := "${THISDIR}:"
|
||||
|
||||
#
|
||||
# arm-autonomy kmeta
|
||||
#
|
||||
SRC_URI:append = " file://arm-autonomy-kmeta;type=kmeta;name=arm-autonomy-kmeta;destsuffix=arm-autonomy-kmeta"
|
||||
SRC_URI_append = " file://arm-autonomy-kmeta;type=kmeta;name=arm-autonomy-kmeta;destsuffix=arm-autonomy-kmeta"
|
||||
|
||||
# Add common Xen (host and guest) configs and patches
|
||||
KERNEL_FEATURES += "${@bb.utils.contains_any('DISTRO_FEATURES', \
|
||||
@@ -27,8 +27,8 @@ KERNEL_FEATURES += "${@bb.utils.contains('DISTRO_FEATURES', \
|
||||
|
||||
|
||||
# Add support for arm64-autonomy-guest machine
|
||||
COMPATIBLE_MACHINE:arm64-autonomy-guest = "arm64-autonomy-guest"
|
||||
KMACHINE:arm64-autonomy-guest = "arm64-autonomy-guest"
|
||||
COMPATIBLE_MACHINE_arm64-autonomy-guest = "arm64-autonomy-guest"
|
||||
KMACHINE_arm64-autonomy-guest = "arm64-autonomy-guest"
|
||||
|
||||
# Add Minimal Kernel Configs for Docker runtime
|
||||
KERNEL_FEATURES += "${@bb.utils.contains('DISTRO_FEATURES', \
|
||||
|
||||
@@ -0,0 +1,155 @@
|
||||
# Defines the disk.img image type
|
||||
|
||||
#
|
||||
# Add an image type 'disk.img' which creates a disk image
|
||||
# with up to 4 partitions
|
||||
#
|
||||
# For partition 1 (replace 1 by 2 for partition 2, and so on for 3 and 4):
|
||||
#
|
||||
# * DISK_IMG_PARTITION1_SIZE is the partition size in MB (1024 is 1 GB)
|
||||
#
|
||||
# * DISK_IMG_PARTITION1_FSTYPE is the file system to format the partition with.
|
||||
# We support only ext files systems (ext2, ext3 and ext4)
|
||||
# If this is empty, the partition will not be formated.
|
||||
#
|
||||
# * DISK_IMG_PARTITION1_CONTENT is the content to put in the filesystem.
|
||||
# Only 'rootfs' is supported and will create a partition with the Yocto
|
||||
# root filesystem.
|
||||
#
|
||||
|
||||
# Default values for partition 1
|
||||
DISK_IMG_PARTITION1_SIZE ??= "2048"
|
||||
DISK_IMG_PARTITION1_FSTYPE ??= "ext4"
|
||||
DISK_IMG_PARTITION1_CONTENT ??= "rootfs"
|
||||
|
||||
# Default values for partition 2
|
||||
DISK_IMG_PARTITION2_SIZE ??= "0"
|
||||
DISK_IMG_PARTITION2_FSTYPE ??= "ext2"
|
||||
DISK_IMG_PARTITION2_CONTENT ??= ""
|
||||
|
||||
# Default values for partition 3
|
||||
DISK_IMG_PARTITION3_SIZE ??= "0"
|
||||
DISK_IMG_PARTITION3_FSTYPE ??= "ext4"
|
||||
DISK_IMG_PARTITION3_CONTENT ??= ""
|
||||
|
||||
# Default values for partition 4
|
||||
DISK_IMG_PARTITION4_SIZE ??= "0"
|
||||
DISK_IMG_PARTITION4_FSTYPE ??= "ext4"
|
||||
DISK_IMG_PARTITION4_CONTENT ??= ""
|
||||
|
||||
# Default disk sector size
|
||||
DISK_IMG_SECTOR_SIZE ??= "512"
|
||||
|
||||
# We need mkfs.ext and parted tools to create our image (dd is always there)
|
||||
do_image_disk_img[depends] += "e2fsprogs-native:do_populate_sysroot \
|
||||
parted-native:do_populate_sysroot"
|
||||
|
||||
DISK_IMG_FILE = "${IMGDEPLOYDIR}/${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.disk.img"
|
||||
|
||||
# Create one disk partition
|
||||
disk_img_createpart() {
|
||||
local imagefile="$1"
|
||||
local start="$2"
|
||||
local size="$3"
|
||||
local fstype="${4:-}"
|
||||
local content="${5:-}"
|
||||
local formatargs=""
|
||||
|
||||
set -x
|
||||
|
||||
rm -f $imagefile
|
||||
|
||||
# Create the partition image
|
||||
dd if=/dev/zero of=$imagefile bs=${DISK_IMG_SECTOR_SIZE} count=0 \
|
||||
seek=$(expr $size / ${DISK_IMG_SECTOR_SIZE})
|
||||
|
||||
if [ -n "$fstype" ]; then
|
||||
case $content in
|
||||
rootfs)
|
||||
formatargs=" -d ${IMAGE_ROOTFS}"
|
||||
;;
|
||||
boot)
|
||||
echo "Unsupported"
|
||||
exit 1
|
||||
;;
|
||||
*)
|
||||
esac
|
||||
|
||||
# Create the file system (with content if needed)
|
||||
mkfs.$fstype -F $imagefile $formatargs
|
||||
fi
|
||||
|
||||
cat $imagefile >> ${DISK_IMG_FILE}
|
||||
|
||||
# Add the partition to the partition table
|
||||
parted -s ${DISK_IMG_FILE} unit B mkpart primary $start \
|
||||
$(expr $start + $realsize - 1)
|
||||
}
|
||||
|
||||
disk_img_create () {
|
||||
local currpos
|
||||
local realsize
|
||||
|
||||
set -x
|
||||
|
||||
currpos=${DISK_IMG_SECTOR_SIZE}
|
||||
|
||||
# Create reserved part for partition table (1MB)
|
||||
dd if=/dev/zero of=${DISK_IMG_FILE} bs=${DISK_IMG_SECTOR_SIZE} count=0 \
|
||||
seek=1
|
||||
|
||||
parted -s ${DISK_IMG_FILE} mklabel msdos
|
||||
|
||||
if [ ${DISK_IMG_PARTITION1_SIZE} -ne 0 ]; then
|
||||
|
||||
# Reduce the first block size of one sector to make space
|
||||
# for the partition table
|
||||
realsize=$(expr ${DISK_IMG_PARTITION1_SIZE} \* 1024 \* 1024 \
|
||||
- ${DISK_IMG_SECTOR_SIZE})
|
||||
|
||||
# Create the partition
|
||||
disk_img_createpart ${WORKDIR}/part1.img $currpos $realsize \
|
||||
"${DISK_IMG_PARTITION1_FSTYPE}" "${DISK_IMG_PARTITION1_CONTENT}"
|
||||
|
||||
currpos=$(expr $currpos + $realsize)
|
||||
fi
|
||||
|
||||
if [ ${DISK_IMG_PARTITION2_SIZE} -ne 0 ]; then
|
||||
# Partition size
|
||||
realsize=$(expr ${DISK_IMG_PARTITION2_SIZE} \* 1024 \* 1024)
|
||||
|
||||
# Create the partition
|
||||
disk_img_createpart ${WORKDIR}/part2.img $currpos $realsize \
|
||||
"${DISK_IMG_PARTITION2_FSTYPE}" "${DISK_IMG_PARTITION2_CONTENT}"
|
||||
|
||||
currpos=$(expr $currpos + $realsize)
|
||||
|
||||
fi
|
||||
|
||||
if [ ${DISK_IMG_PARTITION3_SIZE} -ne 0 ]; then
|
||||
# Partition size
|
||||
realsize=$(expr ${DISK_IMG_PARTITION3_SIZE} \* 1024 \* 1024)
|
||||
|
||||
# Create the partition
|
||||
disk_img_createpart ${WORKDIR}/part3.img $currpos $realsize \
|
||||
"${DISK_IMG_PARTITION3_FSTYPE}" "${DISK_IMG_PARTITION3_CONTENT}"
|
||||
|
||||
currpos=$(expr $currpos + $realsize)
|
||||
|
||||
fi
|
||||
if [ ${DISK_IMG_PARTITION4_SIZE} -ne 0 ]; then
|
||||
# Partition size
|
||||
realsize=$(expr ${DISK_IMG_PARTITION4_SIZE} \* 1024 \* 1024)
|
||||
|
||||
# Create the partition
|
||||
disk_img_createpart ${WORKDIR}/part4.img $currpos $realsize \
|
||||
"${DISK_IMG_PARTITION4_FSTYPE}" "${DISK_IMG_PARTITION4_CONTENT}"
|
||||
|
||||
currpos=$(expr $currpos + $realsize)
|
||||
|
||||
fi
|
||||
}
|
||||
|
||||
IMAGE_CMD_disk.img = "disk_img_create"
|
||||
IMAGE_TYPES += "disk.img"
|
||||
|
||||
@@ -9,13 +9,12 @@ BBFILE_COLLECTIONS += "meta-arm-bsp"
|
||||
BBFILE_PATTERN_meta-arm-bsp = "^${LAYERDIR}/"
|
||||
BBFILE_PRIORITY_meta-arm-bsp = "5"
|
||||
|
||||
LAYERSERIES_COMPAT_meta-arm-bsp = "honister"
|
||||
LAYERSERIES_COMPAT_meta-arm-bsp = "hardknott"
|
||||
|
||||
LAYERDEPENDS_meta-arm-bsp = "core meta-arm"
|
||||
# This won't be used by layerindex-fetch, but works everywhere else
|
||||
LAYERDEPENDS_meta-arm-bsp:append:corstone1000 = " meta-python"
|
||||
LAYERDEPENDS_meta-arm-bsp:append:musca-b1 = " meta-python"
|
||||
LAYERDEPENDS_meta-arm-bsp:append:musca-s1 = " meta-python"
|
||||
LAYERDEPENDS_meta-arm-bsp_append_musca-b1 = " meta-python"
|
||||
LAYERDEPENDS_meta-arm-bsp_append_musca-s1 = " meta-python"
|
||||
|
||||
# Additional license directories.
|
||||
LICENSE_PATH += "${LAYERDIR}/custom-licenses"
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
#@TYPE: Machine
|
||||
#@NAME: corstone1000-fvp machine
|
||||
#@DESCRIPTION: Machine configuration for Corstone1000 64-bit FVP
|
||||
|
||||
require conf/machine/include/corstone1000.inc
|
||||
|
||||
TFA_TARGET_PLATFORM = "fvp"
|
||||
|
||||
TFM_PLATFORM_IS_FVP = "TRUE"
|
||||
@@ -2,8 +2,9 @@
|
||||
#@NAME: Corstone-500 machine
|
||||
#@DESCRIPTION: Machine configuration for the Corstone-500 platform
|
||||
|
||||
require conf/machine/include/arm/armv7a/tune-cortexa5.inc
|
||||
require conf/machine/include/tune-cortexa5.inc
|
||||
|
||||
#
|
||||
# Corstone-500 is built against poky-tiny distro.
|
||||
# poky-tiny sets PREFERRED_PROVIDER_virtual/kernel to linux-yocto-tiny.
|
||||
# Since distro config is evaluated after the machine config, we need to
|
||||
@@ -11,10 +12,12 @@ require conf/machine/include/arm/armv7a/tune-cortexa5.inc
|
||||
# PREFERRED_PROVIDER_virtual/kernel specified in the machine config will
|
||||
# apply.
|
||||
#
|
||||
PREFERRED_PROVIDER_virtual/kernel:forcevariable = "linux-yocto"
|
||||
PREFERRED_PROVIDER_virtual/kernel_forcevariable = "linux-yocto"
|
||||
PREFERRED_VERSION_linux-yocto ?= "5.3%"
|
||||
KBUILD_DEFCONFIG = "multi_v7_defconfig"
|
||||
KCONFIG_MODE = "--alldefconfig"
|
||||
|
||||
PREFERRED_VERSION_trusted-firmware-a ?= "2.5%"
|
||||
PREFERRED_VERSION_trusted-firmware-a ?= "2.4%"
|
||||
|
||||
EXTRA_IMAGEDEPENDS += "virtual/trusted-firmware-a u-boot"
|
||||
|
||||
@@ -26,4 +29,4 @@ IMAGE_FSTYPES += "tar.bz2 cpio.gz"
|
||||
UBOOT_MACHINE = "designstart_ca5_defconfig"
|
||||
UBOOT_IMAGE_ENTRYPOINT = "0x84000000"
|
||||
UBOOT_IMAGE_LOADADDRESS = "0x84000000"
|
||||
PREFERRED_VERSION_u-boot ?= "2020.07"
|
||||
PREFERRED_VERSION_u-boot ?= "2020.07"
|
||||
@@ -6,7 +6,7 @@ require conf/machine/include/corstone700.inc
|
||||
|
||||
# default feature used: eth_lan91c111
|
||||
# add the following line to local.conf to disable the feature:
|
||||
# MACHINE_FEATURES:remove = "eth_lan91c111"
|
||||
# MACHINE_FEATURES_remove = "eth_lan91c111"
|
||||
MACHINE_FEATURES += "eth_lan91c111"
|
||||
|
||||
TFA_TARGET_PLATFORM = "fvp"
|
||||
|
||||
@@ -6,12 +6,12 @@ require conf/machine/include/corstone700.inc
|
||||
|
||||
# default feature used: eth_lan9115
|
||||
# add the following line to local.conf to disable the feature:
|
||||
# MACHINE_FEATURES:remove = "eth_lan9115"
|
||||
# MACHINE_FEATURES_remove = "eth_lan9115"
|
||||
MACHINE_FEATURES += "eth_lan9115"
|
||||
|
||||
# default feature used: usb_host
|
||||
# add the following line to local.conf to disable the feature:
|
||||
# MACHINE_FEATURES:remove = "usb_host"
|
||||
# MACHINE_FEATURES_remove = "usb_host"
|
||||
MACHINE_FEATURES += "usb_host"
|
||||
|
||||
TFA_TARGET_PLATFORM = "fpga"
|
||||
|
||||
@@ -14,19 +14,16 @@ UBOOT_MACHINE = "vexpress_aemv8a_semi_defconfig"
|
||||
|
||||
KERNEL_IMAGETYPE = "Image"
|
||||
|
||||
KERNEL_DEVICETREE = "arm/fvp-base-revc.dtb"
|
||||
KERNEL_DEVICETREE = "arm/fvp-base-gicv3-psci-custom.dtb"
|
||||
|
||||
FVP_PROVIDER ?= "fvp-base-a-aem-native"
|
||||
FVP_EXE ?= "FVP_Base_RevC-2xAEMvA"
|
||||
FVP_CONFIG[bp.ve_sysregs.exit_on_shutdown] ?= "1"
|
||||
FVP_CONFIG[bp.virtio_net.enabled] ?= "1"
|
||||
FVP_CONFIG[bp.virtio_net.hostbridge.userNetworking] ?= "1"
|
||||
FVP_CONFIG[cache_state_modelled] ?= "0"
|
||||
FVP_CONFIG[bp.secureflashloader.fname] ?= "${DEPLOY_DIR_IMAGE}/bl1-fvp.bin"
|
||||
FVP_CONFIG[bp.flashloader0.fname] ?= "${DEPLOY_DIR_IMAGE}/fip-fvp.bin"
|
||||
FVP_CONFIG[bp.virtioblockdevice.image_path] ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.wic"
|
||||
FVP_DATA ?= "cluster0.cpu0=${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}@0x80080000 \
|
||||
cluster0.cpu0=${DEPLOY_DIR_IMAGE}/fvp-base-revc.dtb@0x83000000"
|
||||
cluster0.cpu0=${DEPLOY_DIR_IMAGE}/fvp-base-gicv3-psci-custom.dtb@0x83000000"
|
||||
FVP_CONSOLE ?= "terminal_0"
|
||||
FVP_TERMINALS[bp.terminal_0] ?= "Console"
|
||||
FVP_TERMINALS[bp.terminal_1] ?= ""
|
||||
|
||||
@@ -9,8 +9,7 @@ require conf/machine/include/arm/armv8r/arch-armv8r64.inc
|
||||
EXTRA_IMAGEDEPENDS += "boot-wrapper-aarch64"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
|
||||
PREFERRED_VERSION_linux-yocto ?= "5.14%"
|
||||
PREFERRED_VERSION_linux-yocto-rt ?= "5.14%"
|
||||
PREFERRED_VERSION_linux-yocto ?= "5.10%"
|
||||
|
||||
KERNEL_IMAGETYPE = "Image"
|
||||
KERNEL_DEVICETREE = "arm/fvp-baser-aemv8r64.dtb"
|
||||
@@ -18,44 +17,10 @@ KERNEL_DEVICETREE = "arm/fvp-baser-aemv8r64.dtb"
|
||||
SERIAL_CONSOLES = "115200;ttyAMA0"
|
||||
|
||||
IMAGE_FSTYPES += "wic"
|
||||
WKS_FILE ?= "fvp-base.wks"
|
||||
WKS_FILE ?= "${MACHINE}.wks"
|
||||
|
||||
# As this is a virtual target that will not be used in the real world there is
|
||||
# no need for real SSH keys. Disable rng-tools (which takes too long to
|
||||
# initialise) and install the pre-generated keys.
|
||||
PACKAGECONFIG:remove:pn-openssh = "rng-tools"
|
||||
PACKAGECONFIG_remove_pn-openssh = "rng-tools"
|
||||
MACHINE_EXTRA_RRECOMMENDS += "ssh-pregen-hostkeys"
|
||||
|
||||
FVP_EXTRA_ARGS = "-a cluster0*=${DEPLOY_DIR_IMAGE}/linux-system.axf"
|
||||
FVP_PROVIDER ?= "fvp-base-r-aem-native"
|
||||
FVP_EXE ?= "FVP_BaseR_AEMv8R"
|
||||
FVP_CONSOLE ?= "terminal_0"
|
||||
|
||||
# FVP parameters
|
||||
FVP_CONFIG[bp.virtioblockdevice.image_path] ?= "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.wic"
|
||||
FVP_CONFIG[bp.dram_metadata.init_value] ?= "0"
|
||||
FVP_CONFIG[bp.dram_metadata.is_enabled] ?= "true"
|
||||
FVP_CONFIG[bp.dram_size] ?= "8"
|
||||
FVP_CONFIG[bp.exclusive_monitor.monitor_access_level] ?= "1"
|
||||
FVP_CONFIG[bp.pl011_uart0.unbuffered_output] ?= "1"
|
||||
FVP_CONFIG[bp.pl011_uart0.untimed_fifos] ?= "true"
|
||||
FVP_CONFIG[bp.refcounter.non_arch_start_at_default] ?= "1"
|
||||
FVP_CONFIG[bp.smsc_91c111.enabled] ?= "0"
|
||||
FVP_CONFIG[bp.ve_sysregs.mmbSiteDefault] ?= "0"
|
||||
FVP_CONFIG[cache_state_modelled] ?= "0"
|
||||
FVP_CONFIG[cluster0.gicv3.cpuintf-mmap-access-level] ?= "2"
|
||||
FVP_CONFIG[cluster0.gicv3.SRE-enable-action-on-mmap] ?= "2"
|
||||
FVP_CONFIG[cluster0.gicv3.SRE-EL2-enable-RAO] ?= "1"
|
||||
FVP_CONFIG[cluster0.gicv3.extended-interrupt-range-support] ?= "1"
|
||||
FVP_CONFIG[cluster0.has_aarch64] ?= "1"
|
||||
FVP_CONFIG[cluster0.NUM_CORES] ?= "4"
|
||||
FVP_CONFIG[cluster0.stage12_tlb_size] ?= "512"
|
||||
FVP_CONFIG[gic_distributor.GICD_CTLR-DS-1-means-secure-only] ?= "1"
|
||||
FVP_CONFIG[gic_distributor.GITS_BASER0-type] ?= "1"
|
||||
FVP_CONFIG[gic_distributor.ITS-count] ?= "1"
|
||||
FVP_CONFIG[gic_distributor.ITS-hardware-collection-count] ?= "1"
|
||||
FVP_CONFIG[gic_distributor.has-two-security-states] ?= "0"
|
||||
FVP_CONFIG[pctl.startup] ?= "0.0.0.*"
|
||||
FVP_CONFIG[bp.virtio_net.enabled] ?= "1"
|
||||
FVP_CONFIG[bp.virtio_net.hostbridge.userNetworking] ?= "1"
|
||||
FVP_CONFIG[bp.vis.rate_limit-enable] ?= "0"
|
||||
@@ -7,23 +7,39 @@
|
||||
|
||||
MACHINE_FEATURES = "optee"
|
||||
|
||||
IMAGE_FSTYPES += "wic"
|
||||
IMAGE_CLASSES += "image_types_disk_img"
|
||||
IMAGE_FSTYPES += "disk.img wic"
|
||||
|
||||
WKS_FILE ?= "fvp-base.wks"
|
||||
|
||||
# Disk image configuration
|
||||
# We don't use the first partition
|
||||
DISK_IMG_PARTITION1_SIZE = "128"
|
||||
DISK_IMG_PARTITION1_FSTYPE = ""
|
||||
DISK_IMG_PARTITION1_CONTENT = ""
|
||||
|
||||
# Second partition is used for rootfs
|
||||
DISK_IMG_PARTITION2_SIZE = "2048"
|
||||
DISK_IMG_PARTITION2_FSTYPE = "ext4"
|
||||
DISK_IMG_PARTITION2_CONTENT = "rootfs"
|
||||
|
||||
# Empty third partition (8G - 2048M - 128M)
|
||||
DISK_IMG_PARTITION3_SIZE = "6016"
|
||||
DISK_IMG_PARTITION3_FSTYPE = ""
|
||||
DISK_IMG_PARTITION3_CONTENT = ""
|
||||
|
||||
SERIAL_CONSOLES = "115200;ttyAMA0"
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto"
|
||||
PREFERRED_VERSION_linux-yocto ?= "5.10%"
|
||||
|
||||
PREFERRED_VERSION_u-boot ?= "2021.07"
|
||||
PREFERRED_VERSION_trusted-firmware-a ?= "2.5%"
|
||||
PREFERRED_VERSION_u-boot ?= "2021.01"
|
||||
PREFERRED_VERSION_trusted-firmware-a ?= "2.4%"
|
||||
|
||||
EXTRA_IMAGEDEPENDS += "virtual/trusted-firmware-a u-boot"
|
||||
|
||||
# As this is a virtual target that will not be used in the real world there is
|
||||
# no need for real SSH keys. Disable rng-tools (which takes too long to
|
||||
# initialise) and install the pre-generated keys.
|
||||
PACKAGECONFIG:remove:pn-openssh = "rng-tools"
|
||||
PACKAGECONFIG_remove_pn-openssh = "rng-tools"
|
||||
MACHINE_EXTRA_RRECOMMENDS += "ssh-pregen-hostkeys"
|
||||
|
||||
TEST_TARGET = "OEFVPTarget"
|
||||
|
||||
+19
@@ -0,0 +1,19 @@
|
||||
# Tuning for ARMV6-m defined in ARM v6-M ArchitectureReference Manual
|
||||
# at https://static.docs.arm.com/ddi0419/d/DDI0419D_armv6m_arm.pdf
|
||||
DEFAULTTUNE ?= "armv6m"
|
||||
|
||||
TUNEVALID[armv6m] = "Enable instructions for ARMv6-m"
|
||||
TUNECONFLICTS[armv6m] = "armv4 armv5 armv6 armv7a"
|
||||
|
||||
# Use armv6s-m instead of armv6-m to avoid gcc bug "SVC is not permitted on this architecture".
|
||||
# SVC is a valid instruction.
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv6m', ' -march=armv6s-m', '', d)}"
|
||||
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv6m', 'armv6m:', '', d)}"
|
||||
|
||||
require conf/machine/include/arm/arch-armv5.inc
|
||||
|
||||
# Little Endian
|
||||
AVAILTUNES += "armv6m"
|
||||
ARMPKGARCH_tune-armv6m = "armv6m"
|
||||
TUNE_FEATURES_tune-armv6m = "armv6m"
|
||||
PACKAGE_EXTRA_ARCHS_tune-armv6m = "armv6m"
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
#
|
||||
# Defaults for ARMv7e-m
|
||||
#
|
||||
DEFAULTTUNE ?= "armv7em"
|
||||
|
||||
TUNEVALID[armv7em] = "Enable instructions for ARMv7e-m"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7em', ' -march=armv7e-m', '', d)}"
|
||||
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7em', 'armv7em:', '', d)}"
|
||||
|
||||
TUNECONFLICTS[armv7em] = "armv4 armv5 armv6 armv7a"
|
||||
|
||||
require conf/machine/include/arm/arch-armv7m.inc
|
||||
|
||||
AVAILTUNES += "armv7em"
|
||||
ARMPKGARCH_tune-armv7em = "armv7em"
|
||||
TUNE_FEATURES_tune-armv7em = "armv7em"
|
||||
PACKAGE_EXTRA_ARCHS_tune-armv7em = "armv7em"
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
#
|
||||
# Defaults for ARMv7-m
|
||||
#
|
||||
DEFAULTTUNE ?= "armv7m"
|
||||
|
||||
TUNEVALID[armv7m] = "Enable instructions for ARMv7-m"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7m', ' -march=armv7-m', '', d)}"
|
||||
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7m', 'armv7m:', '', d)}"
|
||||
|
||||
TUNECONFLICTS[armv7m] = "armv4 armv5 armv6 armv7a"
|
||||
|
||||
require conf/machine/include/arm/arch-armv6m.inc
|
||||
|
||||
AVAILTUNES += "armv7m"
|
||||
ARMPKGARCH_tune-armv7m = "armv7m"
|
||||
TUNE_FEATURES_tune-armv7m = "armv7m"
|
||||
PACKAGE_EXTRA_ARCHS_tune-armv7m = "armv7m"
|
||||
@@ -0,0 +1,18 @@
|
||||
#
|
||||
#
|
||||
# Defaults for ARMv8.1-M.main
|
||||
#
|
||||
DEFAULTTUNE ?= "armv8-1m-main"
|
||||
|
||||
TUNEVALID[armv8-1m-main] = "Enable instructions for ARMv8.1-m.main"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-1m-main', ' -march=armv8.1-m.main', '', d)}"
|
||||
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-1m-main', 'armv8-1m-main:', '', d)}"
|
||||
|
||||
TUNECONFLICTS[armv8-1m-main] = "armv4 armv5 armv6 armv7a"
|
||||
|
||||
require conf/machine/include/arm/arch-armv8m-main.inc
|
||||
|
||||
AVAILTUNES += "armv8-1m-main"
|
||||
ARMPKGARCH_tune-armv8-1m-main = "armv8-1m-main"
|
||||
TUNE_FEATURES_tune-armv8-1m-main = "armv8-1m-main"
|
||||
PACKAGE_EXTRA_ARCHS_tune-armv8-1m-main = "armv8-1m-main"
|
||||
@@ -0,0 +1,18 @@
|
||||
DEFAULTTUNE ?= "armv8-2a"
|
||||
|
||||
TUNEVALID[armv8-2a] = "Enable instructions for ARMv8-a"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-2a', ' -march=armv8.2-a', '', d)}"
|
||||
# TUNE crypto will be handled by arch-armv8a.inc below
|
||||
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-2a', 'armv8-2a:', '', d)}"
|
||||
|
||||
require conf/machine/include/arm/arch-armv8a.inc
|
||||
|
||||
AVAILTUNES += "armv8-2a armv8-2a-crypto"
|
||||
ARMPKGARCH_tune-armv8-2a ?= "armv8-2a"
|
||||
ARMPKGARCH_tune-armv8-2a-crypto ?= "armv8-2a"
|
||||
TUNE_FEATURES_tune-armv8-2a = "aarch64 armv8-2a"
|
||||
TUNE_FEATURES_tune-armv8-2a-crypto = "${TUNE_FEATURES_tune-armv8-2a} crypto"
|
||||
PACKAGE_EXTRA_ARCHS_tune-armv8-2a = "${PACKAGE_EXTRA_ARCHS_tune-armv8a} armv8-2a"
|
||||
PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a} armv8-2a-crypto"
|
||||
BASE_LIB_tune-armv8-2a = "lib64"
|
||||
BASE_LIB_tune-armv8-2a-crypto = "lib64"
|
||||
@@ -0,0 +1,19 @@
|
||||
DEFAULTTUNE ?= "armv8-4a"
|
||||
|
||||
TUNEVALID[armv8-4a] = "Enable instructions for ARMv8.4-a"
|
||||
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-4a', ' -march=armv8.4-a', '', d)}"
|
||||
# TUNE crypto will be handled by arch-armv8a.inc below
|
||||
MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-4a', 'armv8-4a:', '', d)}"
|
||||
|
||||
require conf/machine/include/arm/arch-armv8a.inc
|
||||
|
||||
# Little Endian base configs
|
||||
AVAILTUNES += "armv8-4a armv8-4a-crypto"
|
||||
ARMPKGARCH_tune-armv8-4a ?= "armv8-4a"
|
||||
ARMPKGARCH_tune-armv8-4a-crypto ?= "armv8-4a"
|
||||
TUNE_FEATURES_tune-armv8-4a = "aarch64 armv8-4a"
|
||||
TUNE_FEATURES_tune-armv8-4a-crypto = "${TUNE_FEATURES_tune-armv8-4a} crypto"
|
||||
PACKAGE_EXTRA_ARCHS_tune-armv8-4a = "${PACKAGE_EXTRA_ARCHS_tune-armv8a} armv8-4a"
|
||||
PACKAGE_EXTRA_ARCHS_tune-armv8-4a-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8-4a} armv8-4a-crypto"
|
||||
BASE_LIB_tune-armv8-4a = "lib64"
|
||||
BASE_LIB_tune-armv8-4a-crypto = "lib64"
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user