# Psplash causes crash on first boot on RPi
IMAGE_FEATURES:remove = "splash"
-# Build updatable image. Only takes effect when sota.bbclass is inherited
-DISTRO_FEATURES:append = " sota"
-
-# Add xen build, if the xen feature activated
-DISTRO_FEATURES:append = " ${@bb.utils.contains('AGL_XEN_WANTED', '1', ' xen', '', d)}"
-
-# add xen-tools to build
-IMAGE_INSTALL:append = " ${@bb.utils.contains('AGL_XEN_WANTED', '1', 'xen-tools xen-mkimage-rpi4', '', d)}"
-
-# Add xen-raspberry binary to boot files
-IMAGE_BOOT_FILES:append = " ${@bb.utils.contains('AGL_XEN_WANTED','1', 'xen-${MACHINE}', '',d)}"
-
#DISPLAY CONFIGURATION
WESTON_DISPLAYS:raspberrypi4 = " hdmi-a-1-90 hdmi-a-2-90"
# Add CMA to the kernel arguments for SOTA
OSTREE_KERNEL_ARGS:sota:append = " cma=256M"
-# use u-boot always (RPi5 U-boot is not ready yet)
-RPI_USE_U_BOOT = "0"
+# use u-boot always
+RPI_USE_U_BOOT = "1"
+
+# Re-enable U-Boot for raspberrypi5 here until upstream is fixed.
+# Note that this assumes the use of scarthgap/u-boot meta-lts-mixins
+# branch.
+UBOOT_MACHINE = "rpi_arm64_config"
+COMPATIBLE_MACHINE:pn-u-boot:forcevariable = ""
+KERNEL_IMAGETYPE_UBOOT ?= "Image"
+KERNEL_BOOTCMD ?= "booti"
# Use UART for serial console
ENABLE_UART ?= "1"
# For libomxil
#LICENSE_FLAGS_ACCEPTED = "commercial"
-IMAGE_INSTALL:append = " kernel-modules linux-firmware-rpidistro-bcm43430 linux-firmware-rpidistro-bcm43455 create-combined-dtb "
+# For linux-firmware-rpidistro
+LICENSE_FLAGS_ACCEPTED += "synaptics-killswitch"
+
+IMAGE_INSTALL:append = " kernel-modules create-combined-dtb "
# Psplash causes crash on first boot on RPi
IMAGE_FEATURES:remove = "splash"
-# Build updatable image. Only takes effect when sota.bbclass is inherited
-DISTRO_FEATURES:append = " sota"
-
-# Add xen build, if the xen feature activated
-DISTRO_FEATURES:append = " ${@bb.utils.contains('AGL_XEN_WANTED', '1', ' xen', '', d)}"
-
-# add xen-tools to build
-IMAGE_INSTALL:append = " ${@bb.utils.contains('AGL_XEN_WANTED', '1', 'xen-tools xen-mkimage-rpi4', '', d)}"
-
-# Add xen-raspberry binary to boot files
-IMAGE_BOOT_FILES:append = " ${@bb.utils.contains('AGL_XEN_WANTED','1', 'xen-${MACHINE}', '',d)}"
-
#DISPLAY CONFIGURATION
WESTON_DISPLAYS:raspberrypi5 = " hdmi-a-1-90 hdmi-a-2-90"
BBFILE_PATTERN_aglbsp = "^${LAYERDIR}/"
BBFILE_PRIORITY_aglbsp = "60"
-LAYERSERIES_COMPAT_aglbsp = "scarthgap"
+LAYERSERIES_COMPAT_aglbsp = "styhead"
file://refhw.conf \
"
+S = "${WORKDIR}/sources"
+UNPACKDIR = "${S}"
+
inherit update-alternatives
do_configure[noexec] = "1"
do_compile[noexec] = "1"
do_install() {
- install -D -m 0644 ${WORKDIR}/gpsd.refhw ${D}/${sysconfdir}/default/gpsd.refhw
+ install -D -m 0644 ${UNPACKDIR}/gpsd.refhw ${D}/${sysconfdir}/default/gpsd.refhw
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -D -m 0755 ${WORKDIR}/refhw-gpsd-helper.sh ${D}/${sbindir}/refhw-gpsd-helper.sh
+ install -D -m 0755 ${UNPACKDIR}/refhw-gpsd-helper.sh ${D}/${sbindir}/refhw-gpsd-helper.sh
install -d ${D}${sysconfdir}/systemd/system/gpsd.service.d
- install -D -m 0644 ${WORKDIR}/refhw.conf ${D}${sysconfdir}/systemd/system/gpsd.service.d/refhw.conf
+ install -D -m 0644 ${UNPACKDIR}/refhw.conf ${D}${sysconfdir}/systemd/system/gpsd.service.d/refhw.conf
fi
}
file://hci-uart-helper.sh \
"
+S = "${WORKDIR}/sources"
+UNPACKDIR = "${S}"
+
COMPATIBLE_MACHINE = "imx8mq-evk"
do_configure[noexec] = "1"
do_install() {
# Install helper script
install -d ${D}${sbindir}
- install -m 0755 ${WORKDIR}/hci-uart-helper.sh ${D}${sbindir}/
+ install -m 0755 ${UNPACKDIR}/hci-uart-helper.sh ${D}${sbindir}/
# Install systemd unit
install -d ${D}${systemd_system_unitdir}/
- install -m 0644 ${WORKDIR}/hci-uart-helper.service ${D}${systemd_system_unitdir}/
+ install -m 0644 ${UNPACKDIR}/hci-uart-helper.service ${D}${systemd_system_unitdir}/
install -d ${D}${systemd_system_unitdir}/bluetooth.service.wants
ln -s ../hci-uart-helper.service ${D}${systemd_system_unitdir}/bluetooth.service.wants/
}
+++ /dev/null
-#
-# SPDX-License-Identifier: MIT
-#
-# Copyright (c) 2020, MERA
-#
-# Author: Leonid Lazarev
-#
-# Xen Boot Script
-#
-# https://www.raspberrypi.org/documentation/configuration/device-tree.md
-# We do not set fdt_addr, because device tree initially is loaded by raspberry pi firmware loader and the particular
-# modification are performed. The prepared DTS is propagated to u-boot and this prepared device tree has to be reused.
-
-setenv kernel_addr_r 0x00480000 # 16M
-setenv xen_addr_r 0x00200000 # 2M
-
-# Load xen to ${xen_addr_r}.
-fatload mmc 0:1 ${xen_addr_r} /xen-@@MACHINE@@
-
-#configure dom0
-fdt addr ${fdt_addr}
-
-#read prepared bootargs, rapsberry pi prepared initial list of the parameters for loading
-fdt get value bootargs /chosen bootargs
-fdt resize 8192
-
-# add device type for raspberry
-fdt set pcie0 device_type "pci"
-
-fdt chosen
-fdt set /chosen \#address-cells <1>
-fdt set /chosen \#size-cells <1>
-
-# Load Linux Image to ${kernel_addr_r}
-fatload mmc 0:1 ${kernel_addr_r} /@@KERNEL_IMAGETYPE@@
-
-# we load dom0 with 1512 MB of memory
-fdt mknod /chosen dom0
-fdt set /chosen xen,xen-bootargs "console=dtuart dtuart=/soc/serial@7e215040 sync_console dom0_mem=1512M bootscrub=0"
-fdt set /chosen xen,dom0-bootargs "${bootargs}"
-
-fdt set /chosen/dom0 compatible "xen,linux-zimage", "xen,multiboot-module"
-fdt set /chosen/dom0 reg <${kernel_addr_r} 0x${filesize} >
-
-@@KERNEL_BOOTCMD@@ ${xen_addr_r} - ${fdt_addr}
+++ /dev/null
-FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
-
-SRC_URI:append =" \
- ${@bb.utils.contains('AGL_XEN_WANTED','1',' file://boot_xen.cmd','',d)} \
-"
-
-do_compile:append() {
-
- # if xen feature is activated we overwirte the boot script with xen specific one
- if [ "${AGL_XEN_WANTED}" = "1" ]; then
- sed -e 's/@@KERNEL_IMAGETYPE@@/${KERNEL_IMAGETYPE}/' \
- -e 's/@@KERNEL_BOOTCMD@@/${KERNEL_BOOTCMD}/' \
- -e 's/@@MACHINE@@/${MACHINE}/' \
- "${WORKDIR}/boot_xen.cmd" > "${WORKDIR}/boot.cmd"
-
- mkimage -A arm -T script -C none -n "Boot script" -d "${WORKDIR}/boot.cmd" boot.scr
- fi
-}
\ No newline at end of file
+++ /dev/null
-DESCRIPTION = "Boot script for launching OTA-enabled images on raspberrypi"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-
-DEPENDS = "u-boot-mkimage-native"
-
-COMPATIBLE_MACHINE = "raspberrypi"
-
-SRC_URI = "file://boot.scr \
- file://uEnv.txt \
- file://uEnv.cma.txt \
- "
-
-S = "${WORKDIR}"
-
-inherit deploy
-
-do_deploy() {
- install -d ${DEPLOYDIR}/bcm2835-bootfiles
-
- mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "Ostree boot script" -d ${S}/boot.scr ${DEPLOYDIR}/bcm2835-bootfiles/boot.scr
- if [ "${ENABLE_CMA}" = "1" ]; then
- install -m 0755 ${S}/uEnv.cma.txt ${DEPLOYDIR}/bcm2835-bootfiles/uEnv.txt
- else
- install -m 0755 ${S}/uEnv.txt ${DEPLOYDIR}/bcm2835-bootfiles/uEnv.txt
- fi
-}
-
-addtask deploy before do_package after do_install
-do_deploy[dirs] += "${DEPLOYDIR}/bcm2835-bootfiles"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
+++ /dev/null
-fatload mmc 0:1 $loadaddr /uEnv.txt
-env import -t $loadaddr $filesize
-run bootcmd
+++ /dev/null
-bootcmd_resetvars=setenv kernel_image; setenv bootargs; setenv kernel_image2; setenv bootargs2
-bootcmd_otenv=run bootcmd_resetvars; load mmc 0:2 $loadaddr /boot/loader/uEnv.txt; env import -t $loadaddr $filesize
-bootcmd_rollbackenv=setenv kernel_image ${kernel_image2}; setenv bootargs ${bootargs2}
-
-bootcmd_args=setenv bootargs "$bootargs $bootargs_fdt ostree_root=/dev/mmcblk0p2 root=/dev/ram0 rw rootwait rootdelay=2 ramdisk_size=8192 panic=1 coherent_pool=6M smsc95xx.turbo_mode=N"
-
-bootcmd_getroot=setexpr ostree_root gsub "^.*ostree=([^ ]*).*$" "\\\\1" "${bootargs}";
-
-bootcmd_fitconf=run bootcmd_getroot; if test -e mmc 0:2 "${ostree_root}/usr/lib/fit_conf"; then load mmc 0:2 $loadaddr "${ostree_root}/usr/lib/fit_conf"; env import -t $loadaddr $filesize; fi
-
-bootcmd_load=load mmc 0:2 $ramdisk_addr_r "/boot"$kernel_image
-bootcmd_run=bootm "${ramdisk_addr_r}${fit_conf}"
-
-bootcmd_create_envfile=if test ! -e mmc 0:1 uboot.env; then saveenv; fi;
-
-bootlimit=3
-
-bootcmd=if test "${rollback}" = "1"; then run altbootcmd; else run bootcmd_create_envfile; run bootcmd_otenv; run bootcmd_args; run bootcmd_fitconf; run bootcmd_load; run bootcmd_run; if ! "${upgrade_available}" = "1"; then setenv upgrade_available 1; saveenv; fi; reset; fi
-
-bootcmd_set_rollback=if test ! "${rollback}" = "1"; then setenv rollback 1; setenv upgrade_available 0; saveenv; fi
-altbootcmd=run bootcmd_create_envfile; run bootcmd_otenv; run bootcmd_set_rollback; if test -n "${kernel_image2}"; then run bootcmd_rollbackenv; fi; run bootcmd_args; run bootcmd_fitconf; run bootcmd_load; run bootcmd_run; reset
+++ /dev/null
-bootcmd_resetvars=setenv kernel_image; setenv bootargs; setenv kernel_image2; setenv bootargs2
-bootcmd_otenv=run bootcmd_resetvars; load mmc 0:2 $loadaddr /boot/loader/uEnv.txt; env import -t $loadaddr $filesize
-bootcmd_rollbackenv=setenv kernel_image ${kernel_image2}; setenv bootargs ${bootargs2}
-
-bootcmd_args=setenv bootargs "$bootargs $bootargs_fdt ostree_root=/dev/mmcblk0p2 root=/dev/ram0 rw rootwait rootdelay=2 ramdisk_size=8192 panic=1"
-
-bootcmd_getroot=setexpr ostree_root gsub "^.*ostree=([^ ]*).*$" "\\\\1" "${bootargs}";
-
-bootcmd_fitconf=run bootcmd_getroot; if test -e mmc 0:2 "${ostree_root}/usr/lib/fit_conf"; then load mmc 0:2 $loadaddr "${ostree_root}/usr/lib/fit_conf"; env import -t $loadaddr $filesize; fi
-
-bootcmd_load=load mmc 0:2 $ramdisk_addr_r "/boot"$kernel_image
-bootcmd_run=bootm "${ramdisk_addr_r}${fit_conf}"
-
-bootcmd_create_envfile=if test ! -e mmc 0:1 uboot.env; then saveenv; fi;
-
-bootlimit=3
-
-bootcmd=if test "${rollback}" = "1"; then run altbootcmd; else run bootcmd_create_envfile; run bootcmd_otenv; run bootcmd_args; run bootcmd_fitconf; run bootcmd_load; run bootcmd_run; if ! "${upgrade_available}" = "1"; then setenv upgrade_available 1; saveenv; fi; reset; fi
-
-bootcmd_set_rollback=if test ! "${rollback}" = "1"; then setenv rollback 1; setenv upgrade_available 0; saveenv; fi
-altbootcmd=run bootcmd_create_envfile; run bootcmd_otenv; run bootcmd_set_rollback; if test -n "${kernel_image2}"; then run bootcmd_rollbackenv; fi; run bootcmd_args; run bootcmd_fitconf; run bootcmd_load; run bootcmd_run; reset
SUMMARY = "Combine dtb and dtbo"
DESCRIPTION = "Combine specified dtb and one or more dtbo into specified filename found in deploydir"
SECTION = "bootloader"
-PR = "r1"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
DEPENDS = "dtc-native"
-ALLOW_EMPTY:${PN} = "1"
-FILES:${PN} = ""
-
-S = "${WORKDIR}"
+S = "${WORKDIR}/sources"
+UNPACKDIR = "${S}"
do_compile[depends] += "virtual/kernel:do_deploy"
}
addtask deploy after do_install
+
+ALLOW_EMPTY:${PN} = "1"
+FILES:${PN} = ""
BBFILE_PATTERN_rcar-gen3-cogent := "^${LAYERDIR}/"
BBFILE_PRIORITY_rcar-gen3-cogent = "7"
-LAYERSERIES_COMPAT_rcar-gen3-cogent = "scarthgap"
+LAYERSERIES_COMPAT_rcar-gen3-cogent = "styhead"
SRC_URI = "file://si-init.service"
+S = "${WORKDIR}/sources"
+UNPACKDIR = "${S}"
+
do_configure[noexec] = "1"
do_compile[noexec] = "1"
do_install() {
install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/si-init.service ${D}${systemd_system_unitdir}
+ install -m 0644 ${UNPACKDIR}/si-init.service ${D}${systemd_system_unitdir}
# Add symlink to sysinit.target.wants
install -d ${D}${sysconfdir}/systemd/system/sysinit.target.wants
SYSTEMD_SERVICE:${PN} = "ti-uim.service"
-PR = "r0"
PV = "0.1+git${SRCPV}"
do_install:append() {
rm -f ${D}/${sysconfdir}/modprobe.d/ti_bt.conf
install -d ${D}${systemd_unitdir}/system/
- install -m 0644 ${WORKDIR}/ti-uim.service ${D}${systemd_unitdir}/system
+ install -m 0644 ${UNPACKDIR}/ti-uim.service ${D}${systemd_unitdir}/system
}
SRC_URI = "file://gpsd.kingfisher"
+S = "${WORKDIR}/sources"
+UNPACKDIR = "${S}"
+
inherit update-alternatives
do_configure[noexec] = "1"
do_install() {
install -d ${D}/${sysconfdir}/default
- install -m 0644 ${WORKDIR}/gpsd.kingfisher ${D}/${sysconfdir}/default/gpsd.kingfisher
+ install -m 0644 ${UNPACKDIR}/gpsd.kingfisher ${D}/${sysconfdir}/default/gpsd.kingfisher
}
COMPATIBLE_MACHINE = "ulcb"
+++ /dev/null
-DESCRIPTION = "Boot files (bootscripts etc.) for Renesas RCar-M3 board"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-
-inherit deploy
-
-COMPATIBLE_MACHINE = "(salvator-x|m3ulcb|h3ulcb|ebisu)"
-
-S = "${WORKDIR}"
-
-SRC_URI:append:sota = " file://uEnv-ota-m3ulcb.txt \
- file://uEnv-ota-h3ulcb.txt \
- file://uEnv-ota-h3-salvator-xs \
- file://uEnv-ota-m3-salvator-xs"
-do_deploy() {
- install -d ${DEPLOYDIR}/${PN}
-}
-
-do_deploy:append:sota() {
- install -m 0755 ${WORKDIR}/uEnv-ota-${BOARD_NAME}.txt ${DEPLOYDIR}/${PN}/uEnv.txt
-}
-
-addtask deploy before do_package after do_install
-do_deploy[dirs] += "${DEPLOYDIR}/${PN}"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
+++ /dev/null
-From 57575ce80a96411bce828be6fc84ebd2ed003810 Mon Sep 17 00:00:00 2001
-From: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
-Date: Tue, 12 Sep 2023 22:50:28 +0200
-Subject: [PATCH] [WIP] Make BSP work under YP kirkstone
-
-This fixes build issues when using the layer with YP 'kirkstone' branch.
-
-check-config.sh can be solved differently as well.
-binman/control.py needs a little investigation
-
-Upstream-Status: Inappropriate
-Signed-off-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
----
- scripts/check-config.sh | 2 +-
- tools/binman/control.py | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/scripts/check-config.sh b/scripts/check-config.sh
-index cc1c9a54d9..633c69eb76 100755
---- a/scripts/check-config.sh
-+++ b/scripts/check-config.sh
-@@ -57,7 +57,7 @@ if [ -s ${new_adhoc} ]; then
- echo >&2 "Please add these via Kconfig instead. Find a suitable Kconfig"
- echo >&2 "file and add a 'config' or 'menuconfig' option."
- # Don't delete the temporary files in case they are useful
-- exit 1
-+ exit 0
- else
- rm ${suspects} ${ok} ${new_adhoc}
- fi
-diff --git a/tools/binman/control.py b/tools/binman/control.py
-index 47aac207b4..3d013dea17 100644
---- a/tools/binman/control.py
-+++ b/tools/binman/control.py
-@@ -8,7 +8,7 @@
- from collections import OrderedDict
- import glob
- import os
--import pkg_resources
-+#import pkg_resources
- import re
-
- import sys
---
-2.35.3
-
+++ /dev/null
-FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
-
-SRC_URI:append = " file://0001-WIP-Make-BSP-work-under-YP-kirkstone.patch "
--- /dev/null
+From 7335a36d0b5c1c597566f9aa3f458a5b6817c3b4 Mon Sep 17 00:00:00 2001
+From: aurel32 <aurelien@aurel32.net>
+Date: Fri, 22 Mar 2024 14:21:13 -0700
+Subject: [PATCH] PR #1644: unscaledcycleclock: remove RISC-V support
+
+Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1644
+
+Starting with Linux 6.6 [1], RDCYCLE is a privileged instruction on RISC-V and can't be used directly from userland. There is a sysctl option to change that as a transition period, but it will eventually disappear.
+
+The RDTIME instruction is another less accurate alternative, however its frequency varies from board to board, and there is currently now way to get its frequency from userland [2].
+
+Therefore this patch just removes the code for unscaledcycleclock on RISC-V. Without processor specific implementation, abseil relies on std::chrono::steady_clock::now().time_since_epoch() which is basically a wrapper around clock_gettime (CLOCK_MONOTONIC), which in turns use __vdso_clock_gettime(). On RISC-V this VDSO is just a wrapper around RDTIME correctly scaled to use nanoseconds units.
+
+This fixes the testsuite on riscv64, tested on a VisionFive 2 board.
+
+[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cc4c07c89aada16229084eeb93895c95b7eabaa3
+[2] https://github.com/abseil/abseil-cpp/pull/1631
+Merge 43356a2548cfde76e164d446cb69004b488c6a71 into 76f8011beabdaee872b5fde7546e02407b220cb1
+
+Merging this change closes #1644
+
+COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1644 from aurel32:rv64-no-unscaledcycleclock 43356a2548cfde76e164d446cb69004b488c6a71
+PiperOrigin-RevId: 618286262
+Change-Id: Ie4120a727e7d0bb185df6e06ea145c780ebe6652
+
+Upstream-Status: Backport [https://github.com/abseil/abseil-cpp/commit/7335a36d]
+[Adapted to apply on top of meta-oe's patch stack]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+---
+ absl/base/internal/unscaledcycleclock.cc | 12 ------------
+ absl/base/internal/unscaledcycleclock_config.h | 5 ++---
+ 2 files changed, 2 insertions(+), 15 deletions(-)
+
+diff --git a/absl/base/internal/unscaledcycleclock.cc b/absl/base/internal/unscaledcycleclock.cc
+index f11fecb3..103b4f6a 100644
+--- a/absl/base/internal/unscaledcycleclock.cc
++++ b/absl/base/internal/unscaledcycleclock.cc
+@@ -121,18 +121,6 @@ double UnscaledCycleClock::Frequency() {
+ return aarch64_timer_frequency;
+ }
+
+-#elif defined(__riscv)
+-
+-int64_t UnscaledCycleClock::Now() {
+- int64_t virtual_timer_value;
+- asm volatile("rdcycle %0" : "=r"(virtual_timer_value));
+- return virtual_timer_value;
+-}
+-
+-double UnscaledCycleClock::Frequency() {
+- return base_internal::NominalCPUFrequency();
+-}
+-
+ #elif defined(_M_IX86) || defined(_M_X64)
+
+ #pragma intrinsic(__rdtsc)
+diff --git a/absl/base/internal/unscaledcycleclock_config.h b/absl/base/internal/unscaledcycleclock_config.h
+index 5e232c1a..83552fc5 100644
+--- a/absl/base/internal/unscaledcycleclock_config.h
++++ b/absl/base/internal/unscaledcycleclock_config.h
+@@ -22,7 +22,6 @@
+ // The following platforms have an implementation of a hardware counter.
+ #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \
+ ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \
+- defined(__riscv) || \
+ defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
+ #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
+ #else
+@@ -54,8 +53,8 @@
+ #if ABSL_USE_UNSCALED_CYCLECLOCK
+ // This macro can be used to test if UnscaledCycleClock::Frequency()
+ // is NominalCPUFrequency() on a particular platform.
+-#if (defined(__i386__) || defined(__x86_64__) || defined(__riscv) || \
+- defined(_M_IX86) || defined(_M_X64))
++#if (defined(__i386__) || defined(__x86_64__) || defined(_M_IX86) || \
++ defined(_M_X64))
+ #define ABSL_INTERNAL_UNSCALED_CYCLECLOCK_FREQUENCY_IS_CPU_FREQUENCY
+ #endif
+ #endif
+--
+2.44.0
+
--- /dev/null
+FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
+
+SRC_URI += "file://0001-PR-1644-unscaledcycleclock-remove-RISC-V-support.patch"
--- /dev/null
+From 7335a36d0b5c1c597566f9aa3f458a5b6817c3b4 Mon Sep 17 00:00:00 2001
+From: aurel32 <aurelien@aurel32.net>
+Date: Fri, 22 Mar 2024 14:21:13 -0700
+Subject: [PATCH] PR #1644: unscaledcycleclock: remove RISC-V support
+
+Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1644
+
+Starting with Linux 6.6 [1], RDCYCLE is a privileged instruction on RISC-V and can't be used directly from userland. There is a sysctl option to change that as a transition period, but it will eventually disappear.
+
+The RDTIME instruction is another less accurate alternative, however its frequency varies from board to board, and there is currently now way to get its frequency from userland [2].
+
+Therefore this patch just removes the code for unscaledcycleclock on RISC-V. Without processor specific implementation, abseil relies on std::chrono::steady_clock::now().time_since_epoch() which is basically a wrapper around clock_gettime (CLOCK_MONOTONIC), which in turns use __vdso_clock_gettime(). On RISC-V this VDSO is just a wrapper around RDTIME correctly scaled to use nanoseconds units.
+
+This fixes the testsuite on riscv64, tested on a VisionFive 2 board.
+
+[1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cc4c07c89aada16229084eeb93895c95b7eabaa3
+[2] https://github.com/abseil/abseil-cpp/pull/1631
+Merge 43356a2548cfde76e164d446cb69004b488c6a71 into 76f8011beabdaee872b5fde7546e02407b220cb1
+
+Merging this change closes #1644
+
+COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1644 from aurel32:rv64-no-unscaledcycleclock 43356a2548cfde76e164d446cb69004b488c6a71
+PiperOrigin-RevId: 618286262
+Change-Id: Ie4120a727e7d0bb185df6e06ea145c780ebe6652
+
+Upstream-Status: Backport [https://github.com/abseil/abseil-cpp/commit/7335a36d]
+[Adapted to apply on top of meta-oe's patch stack]
+Signed-off-by: Scott Murray <scott.murray@konsulko.com>
+---
+ .../absl/base/internal/unscaledcycleclock.cc | 12 ------------
+ .../absl/base/internal/unscaledcycleclock_config.h | 5 ++---
+ 2 files changed, 2 insertions(+), 15 deletions(-)
+
+diff --git a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc
+index f11fecb..103b4f6 100644
+--- a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc
++++ b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc
+@@ -121,18 +121,6 @@ double UnscaledCycleClock::Frequency() {
+ return aarch64_timer_frequency;
+ }
+
+-#elif defined(__riscv)
+-
+-int64_t UnscaledCycleClock::Now() {
+- int64_t virtual_timer_value;
+- asm volatile("rdcycle %0" : "=r"(virtual_timer_value));
+- return virtual_timer_value;
+-}
+-
+-double UnscaledCycleClock::Frequency() {
+- return base_internal::NominalCPUFrequency();
+-}
+-
+ #elif defined(_M_IX86) || defined(_M_X64)
+
+ #pragma intrinsic(__rdtsc)
+diff --git a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h
+index 5e232c1..83552fc 100644
+--- a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h
++++ b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h
+@@ -22,7 +22,6 @@
+ // The following platforms have an implementation of a hardware counter.
+ #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \
+ ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \
+- defined(__riscv) || \
+ defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
+ #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
+ #else
+@@ -54,8 +53,8 @@
+ #if ABSL_USE_UNSCALED_CYCLECLOCK
+ // This macro can be used to test if UnscaledCycleClock::Frequency()
+ // is NominalCPUFrequency() on a particular platform.
+-#if (defined(__i386__) || defined(__x86_64__) || defined(__riscv) || \
+- defined(_M_IX86) || defined(_M_X64))
++#if (defined(__i386__) || defined(__x86_64__) || defined(_M_IX86) || \
++ defined(_M_X64))
+ #define ABSL_INTERNAL_UNSCALED_CYCLECLOCK_FREQUENCY_IS_CPU_FREQUENCY
+ #endif
+ #endif
+--
+2.44.0
+
--- /dev/null
+FILESEXTRAPATHS:prepend := "${THISDIR}/${BPN}:"
+
+SRC_URI += "file://0001-PR-1644-unscaledcycleclock-remove-RISC-V-support.patch"
+++ /dev/null
-From 2701d65271686dff0cb39ab7da1e821f5dede61e Mon Sep 17 00:00:00 2001
-From: Leonid Lazarev <leonid.lazarev@mera.com>
-Date: Tue, 21 Apr 2020 17:28:16 +0300
-Subject: [PATCH] XEN on RPi4 1GB lmitation workaround: XEN tries to allocated
- the memopry for dom0 within first 4GB, but for some reason raspberry pi only
- allows to load kernel from 1st GB. Push XEN to allocate first bank for dom0
- from 1st GB
-
----
- xen/arch/arm/domain_build.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
-index dd9c3b73ba..8501a8c8aa 100644
---- a/xen/arch/arm/domain_build.c
-+++ b/xen/arch/arm/domain_build.c
-@@ -281,7 +281,7 @@ static void __init allocate_memory_11(struct domain *d,
- */
- while ( order >= min_low_order )
- {
-- for ( bits = order ; bits <= (lowmem ? 32 : PADDR_BITS); bits++ )
-+ for ( bits = order ; bits <= (lowmem ? 30 : PADDR_BITS); bits++ )
- {
- pg = alloc_domheap_pages(d, order, MEMF_bits(bits));
- if ( pg != NULL )
---
-2.17.1
-
+++ /dev/null
-DESCRIPTION = "Xen hypervisor u-boot image"
-LICENSE = "GPL-2.0-only"
-SECTION = "console/tools"
-
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
-
-
-
-ALLOW_EMPTY:${PN} = "1"
-FILES:${PN} = ""
-S = "${WORKDIR}"
-
-DEPENDS = "u-boot-mkimage-native "
-
-# Only for aarch64
-COMPATIBLE_MACHINE = "(-)"
-COMPATIBLE_MACHINE:aarch64 = "(.*)"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-do_configure[noexec] = "1"
-do_deploy[noexec] = "1"
-
-do_compile[depends] += "xen:do_deploy"
-
-# Uboot compatible image
-do_compile () {
- uboot-mkimage -A arm64 -C none -T kernel -a 0x48080000 -e 0x48080000 -n "XEN" -d ${DEPLOY_DIR_IMAGE}/xen-${MACHINE} ${DEPLOY_DIR_IMAGE}/xen-${MACHINE}.uImage
-}
+++ /dev/null
-
-# make the package specific to the machine for now
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-# rpi4
-LIC_FILES_CHKSUM:raspberrypi4 = "file://COPYING;md5=4295d895d4b5ce9d070263d52f030e49"
-XEN_REL:raspberrypi4 = "4.13"
-SRCREV:raspberrypi4 = "721f2c323ca55c77857c93e7275b4a93a0e15e1f"
-SRC_URI:raspberrypi4 = " \
- git://xenbits.xen.org/xen.git;branch=${XEN_BRANCH} \
- "
+++ /dev/null
-FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
-
-# make the package machine-specific
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-# rpi4 specifics
-LIC_FILES_CHKSUM:raspberrypi4 = "file://COPYING;md5=4295d895d4b5ce9d070263d52f030e49"
-XEN_REL:raspberrypi4 = "4.13"
-
-SRCREV:raspberrypi4 = "721f2c323ca55c77857c93e7275b4a93a0e15e1f"
-SRC_URI:append:raspberrypi4 = " file://0001-XEN-on-RPi4-1GB-lmitation-workaround-XEN-tries-to-al.patch"
-
-#due to incorrect xen binary preparation in external library, we add additional deploy
-do_deploy:append:raspberrypi4() {
- if [ -f ${B}/xen/xen ]; then
- install -m 0644 ${B}/xen/xen ${DEPLOYDIR}/xen-${MACHINE}
- fi
-}
# Release flags
DISTRO_CODENAME = "ricefish"
AGL_BRANCH = "master"
-AGLVERSION = "17.90.0"
+AGLVERSION = "17.91.0"
# switch devel/release
#AGLRELEASETYPE ?= "agldevelopment"
# reproducible builds:
# Set the desired timestamps
# E.g. update for (major) releases
-export SOURCE_DATE_EPOCH = "1706800000"
-REPRODUCIBLE_TIMESTAMP_ROOTFS = "1706800000"
+export SOURCE_DATE_EPOCH = "1718000000"
+REPRODUCIBLE_TIMESTAMP_ROOTFS = "1718000000"
# SDK
qt5-layer:${LAYERDIR}/dynamic-layers/meta-qt5/*/*/*.bbappend \
"
-LAYERSERIES_COMPAT_aglcore = "scarthgap"
+LAYERSERIES_COMPAT_aglcore = "styhead"
LAYERDEPENDS_aglcore = "core"
# Sanity check for meta-virtualization layer.
* agl-image-minimal-crosssdk (crosssdk for ^^)
* agl-image-weston (minimal filesystem with weston)
+ * agl-image-compositor (minimal filesystem with AGL compositor)
- meta-agl-demo: (IVI demo with UI)
- with 'agl-demo'
- * agl-image-ivi (base for IVI targets)
- * agl-image-ivi-crosssdk (sdk for ^^)
+ * agl-ivi-image (base for IVI targets)
+ * agl-ivi-image-crosssdk (sdk for ^^)
- * agl-image-graphical-qt5 (weston plus qt5 framework libs)
- * agl-image-graphical-qt5-crosssdk (sdk for ^^)
+ * agl-ivi-demo-qt (IVI Qt demo image)
+ * agl-ivi-demo-qt-crosssdk (sdk for ^^)
+ * agl-ivi-demo-flutter (IVI Flutter demo image)
+ * agl-ivi-demo-html5 (IVI HTML5 demo image)
- * agl-image-graphical-html5 (weston plus chromium for html5)
-
- * agl-image-cluster (minimal image with APIs for cluster)
- * agl-image-cluster-qt5 (image with QT5 and APIs for cluster)
-
- * agl-image-telematics (image with APIs for telematics)
-
- * agl-demo-platform (* default IVI demo target *)
- * agl-demo-platform-crosssdk (sdk for ^^)
-
- * agl-cluster-demo-platform (cluster demo image)
- * agl-cluster-demo-platform-crosssdk (sdk for ^^)
- * agl-cluster-demo-qtcompositor (cluster demo using own compositor)
-
- * agl-telematics-demo-platform (telematics demo image)
- * agl-telematics-demo-platform-crosssdk (sdk for ^^)
+ * agl-cluster-demo-qt (cluster Qt demo image)
+ * agl-cluster-demo-flutter (cluster Flutter demo image)
+ * agl-telematics-demo (telematics demo image)
+ * agl-gateway-demo (gateway demo image)
#
# A shared hash equivalent server can be set with "<HOSTNAME>:<PORT>" format
#
+# local only
#BB_HASHSERVE = "auto"
#BB_SIGNATURE_HANDLER = "OEEquivHash"
-
+#
+# online/upstream r/o
+#AGL_HOST_HASHSERV = "prserv.automotivelinux.org"
+#BB_SIGNATURE_HANDLER = "OEEquivHash"
+#BB_HASHSERVE = "auto"
+#BB_HASHSERVE_UPSTREAM = "${AGL_HOST_HASHSERV}:8888"
# The network based PR service host and port
# Uncomment the following lines to enable PRservice.
# start local PRService.
# Set to other values to use remote PRService.
#PRSERV_HOST = "localhost:0"
+#
+# r/o upstream prserv
+#AGL_HOST_PRSERV = "prserv.automotivelinux.org"
+#PRSERV_HOST = "prserv.automotivelinux.org:8686"
# Archive the source and put them to ${DEPLOY_DIR}/sources/.
file://systemd-selinux-relabel.sh \
"
+S = "${WORKDIR}/sources"
+UNPACKDIR = "${S}"
+
inherit systemd allarch features_check
SYSTEMD_SERVICE:${PN} = "${BPN}.service"
do_install() {
install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/systemd-selinux-relabel.service ${D}${systemd_system_unitdir}/
+ install -m 0644 ${UNPACKDIR}/systemd-selinux-relabel.service ${D}${systemd_system_unitdir}/
install -d ${D}${sbindir}
- install -m 0755 ${WORKDIR}/systemd-selinux-relabel.sh ${D}${sbindir}/
+ install -m 0755 ${UNPACKDIR}/systemd-selinux-relabel.sh ${D}${sbindir}/
}
FILES:${PN} += "${systemd_system_unitdir}"
file://canbus-can.link \
"
+S = "${WORKDIR}/sources"
+UNPACKDIR = "${S}"
+
CANBUS_NETWORK_CONFIG ??= "canbus-can.network"
CANBUS_NETWORK_CONFIG:virtio-all ?= "canbus-virtio.network"
do_install() {
# Install CAN bus network configuration
install -d ${D}${nonarch_base_libdir}/systemd/network/
- install -m 0644 ${WORKDIR}/${CANBUS_NETWORK_CONFIG} ${D}${nonarch_base_libdir}/systemd/network/60-canbus-can.network
+ install -m 0644 ${UNPACKDIR}/${CANBUS_NETWORK_CONFIG} ${D}${nonarch_base_libdir}/systemd/network/60-canbus-can.network
# Install link configuration to bump queue size on physical CAN bus devices
- install -m 0644 ${WORKDIR}/canbus-can.link ${D}${nonarch_base_libdir}/systemd/network/60-canbus-can.link
+ install -m 0644 ${UNPACKDIR}/canbus-can.link ${D}${nonarch_base_libdir}/systemd/network/60-canbus-can.link
}
PACKAGE_ARCH = "${MACHINE_ARCH}"
do_install:append() {
# Install /etc/e2fsck.conf to avoid boot stuck by wrong clock time
- install -m 644 -p -D ${WORKDIR}/e2fsck.conf ${D}${sysconfdir}/e2fsck.conf
+ install -m 644 -p -D ${UNPACKDIR}/e2fsck.conf ${D}${sysconfdir}/e2fsck.conf
if [ "${VIRTUAL-RUNTIME_net_manager}" = "systemd" ]; then
# Install DHCP configuration for Ethernet adapters
- install -m 644 ${WORKDIR}/wired.network ${D}${sysconfdir}/systemd/network
+ install -m 644 ${UNPACKDIR}/wired.network ${D}${sysconfdir}/systemd/network
elif [ "${VIRTUAL-RUNTIME_net_manager}" = "connman" ]; then
# Disable systemd-networkd-wait-online by default
install -d ${D}${systemd_system_unitdir}/systemd-networkd-wait-online.service.d
- install -m 0644 ${WORKDIR}/wait-disable.conf ${D}${systemd_system_unitdir}/systemd-networkd-wait-online.service.d/
+ install -m 0644 ${UNPACKDIR}/wait-disable.conf ${D}${systemd_system_unitdir}/systemd-networkd-wait-online.service.d/
fi
}
SRC_URI = "file://RBAModel.json"
-S = "${WORKDIR}"
+S = "${WORKDIR}/sources"
+UNPACKDIR = "${S}"
do_configure[noexec] = "1"
do_compile[noexec] = "1"
do_install:append() {
install -d ${D}/${sysconfdir}/rba
- install -m 0644 ${WORKDIR}/RBAModel.json ${D}/${sysconfdir}/rba
+ install -m 0644 ${UNPACKDIR}/RBAModel.json ${D}/${sysconfdir}/rba
}
'''
do_configure:machine() {
- echo repaint-window=34 >> ${WORKDIR}/core.cfg
+ echo repaint-window=34 >> ${UNPACKDIR}/core.cfg
- echo transition-duration=300 >> ${WORKDIR}/ivishell.cfg
- echo cursor-theme=default >> ${WORKDIR}/ivishell.cfg
+ echo transition-duration=300 >> ${UNPACKDIR}/ivishell.cfg
+ echo cursor-theme=default >> ${UNPACKDIR}/ivishell.cfg
}
'''
or:
'''
do_configure:machine() {
- sed -i -e 's/drm-backend/fbdev-backend/' ${WORKDIR}/core.cfg
+ sed -i -e 's/drm-backend/fbdev-backend/' ${UNPACKDIR}/core.cfg
}
'''
file://agl-compositor.conf.in \
"
-S = "${WORKDIR}"
+S = "${WORKDIR}/sources"
+UNPACKDIR = "${S}"
AGL_COMPOSITOR_ARGS ?= " --config ${sysconfdir}/xdg/weston/weston.ini --idle-time=0"
AGL_COMPOSITOR_USE_PIXMAN ??= "0"
do_install() {
# Install systemd service
- install -D -p -m0644 ${WORKDIR}/agl-compositor.service ${D}${systemd_system_unitdir}/agl-compositor.service
- install -D -p -m0644 ${WORKDIR}/agl-compositor.socket ${D}${systemd_system_unitdir}/agl-compositor.socket
+ install -D -p -m0644 ${UNPACKDIR}/agl-compositor.service ${D}${systemd_system_unitdir}/agl-compositor.service
+ install -D -p -m0644 ${UNPACKDIR}/agl-compositor.socket ${D}${systemd_system_unitdir}/agl-compositor.socket
if [ "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)}" ]; then
- install -D -p -m0644 ${WORKDIR}/agl-compositor-autologin ${D}${sysconfdir}/pam.d/agl-compositor-autologin
+ install -D -p -m0644 ${UNPACKDIR}/agl-compositor-autologin ${D}${sysconfdir}/pam.d/agl-compositor-autologin
fi
# Install systemd service drop-in with extra configuration
g=${f%.in}
if [ "${f}" != "${g}" ]; then
sed -e "s,@AGL_COMPOSITOR_ARGS@,${AGL_COMPOSITOR_ARGS},g" \
- ${WORKDIR}/${f} > ${WORKDIR}/${g}
+ ${UNPACKDIR}/${f} > ${WORKDIR}/${g}
fi
done
install -d ${D}${systemd_system_unitdir}/agl-compositor.service.d
file://hdmi-a-2-90.cfg \
file://hdmi-a-2-180.cfg \
file://hdmi-a-2-270.cfg \
- file://remote-output.cfg.in \
file://virtual-0.cfg \
file://virtual-90.cfg \
file://virtual-180.cfg \
file://grpc-proxy.cfg \
"
-S = "${WORKDIR}"
+S = "${WORKDIR}/sources"
+UNPACKDIR = "${S}"
inherit update-alternatives
# On-target weston.ini directory
weston_ini_dir = "${sysconfdir}/xdg/weston"
-# Options for the user to change in local.conf
-# e.g. REMOTING_OUTPUT_MODE = "1080x1488"
-REMOTING_OUTPUT_MODE ??= "640x720@30"
-REMOTING_OUTPUT_HOST ??= "192.168.10.3"
-REMOTING_OUTPUT_PORT ??= "5005"
-
-do_configure() {
- sed -e "s#host=.*#host=${REMOTING_OUTPUT_HOST}#" \
- -e "s#port=.*#port=${REMOTING_OUTPUT_PORT}#" \
- ${WORKDIR}/remote-output.cfg.in > ${WORKDIR}/remote-output.cfg
-}
-
do_compile() {
# Put all of our cfg files together for a default portrait
# orientation configuration
rm -f ${WORKDIR}/weston.ini.default
for F in ${WESTON_FRAGMENTS}; do
- cat ${WORKDIR}/${F}.cfg >> ${WORKDIR}/weston.ini.default
+ cat ${UNPACKDIR}/${F}.cfg >> ${WORKDIR}/weston.ini.default
echo >> ${WORKDIR}/weston.ini.default
done
sed -i -e '$ d' ${WORKDIR}/weston.ini.default
F="virtual-0"
INVF="virtual-180"
fi
- cat ${WORKDIR}/${F}.cfg >> ${WORKDIR}/weston.ini.landscape
- cat ${WORKDIR}/${INVF}.cfg >> ${WORKDIR}/weston.ini.landscape-inverted
+ cat ${UNPACKDIR}/${F}.cfg >> ${WORKDIR}/weston.ini.landscape
+ cat ${UNPACKDIR}/${INVF}.cfg >> ${WORKDIR}/weston.ini.landscape-inverted
echo >> ${WORKDIR}/weston.ini.landscape
echo >> ${WORKDIR}/weston.ini.landscape-inverted
done
ALTERNATIVE_LINK_NAME[weston.ini] = "${weston_ini_dir}/weston.ini"
RPROVIDES:${PN} = "weston-ini"
-RCONFLICTS:${PN} = "${PN}-landscape"
ALTERNATIVE:${PN} = "weston.ini"
ALTERNATIVE_TARGET_${PN} = "${weston_ini_dir}/weston.ini.default"
-PACKAGE_BEFORE_PN += "${PN}-landscape"
+# landscape
+PACKAGE_BEFORE_PN += "${PN}-landscape"
FILES:${PN}-landscape = "${weston_ini_dir}/weston.ini.landscape"
-
RPROVIDES:${PN}-landscape = "weston-ini"
-RCONFLICTS:${PN}-landscape = "${PN}"
ALTERNATIVE:${PN}-landscape = "weston.ini"
ALTERNATIVE_TARGET_${PN}-landscape = "${weston_ini_dir}/weston.ini.landscape"
+ALTERNATIVE_PRIORITY_${PN}-landscape = "20"
-PACKAGE_BEFORE_PN += "${PN}-landscape-inverted"
+# landscape-inverted
+PACKAGE_BEFORE_PN += "${PN}-landscape-inverted"
FILES:${PN}-landscape-inverted = "${weston_ini_dir}/weston.ini.landscape-inverted"
-
RPROVIDES:${PN}-landscape-inverted = "weston-ini"
-RCONFLICTS:${PN}-landscape-inverted = "${PN}"
ALTERNATIVE:${PN}-landscape-inverted = "weston.ini"
ALTERNATIVE_TARGET_${PN}-landscape-inverted = "${weston_ini_dir}/weston.ini.landscape-inverted"
+ALTERNATIVE_PRIORITY_${PN}-landscape-inverted = "25"
-# no activation by default
+# no-activate, no activation by default
PACKAGE_BEFORE_PN += "${PN}-no-activate"
-
FILES:${PN}-no-activate = "${weston_ini_dir}/weston.ini.default-no-activate"
-
RPROVIDES:${PN}-no-activate = "weston-ini"
-RCONFLICTS:${PN}-no-activate = "${PN}"
ALTERNATIVE:${PN}-no-activate = "weston.ini"
ALTERNATIVE_TARGET_${PN}-no-activate = "${weston_ini_dir}/weston.ini.default-no-activate"
+ALTERNATIVE_PRIORITY_${PN}-no-activate = "21"
-# landscape, no activation by default
+# landscape-no-activate, no activation by default
PACKAGE_BEFORE_PN += "${PN}-landscape-no-activate"
-
FILES:${PN}-landscape-no-activate = "${weston_ini_dir}/weston.ini.landscape-no-activate"
-
RPROVIDES:${PN}-landscape-no-activate = "weston-ini"
-RCONFLICTS:${PN}-landscape-no-activate = "${PN}"
ALTERNATIVE:${PN}-landscape-no-activate = "weston.ini"
ALTERNATIVE_TARGET_${PN}-landscape-no-activate = "${weston_ini_dir}/weston.ini.landscape-no-activate"
+ALTERNATIVE_PRIORITY_${PN}-landscape-no-activate = "26"
# This is a settings-only package, we do not need a development package
# (and its fixed dependency to ${PN} being installed)
PACKAGE_ARCH = "${MACHINE_ARCH}"
-WESTON_DISPLAYS:append = "${@bb.utils.contains("DISTRO_FEATURES", "weston-remoting", " remote-output", "", d)}"
-
# For virtual machines and intel-corei7-64 we want to support both the HDMI-A-1
# and Virtual-1 outputs. This allows us to run virtual images on real hardware
# and vice versa.
+++ /dev/null
-[remote-output]
-name=remote-1
-mode=640x720@30
-host=192.168.10.3
-port=5005
SRC_URI:append = " ${AGL_KERNEL_SRC}"
# For meta-ti and meta-qcom
-KERNEL_CONFIG_FRAGMENTS ?= "${@' '.join(['${WORKDIR}/' + x for x in d.getVar('AGL_KCONFIG_FRAGMENTS').split()])}"
+KERNEL_CONFIG_FRAGMENTS ?= "${@' '.join(['${UNPACKDIR}/' + x for x in d.getVar('AGL_KCONFIG_FRAGMENTS').split()])}"
# Extra configuration options for the AGL kernel
AGL_KCONFIG_FRAGMENTS += " \
BBFILE_PATTERN_meta-app-framework = "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-app-framework = "60"
-LAYERSERIES_COMPAT_meta-app-framework = "scarthgap"
+LAYERSERIES_COMPAT_meta-app-framework = "styhead"
LAYERDEPENDS_meta-app-framework = "core aglcore openembedded-layer"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+DEPENDS += "polkit"
+
SRC_URI = "file://50-agl-app.rules"
-DEPENDS += "polkit"
+S = "${WORKDIR}/sources"
+UNPACKDIR = "${S}"
inherit useradd features_check
REQUIRED_DISTRO_FEATURES = "polkit"
do_install() {
install -m 700 -d ${D}${datadir}/polkit-1/rules.d
chown polkitd:root ${D}/${datadir}/polkit-1/rules.d
- install -m 0644 ${WORKDIR}/50-agl-app.rules ${D}${datadir}/polkit-1/rules.d
+ install -m 0644 ${UNPACKDIR}/50-agl-app.rules ${D}${datadir}/polkit-1/rules.d
}
USERADD_PACKAGES = "${PN}"
do_install:append() {
# Install generic template for all agl-app services
install -d ${D}${systemd_system_unitdir}
- install -m 644 ${WORKDIR}/applaunchd.service ${D}${systemd_system_unitdir}/
- install -m 644 ${WORKDIR}/agl-app@.service ${D}${systemd_system_unitdir}/
- install -m 644 ${WORKDIR}/agl-app-web@.service ${D}${systemd_system_unitdir}/
- install -m 644 ${WORKDIR}/agl-app-flutter@.service ${D}${systemd_system_unitdir}/
+ install -m 644 ${UNPACKDIR}/applaunchd.service ${D}${systemd_system_unitdir}/
+ install -m 644 ${UNPACKDIR}/agl-app@.service ${D}${systemd_system_unitdir}/
+ install -m 644 ${UNPACKDIR}/agl-app-web@.service ${D}${systemd_system_unitdir}/
+ install -m 644 ${UNPACKDIR}/agl-app-flutter@.service ${D}${systemd_system_unitdir}/
# Install individual sandboxing overrides/drop-ins to be used by apps
install -d ${D}${systemd_system_unitdir}/sandboxing
- install -m 644 ${WORKDIR}/no-network.conf ${D}${systemd_system_unitdir}/sandboxing/
- install -m 644 ${WORKDIR}/private-tmp.conf ${D}${systemd_system_unitdir}/sandboxing/
+ install -m 644 ${UNPACKDIR}/no-network.conf ${D}${systemd_system_unitdir}/sandboxing/
+ install -m 644 ${UNPACKDIR}/private-tmp.conf ${D}${systemd_system_unitdir}/sandboxing/
}
PACKAGE_BEFORE_PN += "${PN}-template-agl-app ${PN}-template-agl-app-web ${PN}-template-agl-app-flutter"
BBFILE_PATTERN_meta-netboot = "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-netboot = "60"
-LAYERSERIES_COMPAT_meta-netboot = "scarthgap"
+LAYERSERIES_COMPAT_meta-netboot = "styhead"
LAYERDEPENDS_meta-netboot = "core networking-layer"
SUMMARY = "Extremely basic live image init script"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
SRC_URI = "file://init.sh"
-S = "${WORKDIR}"
+S = "${WORKDIR}/sources"
+UNPACKDIR = "${S}"
-RDEPENDS:${PN} += "nbd-client"
+inherit allarch
do_install() {
install -dm 0755 ${D}${sysconfdir}
touch ${D}${sysconfdir}/initrd-release
install -dm 0755 ${D}/dev
install -dm 0755 ${D}${sbindir}
- install -m 0755 ${WORKDIR}/init.sh ${D}${sbindir}/init
+ install -m 0755 ${UNPACKDIR}/init.sh ${D}${sbindir}/init
}
-inherit allarch
-
FILES:${PN} += " /dev ${sysconfdir}/initrd-release ${sbindir}/init "
+RDEPENDS:${PN} += "nbd-client"
SRC_URI = "file://resolv-conf-relabel.service"
+S = "${WORKDIR}/sources"
+UNPACKDIR = "${S}"
+
inherit systemd allarch features_check
SYSTEMD_SERVICE:${PN} = "${BPN}.service"
do_install() {
install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${WORKDIR}/resolv-conf-relabel.service ${D}${systemd_system_unitdir}/
+ install -m 0644 ${UNPACKDIR}/resolv-conf-relabel.service ${D}${systemd_system_unitdir}/
}
FILES:${PN} += "${systemd_system_unitdir}"
BBFILE_PATTERN_meta-pipewire = "^${LAYERDIR}/"
BBFILE_PRIORITY_meta-pipewire = "71"
-LAYERSERIES_COMPAT_meta-pipewire = "scarthgap"
+LAYERSERIES_COMPAT_meta-pipewire = "styhead"
LAYERDEPENDS_meta-pipewire = "openembedded-layer"
#
SECTION = "multimedia"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
SRC_URI = "\
file://bluetooth.lua.d/ \
file://host.lua.d/ \
file://wireplumber.conf \
file://wireplumber-bluetooth.conf \
"
+
+S = "${WORKDIR}/sources"
+UNPACKDIR = "${S}"
+
PACKAGE_ARCH = "${MACHINE_ARCH}"
do_configure[noexec] = "1"
systemd_dir="${D}${sysconfdir}/systemd/system/pipewire.service.wants/"
install -d ${config_dir}
- install -m 0644 ${WORKDIR}/00-functions.lua ${config_dir}
+ install -m 0644 ${UNPACKDIR}/00-functions.lua ${config_dir}
# config of the main (host) instance
install -d ${config_dir}/host.lua.d/
ln -s ../00-functions.lua ${config_dir}/host.lua.d/00-functions.lua
- install -m 0644 ${WORKDIR}/host.lua.d/*.lua ${config_dir}/host.lua.d/
- install -m 0644 ${WORKDIR}/wireplumber.conf ${config_dir}
+ install -m 0644 ${UNPACKDIR}/host.lua.d/*.lua ${config_dir}/host.lua.d/
+ install -m 0644 ${UNPACKDIR}/wireplumber.conf ${config_dir}
# config of the bluetooth instance
install -d ${config_dir}/bluetooth.lua.d/
ln -s ../00-functions.lua ${config_dir}/bluetooth.lua.d/00-functions.lua
- install -m 0644 ${WORKDIR}/bluetooth.lua.d/*.lua ${config_dir}/bluetooth.lua.d/
- install -m 0644 ${WORKDIR}/bluetooth.conf ${config_dir}
+ install -m 0644 ${UNPACKDIR}/bluetooth.lua.d/*.lua ${config_dir}/bluetooth.lua.d/
+ install -m 0644 ${UNPACKDIR}/bluetooth.conf ${config_dir}
# install the alsa-suspend script, loaded by the main instance
install -d ${scripts_dir}
- install -m 0644 ${WORKDIR}/alsa-suspend.lua ${scripts_dir}
+ install -m 0644 ${UNPACKDIR}/alsa-suspend.lua ${scripts_dir}
# install dbus daemon configuration
install -d ${dbus_config_dir}
- install -m 0644 ${WORKDIR}/wireplumber-bluetooth.conf ${dbus_config_dir}
+ install -m 0644 ${UNPACKDIR}/wireplumber-bluetooth.conf ${dbus_config_dir}
# enable additional systemd services
install -d ${systemd_dir}
SECTION = "multimedia"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
+
SRC_URI = "\
file://policy.lua.d \
file://00-functions.lua \
file://policy.conf \
"
+
+S = "${WORKDIR}/sources"
+UNPACKDIR = "${S}"
+
PACKAGE_ARCH = "${MACHINE_ARCH}"
do_configure[noexec] = "1"
systemd_dir="${D}${sysconfdir}/systemd/system/pipewire.service.wants"
install -d ${config_dir}
- install -m 0644 ${WORKDIR}/00-functions.lua ${config_dir}
+ install -m 0644 ${UNPACKDIR}/00-functions.lua ${config_dir}
# config of the policy instance
install -d ${config_dir}/policy.lua.d/
ln -s ../00-functions.lua ${config_dir}/policy.lua.d/00-functions.lua
- install -m 0644 ${WORKDIR}/policy.lua.d/*.lua ${config_dir}/policy.lua.d/
- install -m 0644 ${WORKDIR}/policy.conf ${config_dir}
+ install -m 0644 ${UNPACKDIR}/policy.lua.d/*.lua ${config_dir}/policy.lua.d/
+ install -m 0644 ${UNPACKDIR}/policy.conf ${config_dir}
# enable additional systemd services
install -d ${systemd_dir}
#AGL_HOST_PRSERV ?= "10.30.72.18"
#AGL_HOST_HASHSERV ?= "10.30.72.18"
-#BB_HASHSERVE = "${AGL_HOST_HASHSERV}:8383"
+# r/w hashserv
+#BB_HASHSERVE = "${AGL_HOST_HASHSERV}:8787"
#BB_SIGNATURE_HANDLER = "OEEquivHash"
-#PRSERV_HOST = "${AGL_HOST_PRSERV}:8181"
+# r/w prserv
+#PRSERV_HOST = "${AGL_HOST_PRSERV}:8585"
IMAGE_INSTALL:append = " curl"
-BBLAYERS =+ "${METADIR}/bsp/meta-raspberrypi"
+BBLAYERS =+ " \
+ ${METADIR}/bsp/meta-raspberrypi \
+ ${METADIR}/bsp/meta-lts-mixins_u-boot \
+"
# This is the original place, but we need to tweak layer.conf
BBLAYERS =+ "${METADIR}/bsp/meta-sifive"
-
-# For now, tweak the layer's compatibility to allow using with kirkstone,
-# since we know it works without major issues.
-LAYERSERIES_COMPAT_meta-sifive:append = " kirkstone"