Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions .config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -51,37 +51,37 @@ repos:
# bblayers.conf:
poky:
url: "https://git.yoctoproject.org/git/poky"
refspec: kirkstone
branch: kirkstone
layers:
meta:
meta-poky:
meta-yocto-bsp:
meta-lts-mixins-rust:
url: "https://git.yoctoproject.org/git/meta-lts-mixins"
refspec: kirkstone/rust-1.68
branch: kirkstone/rust-1.68
meta-lts-mixins-go:
url: "https://git.yoctoproject.org/git/meta-lts-mixins"
refspec: kirkstone/go
branch: kirkstone/go
meta-clang:
url: https://github.com/kraj/meta-clang
refspec: kirkstone
branch: kirkstone
meta-rauc-community:
url: "https://github.com/rauc/meta-rauc-community.git"
refspec: kirkstone
branch: kirkstone
layers:
meta-rauc-qemux86:
meta-rauc:
url: "https://github.com/rauc/meta-rauc.git"
refspec: kirkstone
branch: kirkstone
meta-kanto:
url: "https://github.com/eclipse-kanto/meta-kanto.git"
refspec: kirkstone
branch: kirkstone
meta-virtualization:
url: "https://git.yoctoproject.org/meta-virtualization"
refspec: kirkstone
branch: kirkstone
meta-openembedded:
url: "https://git.openembedded.org/meta-openembedded"
refspec: kirkstone
branch: kirkstone
layers:
meta-oe:
meta-filesystems:
Expand Down
30 changes: 4 additions & 26 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,20 +12,13 @@
# ********************************************************************************/

# See here for image contents: https://github.com/microsoft/vscode-dev-containers/tree/v0.245.2/containers/debian/.devcontainer/base.Dockerfile

# [Choice] Debian version (use bullseye on local arm64/Apple Silicon): bullseye, buster
ARG VARIANT="buster"
FROM mcr.microsoft.com/vscode/devcontainers/base:0-${VARIANT}

# ** [Optional] Uncomment this section to install additional packages. **
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
# && apt-get -y install --no-install-recommends <your-package-list-here>
FROM mcr.microsoft.com/devcontainers/base:debian

# Install Dependencies
RUN apt-get update
RUN DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends socat file gawk wget acl git diffstat unzip texinfo \
gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils \
iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint3 xterm python3-subunit \
iputils-ping python3-git python3-jinja2 libsdl1.2-dev pylint xterm python3-subunit \
mesa-common-dev zstd liblz4-tool tmux mc skopeo fdisk ruby-full jq \
libvirt-clients libvirt-daemon-system qemu-system-x86 qemu-system-arm qemu-kvm \
squashfs-tools rauc python3-newt
Expand All @@ -35,21 +28,6 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get -y install ca-certificates \
gnupg \
lsb-release

# Install blobfuse2 since blobfuse1 is not avaialable in MS repos for Debian 11
RUN sudo apt-get -y install software-properties-common \
&& curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - \
&& sudo apt-add-repository https://packages.microsoft.com/debian/11/prod/ \
&& sudo apt-get -y update \
&& sudo apt-get -y install libfuse3-dev fuse3 blobfuse2

# Update RAUC to 1.8.1 from Debian Testing channel
RUN sudo apt-add-repository 'deb http://deb.debian.org/debian/ testing main' \
&& sudo apt-get -y update \
&& sudo apt-get -y install -t testing rauc

# Try to enable KVM to improve performance of qemu-system-x86 on x86 hosts.
# This is also run in post-attach.sh
RUN /bin/bash -c "(groupadd --system kvm; gpasswd -a vscode kvm; chown root:kvm /dev/kvm; chmod 0660 /dev/kvm; echo 'KVM permissions set up') || true"

