mirror of
https://git.yoctoproject.org/meta-arm
synced 2026-07-19 16:57:09 +00:00
Compare commits
12 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c3e9fb12aa | |||
| 10c27f061b | |||
| 5c33ed794a | |||
| 2384dc1a9a | |||
| 5d759ca68d | |||
| 58a33d0860 | |||
| 5c4f98bbc5 | |||
| 6b2d97cecd | |||
| 936c02ec13 | |||
| bf98ef902e | |||
| 260e3adc2b | |||
| 1c9ba5d495 |
+27
-11
@@ -7,6 +7,10 @@ variables:
|
|||||||
# by default
|
# by default
|
||||||
FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY: 0
|
FF_USE_LEGACY_KUBERNETES_EXECUTION_STRATEGY: 0
|
||||||
FF_KUBERNETES_HONOR_ENTRYPOINT: 1
|
FF_KUBERNETES_HONOR_ENTRYPOINT: 1
|
||||||
|
# The directory to use as the persistent cache (the root for DL_DIR,
|
||||||
|
# SSTATE_DIR, etc). The default is the build tree which will not be
|
||||||
|
# persistent, so this should be set in the runner.
|
||||||
|
CACHE_DIR: $CI_PROJECT_DIR
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- prep
|
- prep
|
||||||
@@ -20,23 +24,19 @@ stages:
|
|||||||
interruptible: true
|
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
|
KAS_BUILD_DIR: $KAS_WORK_DIR/build
|
||||||
SSTATE_DIR: $CI_BUILDS_DIR/persist/sstate
|
KAS_REPO_REF_DIR: ""
|
||||||
DL_DIR: $CI_BUILDS_DIR/persist/downloads
|
SSTATE_DIR: $CACHE_DIR/sstate
|
||||||
|
DL_DIR: $CACHE_DIR/downloads
|
||||||
BB_LOGCONFIG: $CI_PROJECT_DIR/ci/logging.yml
|
BB_LOGCONFIG: $CI_PROJECT_DIR/ci/logging.yml
|
||||||
TOOLCHAIN_DIR: $CI_BUILDS_DIR/persist/toolchains
|
TOOLCHAIN_DIR: $CACHE_DIR/toolchains
|
||||||
IMAGE_DIR: $CI_PROJECT_DIR/work/build/tmp/deploy/images
|
IMAGE_DIR: $CI_PROJECT_DIR/work/build/tmp/deploy/images
|
||||||
TOOLCHAIN_LINK_DIR: $CI_PROJECT_DIR/work/build/toolchains
|
TOOLCHAIN_LINK_DIR: $CI_PROJECT_DIR/work/build/toolchains
|
||||||
before_script:
|
before_script:
|
||||||
- echo KAS_WORK_DIR = $KAS_WORK_DIR
|
|
||||||
- echo SSTATE_DIR = $SSTATE_DIR
|
|
||||||
- echo DL_DIR = $DL_DIR
|
|
||||||
- rm -rf $KAS_WORK_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
|
- 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
|
# 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
|
- ./ci/get-binary-toolchains $DL_DIR $TOOLCHAIN_DIR $TOOLCHAIN_LINK_DIR
|
||||||
# This can be removed with Kas 3.2
|
|
||||||
- sudo apt-get update && sudo apt-get install --yes python3-subunit
|
|
||||||
|
|
||||||
# Generalised fragment to do a Kas build
|
# Generalised fragment to do a Kas build
|
||||||
.build:
|
.build:
|
||||||
@@ -66,14 +66,25 @@ stages:
|
|||||||
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Prep stage, update repositories once
|
# Prep stage, update repositories once.
|
||||||
|
# Set the CI variable CI_CLEAN_REPOS=1 to refetch the respositories from scratch
|
||||||
#
|
#
|
||||||
update-repos:
|
update-repos:
|
||||||
extends: .setup
|
extends: .setup
|
||||||
stage: prep
|
stage: prep
|
||||||
script:
|
script:
|
||||||
- flock --verbose --timeout 60 $KAS_REPO_REF_DIR ./ci/update-repos
|
- |
|
||||||
|
exit_code=0
|
||||||
|
|
||||||
|
printenv
|
||||||
|
|
||||||
|
if [ -n "$KAS_REPO_REF_DIR" ]; then
|
||||||
|
flock --verbose --timeout 60 $KAS_REPO_REF_DIR --command ./ci/update-repos || exit_code=$?
|
||||||
|
# Exit now if that failed, unless the status was 128 (fetch failed)
|
||||||
|
test $exit_code != 0 -a $exit_code != 128 && exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit $exit_code
|
||||||
#
|
#
|
||||||
# Build stage, the actual build jobs
|
# Build stage, the actual build jobs
|
||||||
#
|
#
|
||||||
@@ -248,6 +259,11 @@ check-layers:
|
|||||||
|
|
||||||
pending-updates:
|
pending-updates:
|
||||||
extends: .setup
|
extends: .setup
|
||||||
|
# Only run this job for the default branch (master), or if forced with
|
||||||
|
# BUILD_FORCE_PENDING_UPDATES.
|
||||||
|
rules:
|
||||||
|
- if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
|
||||||
|
- if: $BUILD_FORCE_PENDING_UPDATES != null
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- update-report
|
- update-report
|
||||||
|
|||||||
+1
-1
@@ -15,7 +15,7 @@ repos:
|
|||||||
meta-arm-toolchain:
|
meta-arm-toolchain:
|
||||||
|
|
||||||
poky:
|
poky:
|
||||||
url: https://git.yoctoproject.org/git/poky
|
url: https://git.yoctoproject.org/poky
|
||||||
layers:
|
layers:
|
||||||
meta:
|
meta:
|
||||||
meta-poky:
|
meta-poky:
|
||||||
|
|||||||
@@ -5,4 +5,4 @@ header:
|
|||||||
|
|
||||||
repos:
|
repos:
|
||||||
meta-virtualization:
|
meta-virtualization:
|
||||||
url: git://git.yoctoproject.org/meta-virtualization
|
url: https://git.yoctoproject.org/meta-virtualization
|
||||||
|
|||||||
+1
-1
@@ -5,7 +5,7 @@ header:
|
|||||||
|
|
||||||
repos:
|
repos:
|
||||||
meta-zephyr:
|
meta-zephyr:
|
||||||
url: https://git.yoctoproject.org/git/meta-zephyr
|
url: https://git.yoctoproject.org/meta-zephyr
|
||||||
layers:
|
layers:
|
||||||
meta-zephyr-core:
|
meta-zephyr-core:
|
||||||
|
|
||||||
|
|||||||
+10
-4
@@ -4,6 +4,7 @@
|
|||||||
|
|
||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
|
import shutil
|
||||||
import subprocess
|
import subprocess
|
||||||
import pathlib
|
import pathlib
|
||||||
|
|
||||||
@@ -19,10 +20,10 @@ def repo_shortname(url):
|
|||||||
.replace('*', '.'))
|
.replace('*', '.'))
|
||||||
|
|
||||||
repositories = (
|
repositories = (
|
||||||
"https://git.yoctoproject.org/git/poky",
|
"https://git.yoctoproject.org/poky",
|
||||||
"https://git.openembedded.org/meta-openembedded",
|
"https://git.openembedded.org/meta-openembedded",
|
||||||
"https://git.yoctoproject.org/git/meta-virtualization",
|
"https://git.yoctoproject.org/meta-virtualization",
|
||||||
"https://git.yoctoproject.org/git/meta-zephyr",
|
"https://git.yoctoproject.org/meta-zephyr",
|
||||||
"https://github.com/kraj/meta-clang",
|
"https://github.com/kraj/meta-clang",
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -35,9 +36,14 @@ if __name__ == "__main__":
|
|||||||
|
|
||||||
for repo in repositories:
|
for repo in repositories:
|
||||||
repodir = base_repodir / repo_shortname(repo)
|
repodir = base_repodir / repo_shortname(repo)
|
||||||
|
|
||||||
|
if "CI_CLEAN_REPOS" in os.environ:
|
||||||
|
print("Cleaning %s..." % repo)
|
||||||
|
shutil.rmtree(repodir, ignore_errors=True)
|
||||||
|
|
||||||
if repodir.exists():
|
if repodir.exists():
|
||||||
print("Updating %s..." % repo)
|
print("Updating %s..." % repo)
|
||||||
subprocess.run(["git", "-C", repodir, "fetch"], check=True)
|
subprocess.run(["git", "-C", repodir, "-c", "gc.autoDetach=false", "fetch"], check=True)
|
||||||
else:
|
else:
|
||||||
print("Cloning %s..." % repo)
|
print("Cloning %s..." % repo)
|
||||||
subprocess.run(["git", "clone", "--bare", repo, repodir], check=True)
|
subprocess.run(["git", "clone", "--bare", repo, repodir], check=True)
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
CONFIG_MTD_NAND_FSL_IFC=n
|
||||||
@@ -91,7 +91,10 @@ COMPATIBLE_MACHINE:juno = "juno"
|
|||||||
KBUILD_DEFCONFIG:juno = "defconfig"
|
KBUILD_DEFCONFIG:juno = "defconfig"
|
||||||
KCONFIG_MODE:juno = "--alldefconfig"
|
KCONFIG_MODE:juno = "--alldefconfig"
|
||||||
FILESEXTRAPATHS:prepend:juno := "${ARMBSPFILESPATHS}"
|
FILESEXTRAPATHS:prepend:juno := "${ARMBSPFILESPATHS}"
|
||||||
SRC_URI:append:juno = " file://juno-dts-mhu-doorbell.patch"
|
SRC_URI:append:juno = " \
|
||||||
|
file://juno-dts-mhu-doorbell.patch \
|
||||||
|
file://no-fsl-ifc-nand.cfg \
|
||||||
|
"
|
||||||
|
|
||||||
#
|
#
|
||||||
# Musca B1/S2 can't run Linux
|
# Musca B1/S2 can't run Linux
|
||||||
@@ -116,6 +119,7 @@ SRC_URI:append:n1sdp = " \
|
|||||||
file://enable-realtek-R8169.cfg \
|
file://enable-realtek-R8169.cfg \
|
||||||
file://enable-usb_conn_gpio.cfg \
|
file://enable-usb_conn_gpio.cfg \
|
||||||
file://usb_xhci_pci_renesas.cfg \
|
file://usb_xhci_pci_renesas.cfg \
|
||||||
|
file://no-fsl-ifc-nand.cfg \
|
||||||
"
|
"
|
||||||
# Since we use the intree defconfig and the preempt-rt turns off some configs
|
# Since we use the intree defconfig and the preempt-rt turns off some configs
|
||||||
# do_kernel_configcheck will display warnings. So, lets disable it.
|
# do_kernel_configcheck will display warnings. So, lets disable it.
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ LICENSE = "BSD-3-Clause"
|
|||||||
|
|
||||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=bb63326febfb5fb909226c8e7ebcef5c"
|
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=bb63326febfb5fb909226c8e7ebcef5c"
|
||||||
|
|
||||||
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git;branch=master"
|
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/mark/boot-wrapper-aarch64.git;branch=master;protocol=https"
|
||||||
SRCREV = "1044c77062573985f7c994c3b6cef5695f57e955"
|
SRCREV = "1044c77062573985f7c994c3b6cef5695f57e955"
|
||||||
|
|
||||||
PV = "git${SRCPV}"
|
PV = "git${SRCPV}"
|
||||||
|
|||||||
@@ -101,9 +101,9 @@ def remove_options_tail (in_string):
|
|||||||
from itertools import takewhile
|
from itertools import takewhile
|
||||||
return ' '.join(takewhile(lambda x: not x.startswith('-'), in_string.split(' ')))
|
return ' '.join(takewhile(lambda x: not x.startswith('-'), in_string.split(' ')))
|
||||||
|
|
||||||
EXTRA_OEMAKE += "LD=${@remove_options_tail(d.getVar('LD'))}"
|
EXTRA_OEMAKE += "LD='${@remove_options_tail(d.getVar('LD'))}'"
|
||||||
|
|
||||||
EXTRA_OEMAKE += "CC=${@remove_options_tail(d.getVar('CC'))}"
|
EXTRA_OEMAKE += "CC='${@remove_options_tail(d.getVar('CC'))}'"
|
||||||
|
|
||||||
# Verbose builds, no -Werror
|
# Verbose builds, no -Werror
|
||||||
EXTRA_OEMAKE += "V=1 E=0"
|
EXTRA_OEMAKE += "V=1 E=0"
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
CONFIG_MTD_NAND_FSL_IFC=n
|
||||||
@@ -4,6 +4,7 @@ COMPATIBLE_MACHINE:generic-arm64 = "generic-arm64"
|
|||||||
FILESEXTRAPATHS:prepend:generic-arm64 = "${ARMFILESPATHS}"
|
FILESEXTRAPATHS:prepend:generic-arm64 = "${ARMFILESPATHS}"
|
||||||
SRC_URI:append:generic-arm64 = " \
|
SRC_URI:append:generic-arm64 = " \
|
||||||
file://tcpci.cfg \
|
file://tcpci.cfg \
|
||||||
|
file://no-fsl-ifc-nand.cfg \
|
||||||
"
|
"
|
||||||
|
|
||||||
FILESEXTRAPATHS:prepend:qemuarm64-secureboot = "${ARMFILESPATHS}"
|
FILESEXTRAPATHS:prepend:qemuarm64-secureboot = "${ARMFILESPATHS}"
|
||||||
|
|||||||
@@ -9,6 +9,6 @@ DEPENDS:append = "\
|
|||||||
|
|
||||||
EXTRA_OEMAKE:append = "${@bb.utils.contains('MACHINE_FEATURES', \
|
EXTRA_OEMAKE:append = "${@bb.utils.contains('MACHINE_FEATURES', \
|
||||||
'optee-ftpm', \
|
'optee-ftpm', \
|
||||||
'CFG_EARLY_TA=y EARLY_TA_PATHS="${STAGING_DIR_TARGET}/lib/optee_armtz/${FTPM_UUID}.stripped.elf"', \
|
'CFG_EARLY_TA=y EARLY_TA_PATHS="${STAGING_DIR_TARGET}/${base_libdir}/optee_armtz/${FTPM_UUID}.stripped.elf"', \
|
||||||
'', \
|
'', \
|
||||||
d)} "
|
d)} "
|
||||||
|
|||||||
Reference in New Issue
Block a user