mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-10-15 05:17:14 +00:00
Compare commits
33
Commits
3.2.1
..
gatesgarth
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dc9e257f2b | ||
|
|
5c84950712 | ||
|
|
18453b87f7 | ||
|
|
cd1672a846 | ||
|
|
a0382c6a57 | ||
|
|
2a2123dac0 | ||
|
|
8e1b0e4a57 | ||
|
|
9dcbf55176 | ||
|
|
b4f3880979 | ||
|
|
d841a47d6e | ||
|
|
b9d54fefa0 | ||
|
|
a0b2c6fc71 | ||
|
|
34f64a0523 | ||
|
|
3b8ad597c9 | ||
|
|
6a6510b508 | ||
|
|
6ebec2da19 | ||
|
|
aa5fb3d6f9 | ||
|
|
23d9da9cee | ||
|
|
8f13054eea | ||
|
|
b3427f9001 | ||
|
|
5fc1de74b8 | ||
|
|
39bc4076b2 | ||
|
|
b4abab2203 | ||
|
|
a6243e60bd | ||
|
|
54b55deeb8 | ||
|
|
a11e752a28 | ||
|
|
f4129ee8a8 | ||
|
|
c200941b15 | ||
|
|
2c5dea8979 | ||
|
|
498f88004c | ||
|
|
0f33099a82 | ||
|
|
aff8d93108 | ||
|
|
87ceedf4d2 |
No files matched your search
+86
-21
@@ -1,37 +1,54 @@
|
|||||||
# Use our custom Crops-derived image
|
# We need 2.6.3 as this is the latest container with an old enough distro
|
||||||
image: $CI_REGISTRY/$CI_PROJECT_NAMESPACE/yocto-builder:master
|
image: ghcr.io/siemens/kas/kas:2.6.3
|
||||||
|
|
||||||
# First do a common bootstrap, and then build all the targets
|
# First do a common bootstrap, and then build all the targets
|
||||||
stages:
|
stages:
|
||||||
|
- prep
|
||||||
- bootstrap
|
- bootstrap
|
||||||
- build
|
- build
|
||||||
|
|
||||||
# Common job fragment to get a worker ready
|
# Common job fragment to get a worker ready
|
||||||
.setup:
|
.setup:
|
||||||
stage: build
|
stage: build
|
||||||
|
interruptible: true
|
||||||
variables:
|
variables:
|
||||||
KAS_WORK_DIR: $CI_PROJECT_DIR/work
|
KAS_WORK_DIR: $CI_PROJECT_DIR/work
|
||||||
|
KAS_REPO_REF_DIR: $CI_BUILDS_DIR/persist/repos
|
||||||
SSTATE_DIR: $CI_BUILDS_DIR/persist/sstate
|
SSTATE_DIR: $CI_BUILDS_DIR/persist/sstate
|
||||||
DL_DIR: $CI_BUILDS_DIR/persist/downloads
|
DL_DIR: $CI_BUILDS_DIR/persist/downloads
|
||||||
BB_LOGCONFIG: $CI_PROJECT_DIR/kas/logging.yml
|
BB_LOGCONFIG: $CI_PROJECT_DIR/ci/logging.yml
|
||||||
|
TOOLCHAIN_DIR: $CI_BUILDS_DIR/persist/toolchains
|
||||||
|
IMAGE_DIR: $CI_PROJECT_DIR/work/build/tmp/deploy/images
|
||||||
|
TOOLCHAIN_LINK_DIR: $CI_PROJECT_DIR/work/build/toolchains
|
||||||
before_script:
|
before_script:
|
||||||
- echo KAS_WORK_DIR = $KAS_WORK_DIR
|
- echo KAS_WORK_DIR = $KAS_WORK_DIR
|
||||||
- echo SSTATE_DIR = $SSTATE_DIR
|
- echo SSTATE_DIR = $SSTATE_DIR
|
||||||
- echo DL_DIR = $DL_DIR
|
- echo DL_DIR = $DL_DIR
|
||||||
- mkdir --verbose --parents $KAS_WORK_DIR $SSTATE_DIR $DL_DIR
|
- rm -rf $KAS_WORK_DIR
|
||||||
|
- 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
|
||||||
|
|
||||||
# Generalised fragment to do a Kas build
|
# Generalised fragment to do a Kas build
|
||||||
.build:
|
.build:
|
||||||
extends: .setup
|
extends: .setup
|
||||||
script:
|
script:
|
||||||
- KASFILES=$(kas/jobs-to-kas $CI_JOB_NAME)
|
- KASFILES=$(./ci/jobs-to-kas $CI_JOB_NAME)
|
||||||
- kas shell --update --force-checkout $KASFILES -c 'cat conf/*.conf'
|
- kas shell --update --force-checkout $KASFILES -c 'cat conf/*.conf'
|
||||||
- kas build $KASFILES
|
- kas build $KASFILES
|
||||||
- ./kas/check-warnings $KAS_WORK_DIR/build/warnings.log
|
- ./ci/check-warnings $KAS_WORK_DIR/build/warnings.log
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# First phase, bootstrap and machine coverage
|
# Prep stage, update repositories once
|
||||||
|
#
|
||||||
|
update-repos:
|
||||||
|
extends: .setup
|
||||||
|
stage: prep
|
||||||
|
script:
|
||||||
|
- flock --verbose --timeout 60 $KAS_REPO_REF_DIR ./ci/update-repos
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bootstrap stage, bootstrap and machine coverage
|
||||||
#
|
#
|
||||||
|
|
||||||
# Build a number of native tools first to ensure the other builders don't race
|
# Build a number of native tools first to ensure the other builders don't race
|
||||||
@@ -43,13 +60,14 @@ n1sdp/bootstrap:
|
|||||||
# What percentage of machines in the layer do we build
|
# What percentage of machines in the layer do we build
|
||||||
machine-coverage:
|
machine-coverage:
|
||||||
stage: bootstrap
|
stage: bootstrap
|
||||||
|
interruptible: true
|
||||||
script:
|
script:
|
||||||
- ./kas/check-machine-coverage
|
- ./ci/check-machine-coverage
|
||||||
coverage: '/Coverage: \d+/'
|
coverage: '/Coverage: \d+/'
|
||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Second phase, the actual build jobs
|
# Build stage, the actual build jobs
|
||||||
#
|
#
|
||||||
|
|
||||||
a5ds:
|
a5ds:
|
||||||
@@ -70,6 +88,9 @@ fvp-base:
|
|||||||
fvp-base-arm32:
|
fvp-base-arm32:
|
||||||
extends: .build
|
extends: .build
|
||||||
|
|
||||||
|
fvp-base-arm32/external-gccarm:
|
||||||
|
extends: .build
|
||||||
|
|
||||||
gem5-arm64:
|
gem5-arm64:
|
||||||
extends: .build
|
extends: .build
|
||||||
|
|
||||||
@@ -88,16 +109,29 @@ musca-s1:
|
|||||||
n1sdp:
|
n1sdp:
|
||||||
extends: .build
|
extends: .build
|
||||||
|
|
||||||
qemuarm64-secureboot:
|
# This job currently fails when building gcc-runtime:
|
||||||
|
# cc1: error: switch '-mcpu=armv8.2-a' conflicts with '-march=armv8-a' switch [-Werror]
|
||||||
|
# Mark as manual so it doesn't get executed automatically
|
||||||
|
n1sdp/armgcc:
|
||||||
|
extends: .build
|
||||||
|
when: manual
|
||||||
|
|
||||||
|
qemuarm/testimage:
|
||||||
extends: .build
|
extends: .build
|
||||||
|
|
||||||
qemuarm64-secureboot/clang:
|
qemuarm64-secureboot/testimage:
|
||||||
extends: .build
|
extends: .build
|
||||||
|
|
||||||
qemuarm64-secureboot/clang/musl:
|
qemuarm64-secureboot/clang/testimage:
|
||||||
extends: .build
|
extends: .build
|
||||||
|
|
||||||
qemuarm64-secureboot/musl:
|
qemuarm64-secureboot/clang/musl/testimage:
|
||||||
|
extends: .build
|
||||||
|
|
||||||
|
qemuarm64-secureboot/musl/testimage:
|
||||||
|
extends: .build
|
||||||
|
|
||||||
|
qemuarmv5/testimage:
|
||||||
extends: .build
|
extends: .build
|
||||||
|
|
||||||
sgi575:
|
sgi575:
|
||||||
@@ -111,18 +145,49 @@ tc0:
|
|||||||
# Utility tasks, not executed automatically
|
# Utility tasks, not executed automatically
|
||||||
#
|
#
|
||||||
|
|
||||||
# Report on disk usage
|
delete-dl-dir:
|
||||||
usage:
|
|
||||||
extends: .setup
|
extends: .setup
|
||||||
stage: bootstrap
|
stage: prep
|
||||||
when: manual
|
when: manual
|
||||||
script:
|
script:
|
||||||
- du -h -s $DL_DIR $SSTATE_DIR
|
- rm -rf $DL_DIR/*
|
||||||
|
|
||||||
|
delete-repo-dir:
|
||||||
|
extends: .setup
|
||||||
|
stage: prep
|
||||||
|
when: manual
|
||||||
|
script:
|
||||||
|
- rm -rf $KAS_REPO_REF_DIR/*
|
||||||
|
|
||||||
|
# Delete all sstate
|
||||||
|
delete-sstate:
|
||||||
|
extends: .setup
|
||||||
|
stage: prep
|
||||||
|
when: manual
|
||||||
|
script:
|
||||||
|
- rm -rf $SSTATE_DIR/*
|
||||||
|
|
||||||
|
delete-toolchains:
|
||||||
|
extends: .setup
|
||||||
|
stage: prep
|
||||||
|
when: manual
|
||||||
|
script:
|
||||||
|
- rm -rf $TOOLCHAIN_DIR/*
|
||||||
|
|
||||||
# Wipe out old sstate
|
# Wipe out old sstate
|
||||||
prune-sstate:
|
prune-sstate:
|
||||||
extends: .setup
|
extends: .setup
|
||||||
stage: bootstrap
|
stage: prep
|
||||||
when: manual
|
when: manual
|
||||||
script:
|
script:
|
||||||
|
- du -h -s $SSTATE_DIR
|
||||||
- find $SSTATE_DIR -type f -atime +30 -delete
|
- find $SSTATE_DIR -type f -atime +30 -delete
|
||||||
|
- du -h -s $SSTATE_DIR
|
||||||
|
|
||||||
|
# Report on disk usage
|
||||||
|
usage:
|
||||||
|
extends: .setup
|
||||||
|
stage: prep
|
||||||
|
when: manual
|
||||||
|
script:
|
||||||
|
- du -h -s $DL_DIR $SSTATE_DIR $KAS_REPO_REF_DIR $TOOLCHAIN_DIR
|
||||||
File renamed without changes.
@@ -0,0 +1,6 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
|
||||||
|
local_conf_header:
|
||||||
|
libc: |
|
||||||
|
GCCVERSION = "arm-9.2"
|
||||||
@@ -22,6 +22,7 @@ repos:
|
|||||||
|
|
||||||
env:
|
env:
|
||||||
BB_LOGCONFIG: ""
|
BB_LOGCONFIG: ""
|
||||||
|
TOOLCHAIN_DIR: ""
|
||||||
|
|
||||||
local_conf_header:
|
local_conf_header:
|
||||||
base: |
|
base: |
|
||||||
@@ -29,11 +30,11 @@ local_conf_header:
|
|||||||
PACKAGE_CLASSES = "package_ipk"
|
PACKAGE_CLASSES = "package_ipk"
|
||||||
LICENSE_FLAGS_WHITELIST += "armcompiler"
|
LICENSE_FLAGS_WHITELIST += "armcompiler"
|
||||||
PACKAGECONFIG_remove_pn-qemu-system-native = "gtk+ sdl"
|
PACKAGECONFIG_remove_pn-qemu-system-native = "gtk+ sdl"
|
||||||
|
EXTRA_IMAGE_FEATURES_append = " debug-tweaks"
|
||||||
BB_NUMBER_THREADS = "16"
|
BB_NUMBER_THREADS = "16"
|
||||||
PARALLEL_MAKE = "-j16"
|
PARALLEL_MAKE = "-j16"
|
||||||
INHERIT += "rm_work"
|
INHERIT += "rm_work"
|
||||||
PACKAGECONFIG_append_pn-perf = " coresight"
|
PACKAGECONFIG_append_pn-perf = " coresight"
|
||||||
ERROR_QA = "${WARN_QA}"
|
|
||||||
ptest: |
|
ptest: |
|
||||||
DISTRO_FEATURES_remove = "ptest"
|
DISTRO_FEATURES_remove = "ptest"
|
||||||
|
|
||||||
File renamed without changes.
@@ -13,11 +13,11 @@ if metaarm.name != "meta-arm":
|
|||||||
machines = metaarm.glob("meta-*/conf/machine/*.conf")
|
machines = metaarm.glob("meta-*/conf/machine/*.conf")
|
||||||
machines = set(p.stem for p in machines)
|
machines = set(p.stem for p in machines)
|
||||||
|
|
||||||
# All kas files
|
# All ci files
|
||||||
kas = metaarm.glob("kas/*.yml")
|
ci = metaarm.glob("ci/*.yml")
|
||||||
kas = set(p.stem for p in kas)
|
ci = set(p.stem for p in ci)
|
||||||
|
|
||||||
missing = machines - kas
|
missing = machines - ci
|
||||||
print(f"The following machines are missing: {', '.join(sorted(missing))}.")
|
print(f"The following machines are missing: {', '.join(sorted(missing))}.")
|
||||||
|
|
||||||
covered = len(machines) - len(missing)
|
covered = len(machines) - len(missing)
|
||||||
@@ -7,7 +7,8 @@ set -e -u
|
|||||||
|
|
||||||
LOGFILE=$1
|
LOGFILE=$1
|
||||||
|
|
||||||
if test -s $LOGFILE; then
|
LINES=$(grep --invert-match "attempting MIRRORS if available" $LOGFILE | wc -l)
|
||||||
|
if test "$LINES" -ne 0; then
|
||||||
echo ==============================
|
echo ==============================
|
||||||
echo The build had warnings/errors:
|
echo The build had warnings/errors:
|
||||||
echo ==============================
|
echo ==============================
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,8 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
|
||||||
|
local_conf_header:
|
||||||
|
cc: |
|
||||||
|
PNBLACKLIST[gcc-cross-arm] = "Using external toolchain"
|
||||||
|
TCMODE = "external-arm"
|
||||||
|
EXTERNAL_TOOLCHAIN = "${TOPDIR}/toolchains/${TARGET_ARCH}"
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Executable
+46
@@ -0,0 +1,46 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
set -u
|
||||||
|
|
||||||
|
HOST_ARCH=$(uname -m)
|
||||||
|
VER="10.2-2020.11"
|
||||||
|
|
||||||
|
DOWNLOAD_DIR=$1
|
||||||
|
TOOLCHAIN_DIR=$2
|
||||||
|
TOOLCHAIN_LINK_DIR=$3
|
||||||
|
|
||||||
|
# These should be already created by .gitlab-ci.yml, but do here if run outside of that env
|
||||||
|
mkdir -p $DOWNLOAD_DIR $TOOLCHAIN_DIR $TOOLCHAIN_LINK_DIR
|
||||||
|
|
||||||
|
if [ $HOST_ARCH = "aarch64" ]; then
|
||||||
|
#AArch64 Linux hosted cross compilers
|
||||||
|
|
||||||
|
#AArch32 target with hard float (arm-none-linux-gnueabihf)
|
||||||
|
wget -P $DOWNLOAD_DIR -nc https://developer.arm.com/-/media/Files/downloads/gnu-a/$VER/binrel/gcc-arm-$VER-$HOST_ARCH-arm-none-linux-gnueabihf.tar.xz
|
||||||
|
elif [ $HOST_ARCH = "x86_64" ]; then
|
||||||
|
#x86_64 Linux hosted cross compilers
|
||||||
|
|
||||||
|
#AArch32 target with hard float (arm-linux-none-gnueabihf)
|
||||||
|
wget -P $DOWNLOAD_DIR -nc https://developer.arm.com/-/media/Files/downloads/gnu-a/$VER/binrel/gcc-arm-$VER-$HOST_ARCH-arm-none-linux-gnueabihf.tar.xz
|
||||||
|
|
||||||
|
#AArch64 GNU/Linux target (aarch64-none-linux-gnu)
|
||||||
|
wget -P $DOWNLOAD_DIR -nc https://developer.arm.com/-/media/Files/downloads/gnu-a/$VER/binrel/gcc-arm-$VER-$HOST_ARCH-aarch64-none-linux-gnu.tar.xz
|
||||||
|
|
||||||
|
#AArch64 GNU/Linux target (aarch64_be-none-linux-gnu)
|
||||||
|
wget -P $DOWNLOAD_DIR -nc https://developer.arm.com/-/media/Files/downloads/gnu-a/$VER/binrel/gcc-arm-$VER-$HOST_ARCH-aarch64_be-none-linux-gnu.tar.xz
|
||||||
|
else
|
||||||
|
echo "ERROR - Unknown build arch of $HOST_ARCH"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
for i in arm aarch64 aarch64_be; do
|
||||||
|
if [ ! -d $TOOLCHAIN_DIR/gcc-arm-$VER-$HOST_ARCH-$i-none-linux-gnu*/ ]; then
|
||||||
|
if [ ! -f $DOWNLOAD_DIR/gcc-arm-$VER-$HOST_ARCH-$i-none-linux-gnu*.tar.xz ]; then
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
tar -C $TOOLCHAIN_DIR -axvf $DOWNLOAD_DIR/gcc-arm-$VER-$HOST_ARCH-$i-none-linux-gnu*.tar.xz
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Setup a link for the toolchain to use local to the building machine (e.g., not in a shared location)
|
||||||
|
ln -s $TOOLCHAIN_DIR/gcc-arm-$VER-$HOST_ARCH-$i-none-linux-gnu* $TOOLCHAIN_LINK_DIR/$i
|
||||||
|
done
|
||||||
@@ -8,8 +8,8 @@ set -e -u
|
|||||||
# Read Job namne from $1 and split on /
|
# Read Job namne from $1 and split on /
|
||||||
IFS=/ read -r -a PARTS<<<$1
|
IFS=/ read -r -a PARTS<<<$1
|
||||||
|
|
||||||
# Prefix each part with kas/
|
# Prefix each part with ci/
|
||||||
PARTS=("${PARTS[@]/#/kas/}")
|
PARTS=("${PARTS[@]/#/ci/}")
|
||||||
|
|
||||||
# Suffix each part with .yml
|
# Suffix each part with .yml
|
||||||
PARTS=("${PARTS[@]/%/.yml}")
|
PARTS=("${PARTS[@]/%/.yml}")
|
||||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,6 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
includes:
|
||||||
|
- base.yml
|
||||||
|
|
||||||
|
machine: qemuarm
|
||||||
@@ -5,6 +5,11 @@ header:
|
|||||||
|
|
||||||
machine: qemuarm64-secureboot
|
machine: qemuarm64-secureboot
|
||||||
|
|
||||||
|
local_conf_header:
|
||||||
|
bugs: |
|
||||||
|
# Only ping until errors can be resolved
|
||||||
|
TEST_SUITES = "ping"
|
||||||
|
|
||||||
target:
|
target:
|
||||||
- core-image-base
|
- core-image-base
|
||||||
- perf
|
- perf
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
includes:
|
||||||
|
- base.yml
|
||||||
|
|
||||||
|
machine: qemuarmv5
|
||||||
|
|
||||||
|
local_conf_header:
|
||||||
|
bugs: |
|
||||||
|
# Remove parselogs until errors can be resolved
|
||||||
|
TEST_SUITES_remove = "parselogs"
|
||||||
File renamed without changes.
File renamed without changes.
@@ -0,0 +1,17 @@
|
|||||||
|
header:
|
||||||
|
version: 9
|
||||||
|
|
||||||
|
local_conf_header:
|
||||||
|
testimage: |
|
||||||
|
IMAGE_CLASSES += "testimage"
|
||||||
|
TESTIMAGE_AUTO = "1"
|
||||||
|
slirp: |
|
||||||
|
TEST_RUNQEMUPARAMS = "slirp"
|
||||||
|
TEST_SERVER_IP = "127.0.0.1"
|
||||||
|
QEMU_USE_SLIRP = "1"
|
||||||
|
packages: |
|
||||||
|
IMAGE_FEATURES_append = " ssh-server-dropbear"
|
||||||
|
|
||||||
|
# Multiple targets are available, put it down to just one
|
||||||
|
target:
|
||||||
|
- core-image-base
|
||||||
Executable
+41
@@ -0,0 +1,41 @@
|
|||||||
|
#! /usr/bin/env python3
|
||||||
|
|
||||||
|
# Update clones of the repositories we need in KAS_REPO_REF_DIR to speed up fetches
|
||||||
|
|
||||||
|
import sys
|
||||||
|
import os
|
||||||
|
import subprocess
|
||||||
|
import pathlib
|
||||||
|
|
||||||
|
def repo_shortname(url):
|
||||||
|
# Taken from Kas (Repo.__getattr__) to ensure the logic is right
|
||||||
|
from urllib.parse import urlparse
|
||||||
|
url = urlparse(url)
|
||||||
|
return ('{url.netloc}{url.path}'
|
||||||
|
.format(url=url)
|
||||||
|
.replace('@', '.')
|
||||||
|
.replace(':', '.')
|
||||||
|
.replace('/', '.')
|
||||||
|
.replace('*', '.'))
|
||||||
|
|
||||||
|
repositories = (
|
||||||
|
"https://git.yoctoproject.org/git/poky",
|
||||||
|
"https://git.openembedded.org/meta-openembedded",
|
||||||
|
"https://git.yoctoproject.org/git/meta-virtualization",
|
||||||
|
"https://git.yoctoproject.org/git/meta-zephyr",
|
||||||
|
"https://github.com/kraj/meta-clang",
|
||||||
|
)
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
if "KAS_REPO_REF_DIR" not in os.environ:
|
||||||
|
print("KAS_REPO_REF_DIR needs to be set")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
base_repodir = pathlib.Path(os.environ["KAS_REPO_REF_DIR"])
|
||||||
|
|
||||||
|
for repo in repositories:
|
||||||
|
repodir = base_repodir / repo_shortname(repo)
|
||||||
|
if repodir.exists():
|
||||||
|
subprocess.run(["git", "-C", repodir, "fetch"], check=True)
|
||||||
|
else:
|
||||||
|
subprocess.run(["git", "clone", "--bare", repo, repodir], check=True)
|
||||||
@@ -10,10 +10,10 @@ require conf/machine/include/arm/arch-armv8a.inc
|
|||||||
|
|
||||||
MACHINE_FEATURES = "usbhost usbgadget alsa screen wifi bluetooth optee pci"
|
MACHINE_FEATURES = "usbhost usbgadget alsa screen wifi bluetooth optee pci"
|
||||||
|
|
||||||
KERNEL_IMAGETYPE = "Image"
|
KERNEL_IMAGETYPE = "Image.gz"
|
||||||
KERNEL_DEVICETREE = "arm/juno.dtb arm/juno-r1.dtb arm/juno-r2.dtb"
|
KERNEL_DEVICETREE = "arm/juno.dtb arm/juno-r1.dtb arm/juno-r2.dtb"
|
||||||
|
|
||||||
IMAGE_FSTYPES += "tar.bz2 ext4"
|
IMAGE_FSTYPES += "tar.bz2 ext4 cpio.gz"
|
||||||
|
|
||||||
SERIAL_CONSOLES = "115200;ttyAMA0"
|
SERIAL_CONSOLES = "115200;ttyAMA0"
|
||||||
|
|
||||||
@@ -26,3 +26,6 @@ EXTRA_IMAGEDEPENDS += "virtual/trusted-firmware-a u-boot firmware-image-juno"
|
|||||||
|
|
||||||
# Juno u-boot configuration
|
# Juno u-boot configuration
|
||||||
UBOOT_MACHINE = "vexpress_aemv8a_juno_defconfig"
|
UBOOT_MACHINE = "vexpress_aemv8a_juno_defconfig"
|
||||||
|
|
||||||
|
INITRAMFS_IMAGE_BUNDLE ?= "1"
|
||||||
|
INITRAMFS_IMAGE = "core-image-minimal"
|
||||||
@@ -62,7 +62,7 @@ do_deploy() {
|
|||||||
done
|
done
|
||||||
|
|
||||||
if [ "${INITRAMFS_IMAGE_BUNDLE}" -eq 1 ]; then
|
if [ "${INITRAMFS_IMAGE_BUNDLE}" -eq 1 ]; then
|
||||||
cp -L -f ${DEPLOY_DIR_IMAGE}/Image-initramfs-juno.bin \
|
cp -L -f ${DEPLOY_DIR_IMAGE}/Image.gz-initramfs-juno.bin \
|
||||||
${D}/${UNPACK_DIR}/SOFTWARE/Image
|
${D}/${UNPACK_DIR}/SOFTWARE/Image
|
||||||
else
|
else
|
||||||
cp -L -f ${DEPLOY_DIR_IMAGE}/Image ${D}/${UNPACK_DIR}/SOFTWARE/
|
cp -L -f ${DEPLOY_DIR_IMAGE}/Image ${D}/${UNPACK_DIR}/SOFTWARE/
|
||||||
|
|||||||
+27
@@ -0,0 +1,27 @@
|
|||||||
|
From 097a43223da4fa42335944295903ede2755e2dfd Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jon Mason <jdmason@kudzu.us>
|
||||||
|
Date: Mon, 19 Dec 2022 11:36:04 -0500
|
||||||
|
Subject: [PATCH] configs: vexpress: modify to boot compressed initramfs
|
||||||
|
|
||||||
|
Signed-off-by: Jon Mason <jdmason@kudzu.us>
|
||||||
|
Upstream-Status: Inappropriate
|
||||||
|
---
|
||||||
|
include/configs/vexpress_aemv8a.h | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/include/configs/vexpress_aemv8.h b/include/configs/vexpress_aemv8a.h
|
||||||
|
index cd7f6c1b9ba0..c2f5eb302076 100644
|
||||||
|
--- a/include/configs/vexpress_aemv8a.h
|
||||||
|
+++ b/include/configs/vexpress_aemv8a.h
|
||||||
|
@@ -164,6 +164,8 @@
|
||||||
|
"kernel_name=norkern\0" \
|
||||||
|
"kernel_alt_name=Image\0" \
|
||||||
|
"kernel_addr_r=0x80080000\0" \
|
||||||
|
+ "kernel_comp_addr_r=0x90000000\0" \
|
||||||
|
+ "kernel_comp_size=0x3000000\0" \
|
||||||
|
"initrd_name=ramdisk.img\0" \
|
||||||
|
"initrd_addr_r=0x88000000\0" \
|
||||||
|
"fdtfile=board.dtb\0" \
|
||||||
|
--
|
||||||
|
2.30.2
|
||||||
|
|
||||||
@@ -29,7 +29,10 @@ SRC_URI_append_fvp-base-arm32 = " file://0001-Add-vexpress_aemv8a_aarch32-varian
|
|||||||
#
|
#
|
||||||
# Juno KMACHINE
|
# Juno KMACHINE
|
||||||
#
|
#
|
||||||
SRC_URI_append_juno = " file://u-boot_vexpress_uenv.patch"
|
SRC_URI_append_juno = " \
|
||||||
|
file://u-boot_vexpress_uenv.patch \
|
||||||
|
file://0002-configs-vexpress-modify-to-boot-compressed-initramfs.patch \
|
||||||
|
"
|
||||||
|
|
||||||
#
|
#
|
||||||
# Total Compute KMACHINE
|
# Total Compute KMACHINE
|
||||||
|
|||||||
+54
@@ -0,0 +1,54 @@
|
|||||||
|
Upstream-Status: Backport
|
||||||
|
Signed-off-by: Jon Mason <jon.mason@arm.com>
|
||||||
|
|
||||||
|
From e33a814e772cdc36436c8c188d8c42d019fda639 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Dirk Mueller <dmueller@suse.com>
|
||||||
|
Date: Tue, 14 Jan 2020 18:53:41 +0100
|
||||||
|
Subject: [PATCH] scripts/dtc: Remove redundant YYLOC global declaration
|
||||||
|
|
||||||
|
gcc 10 will default to -fno-common, which causes this error at link
|
||||||
|
time:
|
||||||
|
|
||||||
|
(.text+0x0): multiple definition of `yylloc'; dtc-lexer.lex.o (symbol from plugin):(.text+0x0): first defined here
|
||||||
|
|
||||||
|
This is because both dtc-lexer as well as dtc-parser define the same
|
||||||
|
global symbol yyloc. Before with -fcommon those were merged into one
|
||||||
|
defintion. The proper solution would be to to mark this as "extern",
|
||||||
|
however that leads to:
|
||||||
|
|
||||||
|
dtc-lexer.l:26:16: error: redundant redeclaration of 'yylloc' [-Werror=redundant-decls]
|
||||||
|
26 | extern YYLTYPE yylloc;
|
||||||
|
| ^~~~~~
|
||||||
|
In file included from dtc-lexer.l:24:
|
||||||
|
dtc-parser.tab.h:127:16: note: previous declaration of 'yylloc' was here
|
||||||
|
127 | extern YYLTYPE yylloc;
|
||||||
|
| ^~~~~~
|
||||||
|
cc1: all warnings being treated as errors
|
||||||
|
|
||||||
|
which means the declaration is completely redundant and can just be
|
||||||
|
dropped.
|
||||||
|
|
||||||
|
Signed-off-by: Dirk Mueller <dmueller@suse.com>
|
||||||
|
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
|
||||||
|
[robh: cherry-pick from upstream]
|
||||||
|
Cc: stable@vger.kernel.org
|
||||||
|
Signed-off-by: Rob Herring <robh@kernel.org>
|
||||||
|
---
|
||||||
|
scripts/dtc/dtc-lexer.l | 1 -
|
||||||
|
1 file changed, 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/scripts/dtc/dtc-lexer.l b/scripts/dtc/dtc-lexer.l
|
||||||
|
index 5c6c3fd557d7..b3b7270300de 100644
|
||||||
|
--- a/scripts/dtc/dtc-lexer.l
|
||||||
|
+++ b/scripts/dtc/dtc-lexer.l
|
||||||
|
@@ -23,7 +23,6 @@ LINECOMMENT "//".*\n
|
||||||
|
#include "srcpos.h"
|
||||||
|
#include "dtc-parser.tab.h"
|
||||||
|
|
||||||
|
-YYLTYPE yylloc;
|
||||||
|
extern bool treesource_error;
|
||||||
|
|
||||||
|
/* CAUTION: this will stop working if we ever use yyless() or yyunput() */
|
||||||
|
--
|
||||||
|
2.30.2
|
||||||
|
|
||||||
@@ -51,6 +51,10 @@ COMPATIBLE_MACHINE_juno = "juno"
|
|||||||
KMACHINE_juno = "juno"
|
KMACHINE_juno = "juno"
|
||||||
KBUILD_DEFCONFIG_juno = "defconfig"
|
KBUILD_DEFCONFIG_juno = "defconfig"
|
||||||
KCONFIG_MODE_juno = "--alldefconfig"
|
KCONFIG_MODE_juno = "--alldefconfig"
|
||||||
|
#FIXME - temporarily pin kernel version to allow for juno patches to apply
|
||||||
|
KBRANCH_juno = "v5.4/standard/base"
|
||||||
|
KERNEL_VERSION_SANITY_SKIP_juno = "1"
|
||||||
|
SRCREV_machine_juno = "dd8a64a523fb714a98328441e0de72cde115a6fc"
|
||||||
SRC_URI_append_juno = " \
|
SRC_URI_append_juno = " \
|
||||||
file://0001-mailbox-add-support-for-doorbell-signal-mode-control.patch \
|
file://0001-mailbox-add-support-for-doorbell-signal-mode-control.patch \
|
||||||
file://0002-dt-bindings-mailbox-add-bindings-to-support-ARM-MHU-.patch \
|
file://0002-dt-bindings-mailbox-add-bindings-to-support-ARM-MHU-.patch \
|
||||||
|
|||||||
@@ -6,7 +6,9 @@ SRCREV_machine = "d4f3318ed8fab6316cb7a269b8f42306632a3876"
|
|||||||
SRCREV_meta = "8d0ed83a864cc91eef4d2abbc90f13d4ecd1c213"
|
SRCREV_meta = "8d0ed83a864cc91eef4d2abbc90f13d4ecd1c213"
|
||||||
|
|
||||||
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
|
SRC_URI = "git://git.yoctoproject.org/linux-yocto.git;name=machine;branch=${KBRANCH}; \
|
||||||
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA}"
|
git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-5.4;destsuffix=${KMETA} \
|
||||||
|
file://0001-scripts-dtc-Remove-redundant-YYLOC-global-declaratio.patch \
|
||||||
|
"
|
||||||
|
|
||||||
LINUX_VERSION = "5.3.18"
|
LINUX_VERSION = "5.3.18"
|
||||||
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
|
LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
|
||||||
|
|||||||
@@ -139,19 +139,5 @@ python external_arm_toolchain_version_handler () {
|
|||||||
d.setVar('EAT_VER_KERNEL', eat_get_kernel_version(ld))
|
d.setVar('EAT_VER_KERNEL', eat_get_kernel_version(ld))
|
||||||
d.setVar('EAT_VER_GDB', eat_get_gdb_version(ld))
|
d.setVar('EAT_VER_GDB', eat_get_gdb_version(ld))
|
||||||
d.setVar('EAT_VER_BFD', eat_get_bfd_version(ld))
|
d.setVar('EAT_VER_BFD', eat_get_bfd_version(ld))
|
||||||
|
|
||||||
lc_libc = "LGPL-2.1"
|
|
||||||
lc_gcc = "GPL-3.0"
|
|
||||||
lc_rle = "GPL-3.0-with-GCC-exception"
|
|
||||||
lc_gdb = "GPL-3.0"
|
|
||||||
lc_bfd = "GPL-3.0"
|
|
||||||
|
|
||||||
d.setVar('EAT_LIBC_LICENSE', lc_libc)
|
|
||||||
d.setVar('EAT_GCC_LICENSE', lc_gcc)
|
|
||||||
d.setVar('EAT_RLE_LICENSE', lc_rle)
|
|
||||||
d.setVar('EAT_GDB_LICENSE', lc_gdb)
|
|
||||||
d.setVar('EAT_BFD_LICENSE', lc_bfd)
|
|
||||||
|
|
||||||
d.setVar('EAT_LICENSE', "%s & %s & %s & %s & %s" % (lc_libc, lc_gcc, lc_rle, lc_gdb, lc_bfd))
|
|
||||||
}
|
}
|
||||||
addhandler external_arm_toolchain_version_handler
|
addhandler external_arm_toolchain_version_handler
|
||||||
@@ -14,8 +14,5 @@ LICENSE_PATH += "${LAYERDIR}/custom-licenses"
|
|||||||
LAYERDEPENDS_arm-toolchain = "core"
|
LAYERDEPENDS_arm-toolchain = "core"
|
||||||
LAYERSERIES_COMPAT_arm-toolchain = "gatesgarth"
|
LAYERSERIES_COMPAT_arm-toolchain = "gatesgarth"
|
||||||
|
|
||||||
# do not error out on bbappends for missing recipes
|
|
||||||
BB_DANGLINGAPPENDS_WARNONLY = "true"
|
|
||||||
|
|
||||||
# These variables are used for armcompiler license
|
# These variables are used for armcompiler license
|
||||||
BB_HASHBASE_WHITELIST_append = " ARM_TOOL_VARIANT ARMLMD_LICENSE_FILE LM_LICENSE_FILE"
|
BB_HASHBASE_WHITELIST_append = " ARM_TOOL_VARIANT ARMLMD_LICENSE_FILE LM_LICENSE_FILE"
|
||||||
+2
-3
@@ -1,5 +1,7 @@
|
|||||||
inherit cross-canadian
|
inherit cross-canadian
|
||||||
|
|
||||||
|
require license.inc
|
||||||
|
|
||||||
PN = "external-arm-sdk-toolchain-${TARGET_ARCH}"
|
PN = "external-arm-sdk-toolchain-${TARGET_ARCH}"
|
||||||
BPN = "external-arm-sdk-toolchain"
|
BPN = "external-arm-sdk-toolchain"
|
||||||
PV = "${EAT_VER_MAIN}"
|
PV = "${EAT_VER_MAIN}"
|
||||||
@@ -10,9 +12,6 @@ INHIBIT_SYSROOT_STRIP = "1"
|
|||||||
INHIBIT_DEFAULT_DEPS = "1"
|
INHIBIT_DEFAULT_DEPS = "1"
|
||||||
EXCLUDE_FROM_SHLIBS = "1"
|
EXCLUDE_FROM_SHLIBS = "1"
|
||||||
|
|
||||||
EAT_LICENSE ??= ""
|
|
||||||
|
|
||||||
LICENSE = "${EAT_LICENSE}"
|
|
||||||
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
|
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
|
||||||
|
|
||||||
# Skip packaging QA checks for prebuilt binaries
|
# Skip packaging QA checks for prebuilt binaries
|
||||||
|
|||||||
@@ -115,6 +115,8 @@ do_install() {
|
|||||||
rm -rf ${D}${bindir}/gdbserver
|
rm -rf ${D}${bindir}/gdbserver
|
||||||
sed -i -e 's#/arm/tools/gnu/bash/4.2/rhe6-x86_64##' ${D}${bindir}/tzselect
|
sed -i -e 's#/arm/tools/gnu/bash/4.2/rhe6-x86_64##' ${D}${bindir}/tzselect
|
||||||
sed -i -e 's#/arm/tools/gnu/bash/4.2/rhe6-x86_64##' ${D}${bindir}/ldd
|
sed -i -e 's#/arm/tools/gnu/bash/4.2/rhe6-x86_64##' ${D}${bindir}/ldd
|
||||||
|
sed -i -e 's#/usr/bin/bash#/bin/sh#' ${D}${bindir}/tzselect
|
||||||
|
sed -i -e 's#/usr/bin/bash#/bin/sh#' ${D}${bindir}/ldd
|
||||||
sed -i -e 's#/bin/bash#/bin/sh#' ${D}${bindir}/tzselect
|
sed -i -e 's#/bin/bash#/bin/sh#' ${D}${bindir}/tzselect
|
||||||
sed -i -e 's#/bin/bash#/bin/sh#' ${D}${bindir}/ldd
|
sed -i -e 's#/bin/bash#/bin/sh#' ${D}${bindir}/ldd
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
LICENSE = "GPL-3.0-with-GCC-exception & GPLv3 & GPLv2 & LGPLv3 & LGPLv2.1 & LGPLv2"
|
LICENSE = "GPL-3.0-with-GCC-exception & GPLv3 & GPLv2 & LGPLv3 & LGPLv2.1 & LGPLv2"
|
||||||
|
|
||||||
|
EAT_BFD_LICENSE = "GPL-3.0"
|
||||||
EAT_GCC_LICENSE = "GPL-3.0-with-GCC-exception & GPLv3"
|
EAT_GCC_LICENSE = "GPL-3.0-with-GCC-exception & GPLv3"
|
||||||
|
EAT_GDB_LICENSE = "GPL-3.0"
|
||||||
EAT_LIBC_LICENSE = "GPLv2 & LGPLv2.1"
|
EAT_LIBC_LICENSE = "GPLv2 & LGPLv2.1"
|
||||||
|
EAT_RLE_LICENSE = "GPL-3.0-with-GCC-exception"
|
||||||
|
|
||||||
LICENSE_${PN} = "${EAT_LIBC_LICENSE}"
|
LICENSE_${PN} = "${EAT_LIBC_LICENSE}"
|
||||||
LICENSE_${PN}-dev = "${EAT_LIBC_LICENSE}"
|
LICENSE_${PN}-dev = "${EAT_LIBC_LICENSE}"
|
||||||
|
|||||||
Reference in new issue
Block a user