# Install kas tool to set up Yocto build environment
RUN pip3 install kas
RUN apt-get install -y pipx
RUN pipx install kas
18 changes: 15 additions & 3 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,16 @@
"name": "Debian",
"build": {
"dockerfile": "Dockerfile",
// Update 'VARIANT' to pick an Debian version: bullseye, buster
// Use bullseye on local arm64/Apple Silicon.
"args": { "VARIANT": "bullseye" }
"args": {
"HTTP_PROXY": "${localEnv:HTTP_PROXY}",
"HTTPS_PROXY": "${localEnv:HTTPS_PROXY}",
"http_proxy": "${localEnv:http_proxy}",
"https_proxy": "${localEnv:https_proxy}"
}
},
"runArgs": [
"--network=host"
],
"hostRequirements": {
"cpus": 2,
"memory": "4gb",
Expand All @@ -39,6 +45,12 @@

// Comment out to connect as root instead. More info: https://aka.ms/vscode-remote/containers/non-root.
"remoteUser": "vscode",
"remoteEnv": {
"HTTP_PROXY": "${localEnv:HTTP_PROXY}",
"HTTPS_PROXY": "${localEnv:HTTPS_PROXY}",
"http_proxy": "${localEnv:http_proxy}",
"https_proxy": "${localEnv:https_proxy}"
},
"features": {
"docker-in-docker": "latest",
"github-cli": "latest"
Expand Down
8 changes: 5 additions & 3 deletions .devcontainer/post-attach.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
# sudo gpasswd -a $USER kvm

# Enable KVM Device for access to user (as qemu us run as non-root
echo "Enabling KVM for user access..."
sudo chown root:kvm /dev/kvm
sudo chmod 0660 /dev/kvm

Expand Down Expand Up @@ -51,15 +52,16 @@ function azure-mount() {
fi
}


# Local mounting of caches for sstate and downloads
# First arg: local mount point
# Second arg: Name of Azure container
azure-mount "azure-sstate-cache" "yocto-sstate-cache"
azure-mount "azure-downloads-cache" "downloads"
# Example: azure-mount "azure-sstate-cache" "yocto-sstate-cache"
# Example: azure-mount "azure-downloads-cache" "downloads"

# There is a umask issue in GitHub codespaces
# possibly related to: https://github.com/orgs/community/discussions/26026
# which causes some recipes to fail to build, due to wrong permissions (e.g. gpsd)
if [ -n "$CODESPACE_VSCODE_FOLDER" ]; then
echo "Taking ownership of workspace folder for GitHub Codespaces bug #26026..."
take_workspace_ownership $(whoami) ${CODESPACE_VSCODE_FOLDER}
fi
5 changes: 3 additions & 2 deletions .devcontainer/post-start.sh
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,6 @@
# * SPDX-License-Identifier: Apache-2.0
# ********************************************************************************/

git clone https://github.com/openembedded/bitbake
bitbake/bin/bitbake-hashserv -b :1234 &
# Optional caching
# git clone https://github.com/openembedded/bitbake
# bitbake/bin/bitbake-hashserv -b :1234 &
4 changes: 2 additions & 2 deletions .github/workflows/auto-cherry-pick.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ on:

jobs:
cherry_pick_kirkstone:
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
name: Cherry pick into kirkstone
if: contains(github.event.pull_request.labels.*.name, 'kirkstone')
steps:
Expand All @@ -36,7 +36,7 @@ jobs:
labels: |
cherry-pick
cherry_pick_honister:
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
name: Cherry pick into honister
if: contains(github.event.pull_request.labels.*.name, 'honister')
steps:
Expand Down
13 changes: 8 additions & 5 deletions .github/workflows/build-container-images-qemux86-64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,12 @@

name: Build SDV application container images
on:
pull_request:
workflow_dispatch:

jobs:
build-container-images:
name: Build Container Images
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
Expand All @@ -28,7 +27,7 @@ jobs:
run: sudo apt-get update -y

- name: Install tools
run: sudo apt-get install -y --no-install-recommends socat file gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint xterm python3-subunit mesa-common-dev zstd liblz4-tool tmux mc skopeo fdisk ruby-full jq libvirt-clients libvirt-daemon-system qemu-system-x86 qemu-system-arm qemu-kvm squashfs-tools rauc python3-newt ca-certificates curl gnupg lsb-release
run: sudo apt-get install -y --no-install-recommends socat file gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libsdl1.2-dev pylint xterm python3-subunit mesa-common-dev zstd liblz4-tool tmux mc skopeo fdisk ruby-full jq libvirt-clients libvirt-daemon-system qemu-system-x86 qemu-system-arm qemu-kvm squashfs-tools rauc python3-newt ca-certificates curl gnupg lsb-release

- name: Install kas
run: sudo pip3 install kas
Expand All @@ -54,11 +53,15 @@ jobs:
path: build/cache
key: bb-cache-local

# See https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/2056555
- name: Apply fix for Bitbake on Ubuntu 24
run: sudo apparmor_parser -R /etc/apparmor.d/unprivileged_userns

- name: Build container images for Raspberry Pi 4
run: kas build kas/.config-kirkstone-rpi4.yaml:kas/mirrors.yaml --target sdv-container-images
run: kas build kas/.config-kirkstone-rpi4.yaml --target sdv-container-images

- name: Upload Raspberry Pi 4 (64bit) images
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: AppContainerImages_RaspberryPi4-64
if-no-files-found: error
Expand Down
13 changes: 8 additions & 5 deletions .github/workflows/build-container-images-raspberrypi4-64.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,12 @@

name: Build SDV application container images
on:
pull_request:
workflow_dispatch:

jobs:
build-container-images:
name: Build Container Images
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
Expand All @@ -28,7 +27,7 @@ jobs:
run: sudo apt-get update -y

- name: Install tools
run: sudo apt-get install -y --no-install-recommends socat file gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint xterm python3-subunit mesa-common-dev zstd liblz4-tool tmux mc skopeo fdisk ruby-full jq libvirt-clients libvirt-daemon-system qemu-system-x86 qemu-system-arm qemu-kvm squashfs-tools rauc python3-newt ca-certificates curl gnupg lsb-release
run: sudo apt-get install -y --no-install-recommends socat file gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libsdl1.2-dev pylint xterm python3-subunit mesa-common-dev zstd liblz4-tool tmux mc skopeo fdisk ruby-full jq libvirt-clients libvirt-daemon-system qemu-system-x86 qemu-system-arm qemu-kvm squashfs-tools rauc python3-newt ca-certificates curl gnupg lsb-release

- name: Install kas
run: sudo pip3 install kas
Expand All @@ -54,11 +53,15 @@ jobs:
path: build/cache
key: bb-cache-local

# See https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/2056555
- name: Apply fix for Bitbake on Ubuntu 24
run: sudo apparmor_parser -R /etc/apparmor.d/unprivileged_userns

- name: Build container images for QEMU x86-64
run: kas build kas/.config-kirkstone.yaml:kas/mirrors.yaml --target sdv-container-images
run: kas build kas/.config-kirkstone.yaml --target sdv-container-images

- name: Upload QEMU x86-64 images
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: AppContainerImages_QEMUx86-64
if-no-files-found: error
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/debian-leda-containers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ jobs:
version: '${{ env.package_version }}'
arch: 'all'
desc: 'Core and example container descriptors for Eclipse Leda (Software-Defined Vehicle)'
- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
with:
name: leda-containers
path:
Expand Down
7 changes: 5 additions & 2 deletions .github/workflows/dryrun.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@ on:
jobs:
mybranch:
name: Yocto (This Branch)
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Update apt
run: sudo apt-get update -y
- name: Install tools
run: sudo apt-get install -y --no-install-recommends socat file gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint xterm python3-subunit mesa-common-dev zstd liblz4-tool tmux mc skopeo fdisk ruby-full jq libvirt-clients libvirt-daemon-system qemu-system-x86 qemu-system-arm qemu-kvm squashfs-tools rauc python3-newt ca-certificates curl gnupg lsb-release
run: sudo apt-get install -y --no-install-recommends socat file gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libsdl1.2-dev pylint xterm python3-subunit mesa-common-dev zstd liblz4-tool tmux mc skopeo fdisk ruby-full jq libvirt-clients libvirt-daemon-system qemu-system-x86 qemu-system-arm qemu-kvm squashfs-tools rauc python3-newt ca-certificates curl gnupg lsb-release
- name: Install kas
run: sudo pip3 install kas
- name: Cache Downloads
Expand All @@ -47,6 +47,9 @@ jobs:
with:
path: build/cache
key: bb-cache-local
# See https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/2056555
- name: Apply fix for Bitbake on Ubuntu 24
run: sudo apparmor_parser -R /etc/apparmor.d/unprivileged_userns
- name: DryRun default (qemux86_64)
run: kas build -- --dry-run
- name: DryRun Raspberry Pi 4
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/generate-mirror.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,14 +35,14 @@ on:

jobs:
generate-mirror:
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Install tools
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends socat file gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint xterm python3-subunit mesa-common-dev zstd liblz4-tool tmux mc skopeo fdisk ruby-full jq libvirt-clients libvirt-daemon-system qemu-system-x86 qemu-system-arm qemu-kvm squashfs-tools rauc python3-newt ca-certificates curl gnupg lsb-release
sudo apt-get install -y --no-install-recommends socat file gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libsdl1.2-dev pylint xterm python3-subunit mesa-common-dev zstd liblz4-tool tmux mc skopeo fdisk ruby-full jq libvirt-clients libvirt-daemon-system qemu-system-x86 qemu-system-arm qemu-kvm squashfs-tools rauc python3-newt ca-certificates curl gnupg lsb-release
- name: Install kas
run: sudo pip3 install kas
- name: Fetch all
Expand Down
9 changes: 6 additions & 3 deletions .github/workflows/leda-utils.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,18 @@ on:
jobs:
leda-utils:
name: Leda Utils Recipe
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Update apt
run: sudo apt-get update -y
- name: Install tools
run: sudo apt-get install -y --no-install-recommends socat file gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint xterm python3-subunit mesa-common-dev zstd liblz4-tool tmux mc skopeo fdisk ruby-full jq libvirt-clients libvirt-daemon-system qemu-system-x86 qemu-system-arm qemu-kvm squashfs-tools rauc python3-newt ca-certificates curl gnupg lsb-release
run: sudo apt-get install -y --no-install-recommends socat file gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libsdl1.2-dev pylint xterm python3-subunit mesa-common-dev zstd liblz4-tool tmux mc skopeo fdisk ruby-full jq libvirt-clients libvirt-daemon-system qemu-system-x86 qemu-system-arm qemu-kvm squashfs-tools rauc python3-newt ca-certificates curl gnupg lsb-release
- name: Install kas
run: sudo pip3 install kas
# See https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/2056555
- name: Apply fix for Bitbake on Ubuntu 24
run: sudo apparmor_parser -R /etc/apparmor.d/unprivileged_userns
- name: Build leda-utils
run: kas build kas/.config-kirkstone.yaml:kas/mirrors.yaml --target leda-utils
run: kas build kas/.config-kirkstone.yaml --target leda-utils
14 changes: 2 additions & 12 deletions .github/workflows/poky-sdv-core-selfhosted.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
- name: Install tools
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends socat file gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev pylint xterm python3-subunit mesa-common-dev zstd liblz4-tool tmux mc skopeo fdisk ruby-full jq libvirt-clients libvirt-daemon-system qemu-system-x86 qemu-system-arm qemu-kvm squashfs-tools rauc python3-newt ca-certificates curl gnupg lsb-release
sudo apt-get install -y --no-install-recommends socat file gawk wget git diffstat unzip texinfo gcc build-essential chrpath socat cpio python3 python3-pip python3-pexpect xz-utils debianutils iputils-ping python3-git python3-jinja2 libsdl1.2-dev pylint xterm python3-subunit mesa-common-dev zstd liblz4-tool tmux mc skopeo fdisk ruby-full jq libvirt-clients libvirt-daemon-system qemu-system-x86 qemu-system-arm qemu-kvm squashfs-tools rauc python3-newt ca-certificates curl gnupg lsb-release

- name: Install kas
run: sudo pip3 install kas
Expand All @@ -44,18 +44,8 @@ jobs:
time xz -v -8 -T0 ${ARC}

- name: Upload build artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: poky-minimal-sdv-core-qemu-x86_64.tar.xz
if-no-files-found: error
path: poky-minimal-sdv-core-qemu-x86_64.tar.xz

- name: Upload SSTATE cache
uses: bacongobbler/[email protected]
if: github.repository_owner == 'SoftwareDefinedVehicle'
with:
source_dir: 'build/sstate-cache/'
extra_args: '--destination-path sstate-cache/'
container_name: 'yocto-sstate-cache'
overwrite: 'true'
connection_string: ${{ secrets.AZURE_STORAGE_CONNECTION_STRING }}
8 changes: 6 additions & 2 deletions .github/workflows/poky-sdv-core.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ jobs:

poky-core-qemux86_64:
name: "poky-minimal-sdv-core-qemux86_64"
runs-on: ubuntu-22.04
runs-on: ubuntu-latest
continue-on-error: true
steps:

Expand All @@ -23,6 +23,10 @@ jobs:
- name: Install kas
run: sudo pip3 install kas

# See https://bugs.launchpad.net/ubuntu/+source/apparmor/+bug/2056555
- name: Apply fix for Bitbake on Ubuntu 24
run: sudo apparmor_parser -R /etc/apparmor.d/unprivileged_userns

- name: Build poky-core-image-minimal + sdv-core
env:
KAS_MACHINE: qemux86-64
Expand All @@ -44,7 +48,7 @@ jobs:
time xz -v -8 -T0 ${ARC}

- name: Upload build artifacts
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: poky-minimal-sdv-core-qemu-x86_64.tar.xz
if-no-files-found: error
Expand Down
Loading