├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── classes ├── core-image-pelux-qtauto.bbclass └── core-image-pelux.bbclass ├── conf ├── distro │ ├── git_describe_version.inc │ └── pelux.conf ├── layer.conf └── variant │ ├── arp-intel-qtauto │ ├── README │ ├── bblayers.conf.sample │ ├── conf-notes.txt │ └── local.conf.sample │ ├── arp-intel │ ├── README │ ├── bblayers.conf.sample │ ├── conf-notes.txt │ ├── local.conf.sample │ └── multiconfig │ │ ├── sos.conf │ │ └── uos.conf │ ├── common │ ├── bblayers-qtauto.conf │ ├── bblayers.conf │ └── local.conf │ ├── intel-qtauto │ ├── README │ ├── bblayers.conf.sample │ ├── conf-notes.txt │ └── local.conf.sample │ ├── intel │ ├── README │ ├── bblayers.conf.sample │ ├── conf-notes.txt │ └── local.conf.sample │ ├── jetson-tx2-qtauto │ ├── README │ ├── bblayers.conf.sample │ ├── conf-notes.txt │ └── local.conf.sample │ ├── jetson-tx2 │ ├── README │ ├── bblayers.conf.sample │ ├── conf-notes.txt │ └── local.conf.sample │ ├── qemu-x86-64_nogfx │ ├── README │ ├── bblayers.conf.sample │ ├── conf-notes.txt │ └── local.conf.sample │ ├── rpi-qtauto │ ├── README │ ├── bblayers.conf.sample │ ├── conf-notes.txt │ └── local.conf.sample │ ├── rpi │ ├── README │ ├── bblayers.conf.sample │ ├── conf-notes.txt │ └── local.conf.sample │ ├── smarcimx8m-qtauto │ ├── README │ ├── bblayers.conf.sample │ ├── conf-notes.txt │ └── local.conf.sample │ └── smarcimx8m │ ├── README │ ├── bblayers.conf.sample │ ├── conf-notes.txt │ └── local.conf.sample ├── dynamic-layers ├── acrn-layer │ ├── recipes-core │ │ └── images │ │ │ └── core-image-pelux-sos.bb │ └── recipes-vms │ │ ├── acrn-vm-init │ │ ├── acrn-vm-init │ │ │ ├── acrn-vm-init.service │ │ │ └── acrn-vm-init.sh │ │ └── acrn-vm-init_1.0.0.bb │ │ ├── android-x86 │ │ ├── android-x86-vm │ │ │ ├── .gitignore │ │ │ ├── LICENSE │ │ │ ├── android-x86-vm.service │ │ │ └── launch_android_x86.sh │ │ └── android-x86-vm_1.0.0.bb │ │ ├── pelux │ │ ├── pelux-vm │ │ │ ├── LICENSE │ │ │ ├── launch_pelux.sh │ │ │ └── pelux-vm.service │ │ └── pelux-vm_1.0.0.bb │ │ └── targets │ │ ├── acrn-vm-targets │ │ ├── acrn-vm1.target │ │ ├── acrn-vm2.target │ │ └── acrn-vm3.target │ │ └── acrn-vm-targets_1.0.0.bb ├── b2qt │ ├── recipes-core │ │ └── images │ │ │ ├── core-image-pelux-qtauto-neptune-dev.bb │ │ │ └── core-image-pelux-qtauto-neptune.bb │ ├── recipes-devtools │ │ └── python │ │ │ └── python3-watchdog_0.8.5.bbappend │ ├── recipes-graphics │ │ └── hunspell │ │ │ └── hunspell-dicts_%.bbappend │ ├── recipes-multimedia │ │ └── qtivi-mopidy-plugin │ │ │ └── qtivi-mopidy-plugin_git.bb │ ├── recipes-qt │ │ ├── automotive │ │ │ ├── neptune3-ui │ │ │ │ ├── neptune │ │ │ │ └── pelux.conf │ │ │ ├── neptune3-ui_git.bbappend │ │ │ ├── qtapplicationmanager-noop.inc │ │ │ ├── qtapplicationmanager-sc.inc │ │ │ ├── qtapplicationmanager │ │ │ │ └── sc-config.yaml │ │ │ └── qtapplicationmanager_git.bbappend │ │ ├── boot2qt-addons │ │ │ └── qdb_%.bbappend │ │ └── qt5 │ │ │ ├── qtbase_%.bbappend │ │ │ ├── qttools_%.bbappend │ │ │ ├── qtwayland │ │ │ └── add-wayland-scanner-client-wayland-protocol-include.patch │ │ │ └── qtwayland_%.bbappend │ └── recipes-temporary-patches │ │ └── qt5 │ │ └── qtbase_%.bbappend ├── intel │ ├── recipes-bsp │ │ ├── acpid │ │ │ ├── acpid_2.%.bbappend │ │ │ └── files │ │ │ │ ├── powerbtn │ │ │ │ └── powerbtn.sh │ │ └── thermald │ │ │ └── thermald_%.bbappend │ ├── recipes-core │ │ └── base-files │ │ │ ├── base-files │ │ │ └── intel-corei7-64 │ │ │ │ └── fstab │ │ │ └── base-files_%.bbappend │ ├── recipes-kernel │ │ └── linux │ │ │ ├── files │ │ │ ├── disable-brtfs.cfg │ │ │ ├── enable-hid-multitouch.cfg │ │ │ └── enable-veth.cfg │ │ │ └── linux-intel_%.bbappend │ └── recipes-support │ │ ├── grub │ │ ├── grub-efi │ │ │ ├── grubenv │ │ │ ├── grubenv-copy.service │ │ │ └── grubenv-copy.sh │ │ └── grub-efi_%.bbappend │ │ └── swupdate │ │ ├── swupdate │ │ └── defconfig │ │ └── swupdate_%.bbappend ├── raspberrypi │ ├── recipes-bsp │ │ ├── boot-files │ │ │ └── rpi-config_%.bbappend │ │ ├── rpi-uboot-scr │ │ │ ├── files │ │ │ │ └── boot.cmd.in │ │ │ └── rpi-u-boot-scr.bbappend │ │ └── u-boot │ │ │ ├── u-boot-fw-utils │ │ │ └── fw_env.config │ │ │ └── u-boot-fw-utils_%.bbappend │ ├── recipes-core │ │ └── base-files │ │ │ ├── base-files │ │ │ └── raspberrypi3 │ │ │ │ └── fstab │ │ │ └── base-files_%.bbappend │ ├── recipes-kernel │ │ └── linux │ │ │ ├── linux-raspberrypi │ │ │ └── usb_functionfs.cfg │ │ │ └── linux-raspberrypi_%.bbappend │ └── recipes-support │ │ └── swupdate │ │ ├── swupdate │ │ └── defconfig │ │ └── swupdate_%.bbappend ├── smarcimx8m │ ├── recipes-alexa │ │ └── avs-device-sdk │ │ │ └── avs-device-sdk_%.bbappend │ └── recipes-qt │ │ └── qt5 │ │ ├── packagegroup-qt5-toolchain-target.bbappend │ │ └── qtbase_git.bbappend ├── tegra │ └── recipes-alexa │ │ └── avs-device-sdk │ │ └── avs-device-sdk_%.bbappend └── template-layer │ └── core-image-pelux-template.bb ├── meta-arp-extras ├── conf │ └── layer.conf └── recipes-core │ └── base-files │ ├── base-files │ └── fstab │ └── base-files_%.bbappend ├── recipes-config └── systemd-resource-control │ ├── services │ ├── service.bluetooth.conf │ ├── service.connectivity-manager.conf │ ├── service.connman.conf │ ├── service.neptune.conf │ └── service.wpa_supplicant.conf │ ├── slices │ ├── connectivity.slice │ └── ui.slice │ ├── systemd-resource-control.bb │ └── systemd-resource-control │ └── LICENSE ├── recipes-connectivity └── connman │ ├── connman │ └── disable_connman_dns_proxy.patch │ └── connman_%.bbappend ├── recipes-containers └── softwarecontainer │ ├── files │ ├── io.qt.ApplicationManager.Application.json │ └── softwarecontainer-agent.service │ └── softwarecontainer_%.bbappend ├── recipes-core ├── base-files │ ├── base-files │ │ └── fstab │ └── base-files_%.bbappend ├── images │ ├── core-image-pelux-minimal-dev.bb │ └── core-image-pelux-minimal.bb ├── os-release │ └── os-release.bbappend ├── psplash │ ├── psplash │ │ ├── Draw-splash-in-the-middle-of-the-screen.patch │ │ ├── change_background_color.patch │ │ ├── disable_progress_bar.patch │ │ ├── pelux_logo-img.h │ │ ├── psplash-poky-img.h │ │ ├── psplash-start.service │ │ └── psplash-stop.service │ └── psplash_%.bbappend ├── systemd │ ├── systemd │ │ └── 99-printk.conf │ └── systemd_%.bbappend └── udev-extraconf │ ├── udev-extraconf │ ├── 0001-udev-extraconf-allow-labels-and-UUID-s-in-mount-blac.patch │ ├── 0002-udev-extraconf-do-not-try-to-mount-swap-partitions.patch │ └── pelux-roots.blacklist │ └── udev-extraconf_%.bbappend ├── recipes-devtools └── cmake │ ├── cmake │ └── StagingPrefix.cmake │ └── cmake_%.bbappend ├── recipes-extended └── images │ ├── core-image-pelux-minimal-dev-update.bb │ ├── core-image-pelux-minimal-update.bb │ ├── core-image-pelux-qtauto-neptune-dev-update.bb │ ├── core-image-pelux-qtauto-neptune-update.bb │ ├── pelux-image-update.inc │ └── pelux-image-update │ ├── arp │ ├── emmcsetup1.lua │ ├── emmcsetup2.lua │ └── sw-description │ ├── intel-corei7-64 │ ├── emmcsetup1.lua │ ├── emmcsetup2.lua │ └── sw-description │ └── raspberrypi3 │ ├── emmcsetup1.lua │ ├── emmcsetup2.lua │ └── sw-description ├── recipes-graphics └── pango │ └── pango_%.bbappend ├── recipes-multimedia ├── mopidy │ ├── mopidy │ │ ├── 0001-default.conf-Use-pulseaudio-as-default-output.patch │ │ ├── 0002-local-ext.conf-Replace-XDG_MUSIC_DIR-with-a-hardcode.patch │ │ └── mopidy.service │ └── mopidy_2.3.1.bb └── pulseaudio │ ├── pulseaudio │ ├── pulseaudio.service │ └── system.pa │ └── pulseaudio_%.bbappend ├── recipes-support └── dnsmasq │ └── dnsmasq_%.bbappend ├── recipes-swupdate └── swupdate │ ├── swupdate │ ├── swupdate.cfg │ └── swupdate.service │ └── swupdate_%.bbappend ├── recipes-temporary-patches ├── gstreamer │ └── gstreamer1.0-plugins-bad_%.bbappend ├── librsvg │ └── librsvg_%.bbappend ├── meson │ ├── meson │ │ └── 0001-dependencies-dev-use-sys.prefix-to-find-googletest-a.patch │ ├── meson_%.bbappend │ └── nativesdk-meson_%.bbappend ├── persistence-administrator │ ├── persistence-administrator │ │ └── 0002-Replace-unknown-oip-cpi-mandatory.target-in-systemd-.patch │ └── persistence-administrator_%.bbappend ├── persistence-client-library │ ├── persistence-client-library │ │ └── 0001-Remove-D-Bus-policy-configuration-for-org.genivi.per.patch │ └── persistence-client-library_%.bbappend └── persistence-common-object │ ├── persistence-common-object │ ├── 0001-Partial-revert-of-3b28999fa9a1f7f8cd9b55ba6f8165e244.patch │ ├── 0002-Revert-dbus_config-Remove-dbus-configuration-file.patch │ └── 0003-Install-D-Bus-policy-file-in-usr-share-dbus-1-system.patch │ └── persistence-common-object_%.bbappend └── scripts ├── Jenkinsfile ├── gdb_helper ├── lib └── wic │ └── canned-wks │ ├── cfg │ ├── mkefidisk-multiboot.wks │ └── raspberrypi.wks ├── mkefi_wrap └── qemu_launcher /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | How to contribute 2 | ================= 3 | We are happy to accept contributions. To accept a contribution we require: 4 | 5 | * A developer certificate of origin: see http://developercertificate.org/ 6 | - A "signed-off-by" line in the commits is interpreted as a DCO from our perspective 7 | - Use your real name and e-mail address 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2016-2017 Pelagicore AB 2 | Copyright (c) 2018 Luxoft Sweden AB 3 | 4 | Permission is hereby granted, free of charge, to any person obtaining a copy 5 | of this software and associated documentation files (the "Software"), to deal 6 | in the Software without restriction, including without limitation the rights 7 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 8 | copies of the Software, and to permit persons to whom the Software is 9 | furnished to do so, subject to the following conditions: 10 | 11 | The above copyright notice and this permission notice shall be included in all 12 | copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 16 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 17 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 18 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 19 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 20 | SOFTWARE. 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | meta-pelux 2 | ========== 3 | A Yocto/OpenEmbedded layer providing PELUX images. PELUX is a Linux based 4 | platform used for developing automotive infotainment projects. 5 | 6 | The layer provides the PELUX distro that is derived from poky. Furthermore, 7 | this layer provides `core-image-pelux` recipes, along with necessary additions 8 | to software components to enable a functional In-Vehicle Infotainment (IVI) 9 | base image. The software component additions and appendments found in this 10 | layer are specific for the PELUX image but can be used outside of this context. 11 | 12 | Maintained at https://github.com/pelagicore/meta-pelux 13 | 14 | Dependencies 15 | ------------ 16 | This layer depends on: 17 | 18 | | meta layer | git repo | 19 | | ------------------- | -------- | 20 | | poky | https://git.yoctoproject.org/git/poky | 21 | | meta-openembedded | http://cgit.openembedded.org/meta-openembedded | 22 | | meta-virtualization | https://git.yoctoproject.org/git/meta-virtualization | 23 | | meta-bistro | https://github.com/pelagicore/meta-bistro | 24 | | meta-swupdate | https://github.com/sbabic/meta-swupdate | 25 | 26 | The relationship with `meta-bistro`, which is also developed at Pelagicore, 27 | is that `meta-bistro` contains general software recipes and configurations, 28 | aimed at the IVI domain, but no distribution and no images, whereas `meta-pelux` 29 | builds on top of meta-bistro by adding a distro and recipes to build complete 30 | system images. 31 | 32 | Branching 33 | --------- 34 | This repository will follow the Yocto release system. Whenever a new Yocto 35 | release has been released, a new branch with the same name will be created from 36 | the master branch. 37 | 38 | All feature growth should happen first on the master branch, 39 | but will also be cherry-picked back to the latest Yocto release branch. 40 | Security and bug fixes will be evaluated case by case and backported as 41 | necessary. The ambition is to actively maintain the two latest releases and/or 42 | one-year-old releases in this fashion. 43 | 44 | License and Copyright 45 | --------------------- 46 | Copyright © 2016-2017 Pelagicore AB 47 | Copyright © 2017-2019 Luxoft Sweden AB 48 | 49 | All metadata is MIT licensed unless otherwise stated. Source code included in 50 | tree for individual recipes is under the LICENSE stated in the associated 51 | recipe (.bb file) unless otherwise stated. 52 | 53 | License information for any other files is either explicitly stated or defaults 54 | to MIT license. 55 | -------------------------------------------------------------------------------- /classes/core-image-pelux-qtauto.bbclass: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2017 Pelagicore AB 3 | # Copyright (C) 2019 Luxoft Sweden AB 4 | # SPDX-License-Identifier: MIT 5 | # 6 | 7 | DESCRIPTION = "Class for inheriting a Pelux image with Qt frontend" 8 | 9 | inherit core-image-pelux 10 | 11 | # A bunch of QtAuto components 12 | QTAUTO_COMPONENTS = " \ 13 | qtapplicationmanager \ 14 | qtivi \ 15 | qtvirtualkeyboard \ 16 | " 17 | 18 | # Classes are special so we only do this if the b2qt meta layer (which contains 19 | # the above components) is enabled 20 | IMAGE_INSTALL += " \ 21 | ${@bb.utils.contains("BBFILE_COLLECTIONS", "b2qt", "${QTAUTO_COMPONENTS}", "", d)} \ 22 | " 23 | 24 | # MQTT is part of core image so add Qt interface too 25 | IMAGE_INSTALL_append = " \ 26 | qtmqtt \ 27 | qtserialport \ 28 | " 29 | 30 | IMAGE_INSTALL_append_jetson-tx2 = " \ 31 | egl-wayland \ 32 | " 33 | 34 | TOOLCHAIN_HOST_TASK += " nativesdk-packagegroup-b2qt-automotive-qt5-toolchain-host " 35 | TOOLCHAIN_TARGET_TASK += " packagegroup-b2qt-automotive-qt5-toolchain-target qtapplicationmanager-staticdev" 36 | -------------------------------------------------------------------------------- /classes/core-image-pelux.bbclass: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2017 Pelagicore AB 3 | # Copyright (C) 2018-2019 Luxoft Sweden AB 4 | # SPDX-License-Identifier: MIT 5 | # 6 | 7 | inherit core-image 8 | 9 | IMAGE_FEATURES += "package-management debug-tweaks" 10 | 11 | IMAGE_INSTALL_append = "\ 12 | ${@bb.utils.contains("COMBINED_FEATURES", "bluetooth", "packagegroup-tools-bluetooth", "", d)} \ 13 | ${@bb.utils.contains("DISTRO_FEATURES", "process-containment", "softwarecontainer", "", d)} \ 14 | swupdate \ 15 | udev-extraconf \ 16 | " 17 | 18 | # We do not support swupdate on qemu 19 | IMAGE_INSTALL_remove_qemux86-64 = "\ 20 | swupdate \ 21 | " 22 | 23 | # swupdate does not compile on smarcimx8m2g 24 | IMAGE_INSTALL_remove_smarcimx8m2g = "\ 25 | swupdate \ 26 | " 27 | 28 | # swupdate and avs-device-sdk do not compile on jetson-tx2 29 | IMAGE_INSTALL_remove_jetson-tx2 = "\ 30 | swupdate \ 31 | avs-device-sdk \ 32 | " 33 | 34 | # GENIVI components 35 | IMAGE_INSTALL_append = "\ 36 | dlt-daemon \ 37 | dlt-daemon-systemd \ 38 | node-state-manager \ 39 | " 40 | 41 | # Should probably be included in some other way (dependency, package group, feature). 42 | IMAGE_INSTALL_append = "\ 43 | avs-device-sdk \ 44 | can-utils \ 45 | connectivity-manager \ 46 | iproute2 \ 47 | libsocketcan \ 48 | mopidy \ 49 | mosquitto \ 50 | systemd-resource-control \ 51 | user-identification-manager \ 52 | " 53 | 54 | TOOLCHAIN_HOST_TASK += "\ 55 | nativesdk-cmake \ 56 | nativesdk-gdbus-codegen-glibmm \ 57 | nativesdk-meson \ 58 | " 59 | 60 | IMAGE_ROOTFS_SIZE ?= "1000000" 61 | 62 | # This is needed for SWupdate artifacts 63 | IMAGE_FSTYPES += "ext3.gz" 64 | -------------------------------------------------------------------------------- /conf/distro/git_describe_version.inc: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2019 Luxoft Sweden AB 3 | # SPDX-License-Identifier: MIT 4 | # 5 | 6 | # Generates a version string for DISTRO_VERSION by running git describe. 7 | # 8 | # Assumes there is a tag in the format "[v].[-e][Yocto release name]". Optional 9 | # leading 'v' is stripped and '/' is replaced with '-'. Having '/' in DISTRO_VERSION is problematic 10 | # (probably due to it being used in file names). 11 | 12 | def git_describe_version(repo_dir_path, default): 13 | import subprocess 14 | 15 | git_args = ['git', '-C', repo_dir_path, 'describe', '--tags', '--dirty'] 16 | ret = subprocess.run(git_args, stdout=subprocess.PIPE, universal_newlines=True) 17 | 18 | if ret.returncode != 0: 19 | bb.warn('Failed to run "git describe" in ' + repo_dir_path + ', using "' + default + '"') 20 | return default 21 | 22 | return ret.stdout.strip().lstrip('v').replace('/', '-') 23 | -------------------------------------------------------------------------------- /conf/distro/pelux.conf: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2017 Pelagicore AB 3 | # Copyright (C) 2018-2019 Luxoft Sweden AB 4 | # SPDX-License-Identifier: MIT 5 | # 6 | 7 | require conf/distro/poky.conf 8 | require git_describe_version.inc 9 | 10 | GIT_DESCRIBE_REPO_DIR := "${@os.path.abspath(os.path.join(d.getVar('COREBASE'), '../../.repo/manifests'))}" 11 | 12 | MAINTAINER = "Gordan Markuš " 13 | DISTRO = "pelux" 14 | DISTRO_NAME = "PELUX" 15 | DISTRO_VERSION := "${@git_describe_version(d.getVar('GIT_DESCRIBE_REPO_DIR'), default='master')}" 16 | TARGET_VENDOR = "-pelux" 17 | 18 | # Add distro features 19 | DISTRO_FEATURES_append = " \ 20 | bluez5 \ 21 | multiarch \ 22 | opengl \ 23 | pam \ 24 | process-containment \ 25 | ptest \ 26 | virtualization \ 27 | wayland \ 28 | webengine\ 29 | " 30 | 31 | # Temporarily disable process-containment due to some issues which 32 | # cannot be fixed right now: 33 | # - (BLOCKER) Qt 5.14 AS candidate results in build error 34 | # ERROR: Required build target 'neptune3-ui' has no buildable providers. 35 | # Missing or unbuildable dependency chain was: [ 36 | # 'neptune3-ui', 37 | # 'qtapplicationmanager-native', 38 | # 'qtapplicationmanager-native-softwarecontainer-native'] 39 | # - With Qt 5.13, Neptune3-UI cannot run applications in container 40 | # (workaround is to not provide sc-config.yaml to neptune3-ui) 41 | # - Sometimes at system shutdown, the softwarecontainer-agent does 42 | # not stop within maximum timeout 43 | DISTRO_FEATURES_remove = " \ 44 | process-containment \ 45 | " 46 | 47 | # Remove unused poky features 48 | DISTRO_FEATURES_remove = " \ 49 | 3g \ 50 | ext2 \ 51 | irda \ 52 | nfc \ 53 | nfs \ 54 | x11 \ 55 | zeroconf \ 56 | " 57 | 58 | # Enable systemd 59 | DISTRO_FEATURES_append = " systemd" 60 | DISTRO_FEATURES_BACKFILL_CONSIDERED += "sysvinit" 61 | VIRTUAL-RUNTIME_init_manager = "systemd" 62 | VIRTUAL-RUNTIME_initscripts = "systemd-compat-units" 63 | 64 | # SDK config 65 | SDK_NAME_PREFIX = "${DISTRO}-sdk" 66 | SDK_VENDOR = "-${DISTRO}sdk" 67 | SDKPATH = "/opt/${SDK_NAME_PREFIX}-${SDK_ARCH}/${SDK_VERSION}" 68 | SDK_VERSION = "${DISTRO_VERSION}" 69 | -------------------------------------------------------------------------------- /conf/layer.conf: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2016-2017 Pelagicore AB 3 | # Copyright (C) 2019 Luxoft Sweden AB 4 | # SPDX-License-Identifier: MIT 5 | # 6 | 7 | # We have a conf and classes directory, append to BBPATH 8 | BBPATH .= ":${LAYERDIR}" 9 | 10 | # We have a recipes directory, add to BBFILES 11 | BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend" 12 | 13 | BBFILE_COLLECTIONS += "pelux-layer" 14 | BBFILE_PATTERN_pelux-layer := "^${LAYERDIR}/" 15 | 16 | BBFILE_PRIORITY_pelux-layer = "8" 17 | 18 | BBFILES_DYNAMIC += " \ 19 | b2qt:${LAYERDIR}/dynamic-layers/b2qt/*/*/*.bb \ 20 | b2qt:${LAYERDIR}/dynamic-layers/b2qt/*/*/*.bbappend \ 21 | intel:${LAYERDIR}/dynamic-layers/intel/*/*/*.bb \ 22 | intel:${LAYERDIR}/dynamic-layers/intel/*/*/*.bbappend \ 23 | raspberrypi:${LAYERDIR}/dynamic-layers/raspberrypi/*/*/*.bb \ 24 | raspberrypi:${LAYERDIR}/dynamic-layers/raspberrypi/*/*/*.bbappend \ 25 | smarcimx8m:${LAYERDIR}/dynamic-layers/smarcimx8m/*/*/*.bb \ 26 | smarcimx8m:${LAYERDIR}/dynamic-layers/smarcimx8m/*/*/*.bbappend \ 27 | tegra:${LAYERDIR}/dynamic-layers/tegra/*/*/*.bb \ 28 | tegra:${LAYERDIR}/dynamic-layers/tegra/*/*/*.bbappend \ 29 | template-layer:${LAYERDIR}/dynamic-layers/template-layer/*/*/*.bb \ 30 | template-layer:${LAYERDIR}/dynamic-layers/template-layer/*/*/*.bbappend \ 31 | " 32 | 33 | LAYERSERIES_COMPAT_pelux-layer = "sumo thud warrior" 34 | LAYERSERIES_COMPAT_smarcimx8m_append = " thud" 35 | 36 | HOSTTOOLS += "bc" 37 | -------------------------------------------------------------------------------- /conf/variant/arp-intel-qtauto/README: -------------------------------------------------------------------------------- 1 | Variant configuration for building PELUX for the ARP with Qt+QtAuto. 2 | -------------------------------------------------------------------------------- /conf/variant/arp-intel-qtauto/bblayers.conf.sample: -------------------------------------------------------------------------------- 1 | # These are needed for bitbake to pick up the includes 2 | BSPDIR := "${TOPDIR}/.." 3 | BBPATH := "${TOPDIR}:${BSPDIR}/sources/meta-pelux" 4 | 5 | require conf/variant/common/bblayers.conf 6 | require conf/variant/common/bblayers-qtauto.conf 7 | 8 | BBLAYERS += "\ 9 | ${BSPDIR}/sources/meta-pelux/meta-arp-extras \ 10 | ${BSPDIR}/sources/meta-intel \ 11 | " 12 | -------------------------------------------------------------------------------- /conf/variant/arp-intel-qtauto/conf-notes.txt: -------------------------------------------------------------------------------- 1 | Available PELUX images for arp-intel-qtauto: 2 | * core-image-pelux-minimal 3 | * core-image-pelux-minimal-dev 4 | * core-image-pelux-minimal-update 5 | * core-image-pelux-minimal-dev-update 6 | 7 | * core-image-pelux-qtauto-neptune 8 | * core-image-pelux-qtauto-neptune-dev 9 | * core-image-pelux-qtauto-neptune-update 10 | * core-image-pelux-qtauto-neptune-dev-update 11 | 12 | Build them by running: bitbake 13 | -------------------------------------------------------------------------------- /conf/variant/arp-intel-qtauto/local.conf.sample: -------------------------------------------------------------------------------- 1 | require conf/variant/common/local.conf 2 | 3 | MACHINE = "intel-corei7-64" 4 | 5 | EFI_PROVIDER = "grub-efi" 6 | 7 | IMAGE_FSTYPES += "wic wic.bmap wic.bz2" 8 | 9 | PREFERRED_PROVIDER_iasl-native = "iasl-native" 10 | 11 | WKS_FILE = "mkefidisk-multiboot.wks" 12 | WIC_CREATE_EXTRA_ARGS = "--no-fstab-update" 13 | 14 | IMAGE_INSTALL_append = " \ 15 | grub-efi \ 16 | arp-driver \ 17 | " 18 | 19 | LICENSE_FLAGS_WHITELIST = "commercial_faad2" 20 | -------------------------------------------------------------------------------- /conf/variant/arp-intel/README: -------------------------------------------------------------------------------- 1 | Variant configuration for building a non-graphical PELUX for the ARP. 2 | -------------------------------------------------------------------------------- /conf/variant/arp-intel/bblayers.conf.sample: -------------------------------------------------------------------------------- 1 | # These are needed in order to make bitbake pick up the includes 2 | BSPDIR := "${TOPDIR}/.." 3 | BBPATH := "${TOPDIR}:${BSPDIR}/sources/meta-pelux" 4 | 5 | require conf/variant/common/bblayers.conf 6 | 7 | BBLAYERS += "\ 8 | ${BSPDIR}/sources/meta-pelux/meta-arp-extras \ 9 | ${BSPDIR}/sources/meta-intel \ 10 | " 11 | -------------------------------------------------------------------------------- /conf/variant/arp-intel/conf-notes.txt: -------------------------------------------------------------------------------- 1 | Available PELUX images for arp-intel: 2 | * core-image-pelux-minimal 3 | * core-image-pelux-minimal-dev 4 | * core-image-pelux-minimal-update 5 | * core-image-pelux-minimal-dev-update 6 | 7 | Build them by running: bitbake 8 | -------------------------------------------------------------------------------- /conf/variant/arp-intel/local.conf.sample: -------------------------------------------------------------------------------- 1 | require conf/variant/common/local.conf 2 | 3 | MACHINE = "intel-corei7-64" 4 | 5 | EFI_PROVIDER = "grub-efi" 6 | 7 | IMAGE_FSTYPES += "wic wic.bmap wic.bz2" 8 | 9 | PREFERRED_PROVIDER_iasl-native = "iasl-native" 10 | 11 | WKS_FILE = "mkefidisk-multiboot.wks" 12 | WIC_CREATE_EXTRA_ARGS = "--no-fstab-update" 13 | 14 | IMAGE_INSTALL_append = " \ 15 | grub-efi \ 16 | arp-driver \ 17 | " 18 | 19 | LICENSE_FLAGS_WHITELIST = "commercial_faad2" 20 | -------------------------------------------------------------------------------- /conf/variant/arp-intel/multiconfig/sos.conf: -------------------------------------------------------------------------------- 1 | TMPDIR="${TOPDIR}/tmpsos" 2 | MACHINE = "intel-corei7-64" 3 | 4 | EXTRA_IMAGE_FEATURES ?= "debug-tweaks" 5 | LICENSE_FLAGS_WHITELIST = "commercial_faad2" 6 | 7 | # ACRN specific 8 | PREFERRED_PROVIDER_virtual/kernel = "linux-acrn" 9 | KERNEL_DEFCONFIG = "kernel_config_uefi_sos" 10 | 11 | EFI_PROVIDER = "systemd-boot" 12 | 13 | WKS_FILE = "acrn-sos.wks.in" 14 | 15 | IMAGE_INSTALL_append_pn-core-image-pelux-sos = " android-x86-vm " 16 | 17 | IMAGE_FSTYPES = "wic" 18 | -------------------------------------------------------------------------------- /conf/variant/arp-intel/multiconfig/uos.conf: -------------------------------------------------------------------------------- 1 | #require conf/variant/common/local.conf 2 | 3 | TMPDIR="${TOPDIR}/tmpuos" 4 | MACHINE = "intel-corei7-64" 5 | 6 | EXTRA_IMAGE_FEATURES ?= "debug-tweaks" 7 | LICENSE_FLAGS_WHITELIST += "commercial" 8 | 9 | IMAGE_INSTALL_remove = "swupdate" 10 | 11 | IMAGE_FEATURES_append = " ssh-server-openssh" 12 | 13 | PREFERRED_PROVIDER_virtual/kernel = "linux-acrn-uos" 14 | KERNEL_DEFCONFIG ??= "kernel_config_uos_arp" 15 | 16 | IMAGE_FSTYPES = "wic" 17 | 18 | LICENSE_FLAGS_WHITELIST = "commercial_faad2" 19 | -------------------------------------------------------------------------------- /conf/variant/common/bblayers-qtauto.conf: -------------------------------------------------------------------------------- 1 | BBLAYERS += " \ 2 | ${BSPDIR}/sources/meta-qt5 \ 3 | ${BSPDIR}/sources/meta-boot2qt/meta-boot2qt-distro \ 4 | ${BSPDIR}/sources/meta-boot2qt/meta-boot2qt \ 5 | " 6 | -------------------------------------------------------------------------------- /conf/variant/common/bblayers.conf: -------------------------------------------------------------------------------- 1 | BBFILES ?= "" 2 | BBLAYERS ?= " \ 3 | ${BSPDIR}/sources/poky/meta \ 4 | ${BSPDIR}/sources/poky/meta-poky \ 5 | ${BSPDIR}/sources/poky/meta-yocto-bsp \ 6 | ${BSPDIR}/sources/meta-openembedded/meta-filesystems \ 7 | ${BSPDIR}/sources/meta-openembedded/meta-multimedia \ 8 | ${BSPDIR}/sources/meta-openembedded/meta-networking \ 9 | ${BSPDIR}/sources/meta-openembedded/meta-oe \ 10 | ${BSPDIR}/sources/meta-openembedded/meta-python \ 11 | ${BSPDIR}/sources/meta-bistro \ 12 | ${BSPDIR}/sources/meta-ivi/meta-ivi \ 13 | ${BSPDIR}/sources/meta-ivi/meta-ivi-bsp \ 14 | ${BSPDIR}/sources/meta-pelux \ 15 | ${BSPDIR}/sources/meta-swupdate \ 16 | ${BSPDIR}/sources/meta-template \ 17 | ${BSPDIR}/sources/meta-virtualization \ 18 | " 19 | 20 | LCONF_VERSION = "7" 21 | -------------------------------------------------------------------------------- /conf/variant/common/local.conf: -------------------------------------------------------------------------------- 1 | CONF_VERSION = "1" 2 | DL_DIR = "${TOPDIR}/downloads" 3 | 4 | SDKMACHINE = "x86_64" 5 | DISTRO = "pelux" 6 | 7 | # Target Static IP address, Override this to configure a static 8 | # ip address for development purposes such as poky ssh and ping test. 9 | STATIC_IP_ADDRESS = "" 10 | 11 | BB_NUMBER_THREADS ?= "${@oe.utils.cpu_count()}" 12 | PARALLEL_MAKE ?= "-j ${@oe.utils.cpu_count()}" 13 | 14 | PACKAGE_CLASSES ?= "package_rpm" 15 | 16 | BB_DANGLINGAPPENDS_WARNONLY = "1" 17 | 18 | # Fix for rpm metadata clash between nativesdk-cmake and nativesdk-qtbase-tools 19 | DIRFILES_pn-nativesdk-cmake = "1" 20 | 21 | # Don't install any extra devel packages just because we're running on QEMU 22 | POKYQEMUDEPS_remove = "packagegroup-core-device-devel" 23 | 24 | # Don't build .hddimg and .iso image formats as we don't need it. 25 | NOHDD = "1" 26 | NOISO = "1" 27 | 28 | # Removing tar.bz2 image format as it is not used. 29 | # If needed it can be supplied through own local.conf 30 | IMAGE_FSTYPES_remove = "tar.bz2" 31 | 32 | SPLASH = "psplash-pelux" 33 | -------------------------------------------------------------------------------- /conf/variant/intel-qtauto/README: -------------------------------------------------------------------------------- 1 | Variant configuration for building PELUX for the Intel NUC with Qt+QtAuto. 2 | -------------------------------------------------------------------------------- /conf/variant/intel-qtauto/bblayers.conf.sample: -------------------------------------------------------------------------------- 1 | # These are needed for bitbake to pick up the includes 2 | BSPDIR := "${TOPDIR}/.." 3 | BBPATH := "${TOPDIR}:${BSPDIR}/sources/meta-pelux" 4 | 5 | require conf/variant/common/bblayers.conf 6 | require conf/variant/common/bblayers-qtauto.conf 7 | 8 | BBLAYERS += "\ 9 | ${BSPDIR}/sources/meta-intel \ 10 | " 11 | -------------------------------------------------------------------------------- /conf/variant/intel-qtauto/conf-notes.txt: -------------------------------------------------------------------------------- 1 | Available PELUX images for intel-qtauto: 2 | * core-image-pelux-minimal 3 | * core-image-pelux-minimal-dev 4 | * core-image-pelux-minimal-update 5 | * core-image-pelux-minimal-dev-update 6 | 7 | * core-image-pelux-qtauto-neptune 8 | * core-image-pelux-qtauto-neptune-dev 9 | * core-image-pelux-qtauto-neptune-update 10 | * core-image-pelux-qtauto-neptune-dev-update 11 | 12 | Build them by running: bitbake 13 | -------------------------------------------------------------------------------- /conf/variant/intel-qtauto/local.conf.sample: -------------------------------------------------------------------------------- 1 | require conf/variant/common/local.conf 2 | 3 | MACHINE = "intel-corei7-64" 4 | 5 | IMAGE_FSTYPES += "wic wic.bmap wic.bz2" 6 | 7 | EFI_PROVIDER = "grub-efi" 8 | 9 | PREFERRED_PROVIDER_iasl-native = "iasl-native" 10 | 11 | WKS_FILE = "mkefidisk-multiboot.wks" 12 | WIC_CREATE_EXTRA_ARGS = "--no-fstab-update" 13 | 14 | IMAGE_INSTALL_append = " grub-efi" 15 | 16 | LICENSE_FLAGS_WHITELIST = "commercial_faad2" 17 | -------------------------------------------------------------------------------- /conf/variant/intel/README: -------------------------------------------------------------------------------- 1 | Variant configuration for building a non-graphical PELUX for the Intel NUC. 2 | -------------------------------------------------------------------------------- /conf/variant/intel/bblayers.conf.sample: -------------------------------------------------------------------------------- 1 | # These are needed in order to make bitbake pick up the includes 2 | BSPDIR := "${TOPDIR}/.." 3 | BBPATH := "${TOPDIR}:${BSPDIR}/sources/meta-pelux" 4 | 5 | require conf/variant/common/bblayers.conf 6 | 7 | BBLAYERS += "\ 8 | ${BSPDIR}/sources/meta-intel \ 9 | " 10 | -------------------------------------------------------------------------------- /conf/variant/intel/conf-notes.txt: -------------------------------------------------------------------------------- 1 | Available PELUX images for intel: 2 | * core-image-pelux-minimal 3 | * core-image-pelux-minimal-dev 4 | * core-image-pelux-minimal-update 5 | * core-image-pelux-minimal-dev-update 6 | 7 | Build them by running: bitbake 8 | -------------------------------------------------------------------------------- /conf/variant/intel/local.conf.sample: -------------------------------------------------------------------------------- 1 | require conf/variant/common/local.conf 2 | 3 | MACHINE = "intel-corei7-64" 4 | 5 | IMAGE_FSTYPES += "wic wic.bmap wic.bz2" 6 | 7 | EFI_PROVIDER = "grub-efi" 8 | 9 | PREFERRED_PROVIDER_iasl-native = "iasl-native" 10 | 11 | WKS_FILE = "mkefidisk-multiboot.wks" 12 | WIC_CREATE_EXTRA_ARGS = "--no-fstab-update" 13 | 14 | IMAGE_INSTALL_append = " grub-efi" 15 | 16 | LICENSE_FLAGS_WHITELIST = "commercial_faad2" 17 | -------------------------------------------------------------------------------- /conf/variant/jetson-tx2-qtauto/README: -------------------------------------------------------------------------------- 1 | Variant configuration for building PELUX for the NVIDIA Jetson TX2 with Qt, 2 | Qt Automotive Suite and Neptune 3 UI. 3 | -------------------------------------------------------------------------------- /conf/variant/jetson-tx2-qtauto/bblayers.conf.sample: -------------------------------------------------------------------------------- 1 | # This is needed for bitbake to pick up the includes 2 | BSPDIR := "${TOPDIR}/.." 3 | BBPATH := "${TOPDIR}:${BSPDIR}/sources/meta-pelux" 4 | 5 | require conf/variant/common/bblayers.conf 6 | require conf/variant/common/bblayers-qtauto.conf 7 | 8 | BBLAYERS += "\ 9 | ${BSPDIR}/sources/meta-tegra \ 10 | ${BSPDIR}/sources/meta-boot2qt/meta-tegra-extras \ 11 | " 12 | -------------------------------------------------------------------------------- /conf/variant/jetson-tx2-qtauto/conf-notes.txt: -------------------------------------------------------------------------------- 1 | Available PELUX images for jetson-tx2-qtauto: 2 | * core-image-pelux-minimal 3 | * core-image-pelux-minimal-dev 4 | * core-image-pelux-minimal-update 5 | * core-image-pelux-minimal-dev-update 6 | 7 | * core-image-pelux-qtauto-neptune 8 | * core-image-pelux-qtauto-neptune-dev 9 | * core-image-pelux-qtauto-neptune-update 10 | * core-image-pelux-qtauto-neptune-dev-update 11 | 12 | Build them by running: bitbake 13 | -------------------------------------------------------------------------------- /conf/variant/jetson-tx2-qtauto/local.conf.sample: -------------------------------------------------------------------------------- 1 | require conf/variant/common/local.conf 2 | 3 | MACHINE = "jetson-tx2" 4 | 5 | IMAGE_CLASSES += "image_types_tegra" 6 | IMAGE_FSTYPES += "tegraflash" 7 | 8 | LICENSE_FLAGS_WHITELIST = "commercial_faad2" 9 | 10 | BBMASK .= "./meta-tegra/recipes-graphics/vulkan/vulkan_1.1.73.0.bbappend" 11 | 12 | IMAGE_INSTALL_append = " \ 13 | kernel-modules \ 14 | " 15 | -------------------------------------------------------------------------------- /conf/variant/jetson-tx2/README: -------------------------------------------------------------------------------- 1 | Variant configuration for building a non-graphical PELUX for the NVIDIA Jetson TX2. 2 | -------------------------------------------------------------------------------- /conf/variant/jetson-tx2/bblayers.conf.sample: -------------------------------------------------------------------------------- 1 | # This is needed for bitbake to pick up the includes 2 | BSPDIR := "${TOPDIR}/.." 3 | BBPATH := "${TOPDIR}:${BSPDIR}/sources/meta-pelux" 4 | 5 | require conf/variant/common/bblayers.conf 6 | 7 | BBLAYERS += "\ 8 | ${BSPDIR}/sources/meta-tegra \ 9 | " 10 | -------------------------------------------------------------------------------- /conf/variant/jetson-tx2/conf-notes.txt: -------------------------------------------------------------------------------- 1 | Available PELUX images for jetson-tx2: 2 | * core-image-pelux-minimal 3 | * core-image-pelux-minimal-dev 4 | * core-image-pelux-minimal-update 5 | * core-image-pelux-minimal-dev-update 6 | 7 | Build them by running: bitbake 8 | -------------------------------------------------------------------------------- /conf/variant/jetson-tx2/local.conf.sample: -------------------------------------------------------------------------------- 1 | require conf/variant/common/local.conf 2 | 3 | MACHINE = "jetson-tx2" 4 | 5 | IMAGE_CLASSES += "image_types_tegra" 6 | IMAGE_FSTYPES += "tegraflash" 7 | 8 | BBMASK .= "./meta-tegra/recipes-graphics/vulkan/vulkan_1.1.73.0.bbappend" 9 | 10 | IMAGE_INSTALL_append = " \ 11 | kernel-modules \ 12 | " 13 | -------------------------------------------------------------------------------- /conf/variant/qemu-x86-64_nogfx/README: -------------------------------------------------------------------------------- 1 | These configurations are for emulated machine: qemux86-64. 2 | -------------------------------------------------------------------------------- /conf/variant/qemu-x86-64_nogfx/bblayers.conf.sample: -------------------------------------------------------------------------------- 1 | # These are needed in order to make bitbake pick up the includes 2 | BSPDIR := "${TOPDIR}/.." 3 | BBPATH := "${TOPDIR}:${BSPDIR}/sources/meta-pelux" 4 | 5 | require conf/variant/common/bblayers.conf 6 | -------------------------------------------------------------------------------- /conf/variant/qemu-x86-64_nogfx/conf-notes.txt: -------------------------------------------------------------------------------- 1 | Available PELUX images for qemu-x86-64_nogfx: 2 | * core-image-pelux-minimal 3 | * core-image-pelux-minimal-dev 4 | 5 | Build them by running: bitbake 6 | -------------------------------------------------------------------------------- /conf/variant/qemu-x86-64_nogfx/local.conf.sample: -------------------------------------------------------------------------------- 1 | require conf/variant/common/local.conf 2 | 3 | MACHINE = "qemux86-64" 4 | 5 | # Target Static IP address. Needed for ssh and ping test. 6 | STATIC_IP_ADDRESS = "192.168.7.2" 7 | 8 | # Enable testing 9 | INHERIT += " \ 10 | testimage \ 11 | testexport \ 12 | " 13 | 14 | # All test suites to run 15 | TEST_SUITES = " \ 16 | date \ 17 | ping \ 18 | ssh \ 19 | scp \ 20 | df \ 21 | parselogs \ 22 | softwarecontainer \ 23 | node_state_manager \ 24 | dlt_daemon \ 25 | systemd.SystemdBasicTests.test_systemd_basic \ 26 | systemd.SystemdBasicTests.test_systemd_failed \ 27 | systemd.SystemdBasicTests.test_systemd_list \ 28 | systemd.SystemdJournalTests.test_systemd_journal \ 29 | rpm.RpmBasicTest \ 30 | rpm.RpmInstallRemoveTest.test_rpm_install \ 31 | rpm.RpmInstallRemoveTest.test_rpm_query_nonroot \ 32 | rpm.RpmInstallRemoveTest.test_rpm_remove \ 33 | " 34 | -------------------------------------------------------------------------------- /conf/variant/rpi-qtauto/README: -------------------------------------------------------------------------------- 1 | Variant configuration for building PELUX for the Raspberry Pi 3 with Qt+QtAuto. 2 | -------------------------------------------------------------------------------- /conf/variant/rpi-qtauto/bblayers.conf.sample: -------------------------------------------------------------------------------- 1 | # This is needed for bitbake to pick up the includes 2 | BSPDIR := "${TOPDIR}/.." 3 | BBPATH := "${TOPDIR}:${BSPDIR}/sources/meta-pelux" 4 | 5 | require conf/variant/common/bblayers.conf 6 | require conf/variant/common/bblayers-qtauto.conf 7 | 8 | BBLAYERS += "\ 9 | ${BSPDIR}/sources/meta-raspberrypi \ 10 | " 11 | -------------------------------------------------------------------------------- /conf/variant/rpi-qtauto/conf-notes.txt: -------------------------------------------------------------------------------- 1 | Available PELUX images for rpi-qtauto: 2 | * core-image-pelux-minimal 3 | * core-image-pelux-minimal-dev 4 | * core-image-pelux-minimal-update 5 | * core-image-pelux-minimal-dev-update 6 | 7 | * core-image-pelux-qtauto-neptune 8 | * core-image-pelux-qtauto-neptune-dev 9 | * core-image-pelux-qtauto-neptune-update 10 | * core-image-pelux-qtauto-neptune-dev-update 11 | 12 | Build them by running: bitbake 13 | -------------------------------------------------------------------------------- /conf/variant/rpi-qtauto/local.conf.sample: -------------------------------------------------------------------------------- 1 | require conf/variant/common/local.conf 2 | 3 | WKS_FILE = "raspberrypi.wks" 4 | 5 | IMAGE_FSTYPES_append = " wic wic.bmap wic.bz2" 6 | 7 | MACHINE = "raspberrypi3" 8 | 9 | RPI_USE_U_BOOT = "1" 10 | 11 | LICENSE_FLAGS_WHITELIST = "commercial_faad2" 12 | 13 | PREFERRED_PROVIDER_u-boot-fw-utils = "u-boot-fw-utils" 14 | -------------------------------------------------------------------------------- /conf/variant/rpi/README: -------------------------------------------------------------------------------- 1 | Variant configuration for building a non-graphical PELUX for the Raspberry Pi 3. 2 | -------------------------------------------------------------------------------- /conf/variant/rpi/bblayers.conf.sample: -------------------------------------------------------------------------------- 1 | # This is needed for bitbake to pick up the includes 2 | BSPDIR := "${TOPDIR}/.." 3 | BBPATH := "${TOPDIR}:${BSPDIR}/sources/meta-pelux" 4 | 5 | require conf/variant/common/bblayers.conf 6 | 7 | BBLAYERS += "\ 8 | ${BSPDIR}/sources/meta-raspberrypi \ 9 | " 10 | -------------------------------------------------------------------------------- /conf/variant/rpi/conf-notes.txt: -------------------------------------------------------------------------------- 1 | Available PELUX images for rpi: 2 | * core-image-pelux-minimal 3 | * core-image-pelux-minimal-dev 4 | * core-image-pelux-minimal-update 5 | * core-image-pelux-minimal-dev-update 6 | 7 | Build them by running: bitbake 8 | -------------------------------------------------------------------------------- /conf/variant/rpi/local.conf.sample: -------------------------------------------------------------------------------- 1 | require conf/variant/common/local.conf 2 | 3 | WKS_FILE = "raspberrypi.wks" 4 | 5 | IMAGE_FSTYPES_append = " wic wic.bmap wic.bz2" 6 | 7 | MACHINE = "raspberrypi3" 8 | 9 | RPI_USE_U_BOOT = "1" 10 | 11 | LICENSE_FLAGS_WHITELIST = "commercial_faad2" 12 | 13 | PREFERRED_PROVIDER_u-boot-fw-utils = "u-boot-fw-utils" 14 | -------------------------------------------------------------------------------- /conf/variant/smarcimx8m-qtauto/README: -------------------------------------------------------------------------------- 1 | Variant configuration for building PELUX for the SMARC-iMX8M with Qt, 2 | Qt Automotive Suite and Neptune 3 UI. 3 | -------------------------------------------------------------------------------- /conf/variant/smarcimx8m-qtauto/bblayers.conf.sample: -------------------------------------------------------------------------------- 1 | # These are needed for bitbake to pick up the includes 2 | BSPDIR := "${TOPDIR}/.." 3 | BBPATH := "${TOPDIR}:${BSPDIR}/sources/meta-pelux" 4 | 5 | require conf/variant/common/bblayers.conf 6 | require conf/variant/common/bblayers-qtauto.conf 7 | 8 | BBLAYERS += " \ 9 | ${BSPDIR}/sources/meta-freescale-distro \ 10 | ${BSPDIR}/sources/meta-freescale \ 11 | ${BSPDIR}/sources/meta-fsl-bsp-release/imx/meta-bsp \ 12 | ${BSPDIR}/sources/meta-smarcimx8m \ 13 | ${BSPDIR}/sources/meta-boot2qt/meta-fsl-extras \ 14 | " 15 | -------------------------------------------------------------------------------- /conf/variant/smarcimx8m-qtauto/conf-notes.txt: -------------------------------------------------------------------------------- 1 | Available PELUX images for smarcimx8m-qtauto: 2 | * core-image-pelux-minimal 3 | * core-image-pelux-minimal-dev 4 | * core-image-pelux-minimal-update 5 | * core-image-pelux-minimal-dev-update 6 | 7 | * core-image-pelux-qtauto-neptune 8 | * core-image-pelux-qtauto-neptune-dev 9 | * core-image-pelux-qtauto-neptune-update 10 | * core-image-pelux-qtauto-neptune-dev-update 11 | 12 | Build them by running: bitbake 13 | -------------------------------------------------------------------------------- /conf/variant/smarcimx8m-qtauto/local.conf.sample: -------------------------------------------------------------------------------- 1 | require conf/variant/common/local.conf 2 | 3 | MACHINE = "smarcimx8m2g" 4 | 5 | LICENSE_FLAGS_WHITELIST = "commercial_faad2" 6 | 7 | # In order to accept Freescale EULA, uncomment the following line: 8 | #ACCEPT_FSL_EULA = "1" 9 | 10 | # networkmanager conflicts with connman 11 | MACHINE_EXTRA_RDEPENDS_remove = "networkmanager" 12 | 13 | BBMASK = "meta-fsl-bsp-release/imx/meta-bsp/recipes-connectivity/connman/" 14 | BBMASK += "/meta-smarcimx8m/recipes-core/psplash/" 15 | -------------------------------------------------------------------------------- /conf/variant/smarcimx8m/README: -------------------------------------------------------------------------------- 1 | Variant configuration for building a non-graphical PELUX for the SMARC-iMX8M. 2 | -------------------------------------------------------------------------------- /conf/variant/smarcimx8m/bblayers.conf.sample: -------------------------------------------------------------------------------- 1 | # These are needed for bitbake to pick up the includes 2 | BSPDIR := "${TOPDIR}/.." 3 | BBPATH := "${TOPDIR}:${BSPDIR}/sources/meta-pelux" 4 | 5 | require conf/variant/common/bblayers.conf 6 | 7 | BBLAYERS += " \ 8 | ${BSPDIR}/sources/meta-freescale-distro \ 9 | ${BSPDIR}/sources/meta-freescale \ 10 | ${BSPDIR}/sources/meta-fsl-bsp-release/imx/meta-bsp \ 11 | ${BSPDIR}/sources/meta-smarcimx8m \ 12 | " 13 | -------------------------------------------------------------------------------- /conf/variant/smarcimx8m/conf-notes.txt: -------------------------------------------------------------------------------- 1 | Available PELUX images for smarcimx8m: 2 | * core-image-pelux-minimal 3 | * core-image-pelux-minimal-dev 4 | * core-image-pelux-minimal-update 5 | * core-image-pelux-minimal-dev-update 6 | 7 | Build them by running: bitbake 8 | -------------------------------------------------------------------------------- /conf/variant/smarcimx8m/local.conf.sample: -------------------------------------------------------------------------------- 1 | require conf/variant/common/local.conf 2 | 3 | MACHINE = "smarcimx8m2g" 4 | 5 | LICENSE_FLAGS_WHITELIST = "commercial_faad2" 6 | 7 | # In order to accept Freescale EULA, uncomment the following line: 8 | #ACCEPT_FSL_EULA = "1" 9 | 10 | # networkmanager conflicts with connman 11 | MACHINE_EXTRA_RDEPENDS_remove = "networkmanager" 12 | 13 | BBMASK .= "|./meta-fsl-bsp-release/imx/meta-bsp/recipes-connectivity/connman/connman_%.bbappend" 14 | -------------------------------------------------------------------------------- /dynamic-layers/acrn-layer/recipes-core/images/core-image-pelux-sos.bb: -------------------------------------------------------------------------------- 1 | # Copyright (C) Luxoft Sweden AB 2 | # Released under the MIT license (see LICENSE for the terms) 3 | 4 | inherit core-image-pelux 5 | inherit acrn-service-os 6 | 7 | IMAGE_INSTALL_append = " \ 8 | efibootmgr \ 9 | pelux-vm \ 10 | " 11 | 12 | IMAGE_FEATURES_append = " \ 13 | ssh-server-openssh \ 14 | " 15 | 16 | IMAGE_INSTALL_remove += "swupdate" 17 | IMAGE_INSTALL_remove += "arp-driver" 18 | -------------------------------------------------------------------------------- /dynamic-layers/acrn-layer/recipes-vms/acrn-vm-init/acrn-vm-init/acrn-vm-init.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=ACRN Initialization procedure 3 | 4 | [Service] 5 | Type=oneshot 6 | ExecStart=/usr/share/acrn/scripts/acrn-vm-init.sh 7 | 8 | [Install] 9 | WantedBy=multi-user-target 10 | -------------------------------------------------------------------------------- /dynamic-layers/acrn-layer/recipes-vms/acrn-vm-init/acrn-vm-init/acrn-vm-init.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # offline SOS CPUs except BSP before launch UOS 3 | for i in `ls -d /sys/devices/system/cpu/cpu[1-99]`; do 4 | online=`cat $i/online` 5 | idx=`echo $i | tr -cd "[1-99]"` 6 | echo cpu$idx online=$online 7 | if [ "$online" = "1" ]; then 8 | echo 0 > $i/online 9 | # during boot time, cpu hotplug may be disabled by pci_device_probe during a pci module insmod 10 | while [ "$online" = "1" ]; do 11 | sleep 1 12 | echo 0 > $i/online 13 | online=`cat $i/online` 14 | done 15 | echo $idx > /sys/class/vhm/acrn_vhm/offline_cpu 16 | fi 17 | done 18 | -------------------------------------------------------------------------------- /dynamic-layers/acrn-layer/recipes-vms/acrn-vm-init/acrn-vm-init_1.0.0.bb: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2019 Luxoft Sweden AB 2 | # Released under the MIT license (see LICENSE for the terms) 3 | 4 | DESCRIPTION = "Systemd targets for starting ACRN VMs" 5 | LICENSE = "MIT" 6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=dd98d01d471fac8d8dbdd975229dba03" 7 | 8 | inherit systemd 9 | 10 | S = "${WORKDIR}" 11 | 12 | SRC_URI = " \ 13 | file://LICENSE \ 14 | file://acrn-vm-init.service \ 15 | file://acrn-vm-init.sh \ 16 | " 17 | 18 | FILES_${PN} = " \ 19 | ${datadir}/acrn/scripts/acrn-vm-init.sh \ 20 | ${systemd_system_unitdir}/acrn-init-vm.service \ 21 | " 22 | 23 | SYSTEMD_SERVICE_${PN} = "acrn-vm-init.service" 24 | 25 | do_install_append() { 26 | install -D -m 0755 ${S}/acrn-vm-init.sh ${D}${datadir}/acrn/scripts/acrn-vm-init.sh 27 | install -D -m 0644 ${S}/acrn-vm-init.service ${D}${systemd_system_unitdir}/acrn-vm-init.service 28 | } 29 | -------------------------------------------------------------------------------- /dynamic-layers/acrn-layer/recipes-vms/android-x86/android-x86-vm/.gitignore: -------------------------------------------------------------------------------- 1 | android-x86-uninstalled.iso 2 | -------------------------------------------------------------------------------- /dynamic-layers/acrn-layer/recipes-vms/android-x86/android-x86-vm/LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "[]" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright [yyyy] [name of copyright owner] 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /dynamic-layers/acrn-layer/recipes-vms/android-x86/android-x86-vm/android-x86-vm.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Start Android-x86 UOS 3 | After=acrnprobe.service 4 | After=weston.service 5 | After=systemd-resolved.service 6 | 7 | ConditionPathExists=/sys/kernel/gvt 8 | ConditionPathExists=/dev/acrn_vhm 9 | 10 | [Service] 11 | Type=simple 12 | RemainAfterExit=false 13 | ExecStart=/bin/sh /usr/share/acrn/scripts/launch_android_x86.sh 14 | 15 | [Install] 16 | WantedBy=acrn-vm2.target 17 | -------------------------------------------------------------------------------- /dynamic-layers/acrn-layer/recipes-vms/android-x86/android-x86-vm/launch_android_x86.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | function launch_linux_uos() 4 | { 5 | vm_name=$1 6 | 7 | # create a unique tap device for each VM 8 | tap="tap1" 9 | tap_exist=$(ip a | grep acrn_"$tap" | awk '{print $1}') 10 | if [ "$tap_exist"x != "x" ]; then 11 | echo "tap device existed, reuse acrn_$tap" 12 | else 13 | ip tuntap add dev acrn_$tap mode tap 14 | fi 15 | 16 | # if acrn-br0 exists, add VM's unique tap device under it 17 | br_exist=$(ip a | grep acrn-br0 | awk '{print $1}') 18 | if [ "$br_exist"x != "x" -a "$tap_exist"x = "x" ]; then 19 | echo "acrn-br0 bridge aleady exists, adding new tap device to it..." 20 | ip link set acrn_"$tap" master acrn-br0 21 | ip link set dev acrn_"$tap" down 22 | ip link set dev acrn_"$tap" up 23 | fi 24 | 25 | #check if the vm is running or not 26 | vm_ps=$(pgrep -a -f acrn-dm) 27 | result=$(echo $vm_ps | grep "${vm_name}") 28 | if [[ "$result" != "" ]]; then 29 | echo "$vm_name is running, can't create twice!" 30 | exit 1 31 | fi 32 | 33 | #for memsize setting 34 | mem_size=3072M 35 | 36 | acrn-dm -A -m $mem_size -c $2 -s 0:0,hostbridge -s 1:0,lpc -l com1,stdio \ 37 | -s 2,pci-gvt -G "$3" \ 38 | -s 5,virtio-console,@pty:pty_port \ 39 | -s 6,virtio-hyper_dmabuf \ 40 | -r /usr/share/acrn/images/android-x86/initrd.img \ 41 | -s 8,virtio-blk,/usr/share/acrn/images/android-x86/android.img \ 42 | -s 4,virtio-net,$tap \ 43 | -s 7,xhci,1-7 \ 44 | -k /usr/share/acrn/images/android-x86/kernel \ 45 | -B "console=tty0 console=hvc0 \ 46 | console=ttyS0 root=/dev/ram0 no_timer_check log_buf_len=16M loglevel=6 \ 47 | consoleblank=0 tsc=reliable i915.avail_planes_per_pipe=$4 vga=current modeset=1 \ 48 | i915.enable_hangcheck=0 i915.nuclear_pageflip=1 i915.enable_guc_loading=0 \ 49 | i915.enable_guc_submission=0 i915.enable_guc=0 security=selinux androidboot.selinux=permissive androidboot.hardware=acrn_android_x86_64 \ 50 | SRC=android-8.1-r1 DATA= " $vm_name 51 | } 52 | 53 | ipu_passthrough=0 54 | # Check the device file of /dev/vbs_ipu to determine the IPU mode 55 | if [ ! -e "/dev/vbs_ipu" ]; then 56 | ipu_passthrough=1 57 | fi 58 | 59 | cse_passthrough=0 60 | hbm_ver=`cat /sys/class/mei/mei0/hbm_ver` 61 | major_ver=`echo $hbm_ver | cut -d '.' -f1` 62 | minor_ver=`echo $hbm_ver | cut -d '.' -f2` 63 | if [[ "$major_ver" -lt "2" ]] || \ 64 | [[ "$major_ver" == "2" && "$minor_ver" -lt "2" ]]; then 65 | cse_passthrough=1 66 | fi 67 | 68 | # offline SOS CPUs except BSP before launch UOS 69 | for i in `ls -d /sys/devices/system/cpu/cpu[1-99]`; do 70 | online=`cat $i/online` 71 | idx=`echo $i | tr -cd "[1-99]"` 72 | echo cpu$idx online=$online 73 | if [ "$online" = "1" ]; then 74 | echo 0 > $i/online 75 | # during boot time, cpu hotplug may be disabled by pci_device_probe during a pci module insmod 76 | while [ "$online" = "1" ]; do 77 | sleep 1 78 | echo 0 > $i/online 79 | online=`cat $i/online` 80 | done 81 | echo $idx > /sys/class/vhm/acrn_vhm/offline_cpu 82 | fi 83 | done 84 | 85 | launch_linux_uos "android-x86" 2 "64 448 4" 0x090000 86 | -------------------------------------------------------------------------------- /dynamic-layers/acrn-layer/recipes-vms/android-x86/android-x86-vm_1.0.0.bb: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2019 Luxoft Sweden AB 2 | # Released under the MIT license (see LICENSE for the terms) 3 | 4 | DESCRIPTION = "Installs an android-x86 VM" 5 | LICENSE = "Apache-2.0" 6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" 7 | 8 | DEPENDS = "squashfs-tools-native parted-native xorriso-native e2fsprogs-native" 9 | RDEPENDS_${PN} = "acrn-vm-targets acrn-vm-init bash" 10 | 11 | inherit systemd 12 | 13 | S = "${WORKDIR}" 14 | 15 | SRC_URI = " \ 16 | file://LICENSE \ 17 | file://launch_android_x86.sh \ 18 | file://android-x86-vm.service \ 19 | file://android-x86-uninstalled.iso \ 20 | " 21 | 22 | FILES_${PN} = " \ 23 | ${datadir}/acrn/scripts/* \ 24 | ${systemd_system_unitdir}/* \ 25 | ${datadir}/acrn/images/android-x86/android.img \ 26 | ${datadir}/acrn/images/android-x86/initrd.img \ 27 | ${datadir}/acrn/images/android-x86/kernel \ 28 | " 29 | 30 | SYSTEMD_SERVICE_${PN} = "android-x86-vm.service" 31 | 32 | do_compile() { 33 | 34 | cd ${WORKDIR} 35 | 36 | for file_to_extract in system.sfs ramdisk.img initrd.img kernel 37 | do 38 | xorriso -osirrox on -indev android-x86-uninstalled.iso -extract $file_to_extract ${WORKDIR}/$file_to_extract 39 | done 40 | 41 | # Allocating disk image... 42 | SIZE_M=3500 43 | dd if=/dev/zero of=android.img bs=1M count=0 seek=$SIZE_M 44 | 45 | # Partitioning... 46 | parted android.img mklabel msdos --script 47 | # Creating ext4 FS... 48 | parted -a opt android.img mkpart primary ext4 0% 100% --script 49 | 50 | #Put the files (system.img, ramdisk.img) into the partition created. 51 | echo Repacking... 52 | 53 | IMG_MNT_DIR="${WORKDIR}/img_mnt" 54 | unsquashfs -d ${IMG_MNT_DIR} system.sfs 55 | cp ramdisk.img ${IMG_MNT_DIR}/ramdisk.img 56 | 57 | mkdir -p ${IMG_MNT_DIR}/data 58 | chmod 755 ${IMG_MNT_DIR}/data 59 | 60 | #Offset is the sector size * begining of the partition 61 | mkfs.ext4 -F -Eoffset=1048576 -d ${IMG_MNT_DIR} android.img 62 | 63 | rm -R ${IMG_MNT_DIR} 64 | } 65 | 66 | do_install_append() { 67 | install -D -m 0755 ${S}/launch_android_x86.sh ${D}${datadir}/acrn/scripts/launch_android_x86.sh 68 | install -D -m 0755 ${S}/android-x86-vm.service ${D}${systemd_system_unitdir}/android-x86-vm.service 69 | 70 | install -D -m 0644 ${WORKDIR}/initrd.img \ 71 | ${D}${datadir}/acrn/images/android-x86/initrd.img 72 | install -D -m 0644 ${WORKDIR}/android.img \ 73 | ${D}${datadir}/acrn/images/android-x86/android.img 74 | install -D -m 0644 ${WORKDIR}/kernel \ 75 | ${D}${datadir}/acrn/images/android-x86/kernel 76 | } 77 | -------------------------------------------------------------------------------- /dynamic-layers/acrn-layer/recipes-vms/pelux/pelux-vm/LICENSE: -------------------------------------------------------------------------------- 1 | Permission is hereby granted, free of charge, to any person obtaining a copy 2 | of this software and associated documentation files (the "Software"), to deal 3 | in the Software without restriction, including without limitation the rights 4 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 5 | copies of the Software, and to permit persons to whom the Software is 6 | furnished to do so, subject to the following conditions: 7 | 8 | The above copyright notice and this permission notice shall be included in 9 | all copies or substantial portions of the Software. 10 | 11 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 12 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 13 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 14 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 15 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 16 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 17 | THE SOFTWARE. 18 | -------------------------------------------------------------------------------- /dynamic-layers/acrn-layer/recipes-vms/pelux/pelux-vm/launch_pelux.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | function launch_linux_uos() 4 | { 5 | 6 | # create a unique tap device for each VM 7 | tap="tap0" 8 | tap_exist=$(ip a | grep acrn_"$tap" | awk '{print $1}') 9 | if [ "$tap_exist"x != "x" ]; then 10 | echo "tap device existed, reuse acrn_$tap" 11 | else 12 | ip tuntap add dev acrn_$tap mode tap 13 | fi 14 | 15 | # if acrn-br0 exists, add VM's unique tap device under it 16 | br_exist=$(ip a | grep acrn-br0 | awk '{print $1}') 17 | if [ "$br_exist"x != "x" -a "$tap_exist"x = "x" ]; then 18 | echo "acrn-br0 bridge aleady exists, adding new tap device to it..." 19 | ip link set acrn_"$tap" master acrn-br0 20 | ip link set dev acrn_"$tap" down 21 | ip link set dev acrn_"$tap" up 22 | fi 23 | 24 | 25 | vm_name=$1 26 | 27 | #check if the vm is running or not 28 | vm_ps=$(pgrep -a -f acrn-dm) 29 | result=$(echo $vm_ps | grep "${vm_name}") 30 | if [[ "$result" != "" ]]; then 31 | echo "$vm_name is running, can't create twice!" 32 | exit 1 33 | fi 34 | 35 | #for memsize setting 36 | mem_size=2048M 37 | 38 | acrn-dm -A -m $mem_size -c $2 -s 0:0,hostbridge -s 1:0,lpc -l com1,stdio \ 39 | -s 2,pci-gvt -G "$3" \ 40 | -s 5,virtio-console,@pty:pty_port \ 41 | -s 6,virtio-hyper_dmabuf \ 42 | -s 3,virtio-blk,/usr/share/acrn/images/linux/pelux.img \ 43 | -s 4,virtio-net,$tap \ 44 | -s 7,xhci,1-3 \ 45 | -s 25,passthru,1/0/0 \ 46 | -k /usr/share/acrn/images/linux/bzImage \ 47 | -B "root=/dev/vda3 rw rootwait maxcpus=$2 nohpet console=tty0 console=hvc0 \ 48 | console=ttyS0 no_timer_check log_buf_len=16M loglevel=2 \ 49 | consoleblank=0 tsc=reliable i915.avail_planes_per_pipe=$4 \ 50 | i915.enable_hangcheck=0 i915.nuclear_pageflip=1 i915.enable_guc_loading=0 \ 51 | i915.enable_guc_submission=0 i915.enable_guc=0" $vm_name 52 | } 53 | 54 | ipu_passthrough=0 55 | # Check the device file of /dev/vbs_ipu to determine the IPU mode 56 | if [ ! -e "/dev/vbs_ipu" ]; then 57 | ipu_passthrough=1 58 | fi 59 | 60 | cse_passthrough=0 61 | hbm_ver=`cat /sys/class/mei/mei0/hbm_ver` 62 | major_ver=`echo $hbm_ver | cut -d '.' -f1` 63 | minor_ver=`echo $hbm_ver | cut -d '.' -f2` 64 | if [[ "$major_ver" -lt "2" ]] || \ 65 | [[ "$major_ver" == "2" && "$minor_ver" -lt "2" ]]; then 66 | cse_passthrough=1 67 | fi 68 | 69 | # offline SOS CPUs except BSP before launch UOS 70 | for i in `ls -d /sys/devices/system/cpu/cpu[1-99]`; do 71 | online=`cat $i/online` 72 | idx=`echo $i | tr -cd "[1-99]"` 73 | echo cpu$idx online=$online 74 | if [ "$online" = "1" ]; then 75 | echo 0 > $i/online 76 | # during boot time, cpu hotplug may be disabled by pci_device_probe during a pci module insmod 77 | while [ "$online" = "1" ]; do 78 | sleep 1 79 | echo 0 > $i/online 80 | online=`cat $i/online` 81 | done 82 | echo $idx > /sys/class/vhm/acrn_vhm/offline_cpu 83 | fi 84 | done 85 | 86 | launch_linux_uos "core-image-pelux-qtauto-neptune-uos" 1 "64 448 4" 0x000F0F 87 | -------------------------------------------------------------------------------- /dynamic-layers/acrn-layer/recipes-vms/pelux/pelux-vm/pelux-vm.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Start PELUX UOS 3 | After=acrnprobe.service 4 | After=weston.service 5 | After=systemd-resolved.service 6 | Before=acrn-vm2.target 7 | 8 | ConditionPathExists=/sys/kernel/gvt 9 | ConditionPathExists=/dev/acrn_vhm 10 | 11 | [Service] 12 | Type=simple 13 | RemainAfterExit=false 14 | ExecStart=/bin/sh /usr/share/acrn/scripts/launch_pelux.sh 15 | 16 | [Install] 17 | WantedBy=acrn-vm1.target 18 | -------------------------------------------------------------------------------- /dynamic-layers/acrn-layer/recipes-vms/pelux/pelux-vm_1.0.0.bb: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2019 Luxoft Sweden AB 2 | # Released under the MIT license (see LICENSE for the terms) 3 | 4 | DESCRIPTION = "Script that starts a PELUX-VM" 5 | LICENSE = "MIT" 6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3da9cfbcb788c80a0384361b4de20420" 7 | 8 | RDEPENDS_${PN} = "acrn-vm-targets acrn-vm-init bash" 9 | 10 | inherit systemd 11 | 12 | S = "${WORKDIR}" 13 | 14 | SRC_URI = " \ 15 | file://LICENSE \ 16 | file://launch_pelux.sh \ 17 | file://pelux-vm.service \ 18 | " 19 | 20 | FILES_${PN} = " \ 21 | ${datadir}/acrn/scripts/* \ 22 | ${systemd_system_unitdir}/* \ 23 | ${datadir}/acrn/images/linux/pelux.img \ 24 | ${datadir}/acrn/images/linux/bzImage \ 25 | " 26 | 27 | SYSTEMD_SERVICE_${PN} = "pelux-vm.service" 28 | 29 | 30 | PELUX_IMAGE ?= "core-image-pelux-minimal" 31 | 32 | do_install[mcdepends] = "multiconfig:sos:uos:${PELUX_IMAGE}:do_image_complete" 33 | 34 | do_install_append() { 35 | install -D -m 0755 ${S}/launch_pelux.sh ${D}${datadir}/acrn/scripts/launch_pelux.sh 36 | install -D -m 0755 ${S}/pelux-vm.service ${D}${systemd_system_unitdir}/pelux-vm.service 37 | 38 | install -D -m 0644 ${TOPDIR}/tmpuos/deploy/images/${MACHINE}/${PELUX_IMAGE}-${MACHINE}.wic \ 39 | ${D}${datadir}/acrn/images/linux/pelux.img 40 | install -D -m 0644 ${TOPDIR}/tmpuos/deploy/images/${MACHINE}/bzImage \ 41 | ${D}${datadir}/acrn/images/linux/bzImage 42 | } 43 | -------------------------------------------------------------------------------- /dynamic-layers/acrn-layer/recipes-vms/targets/acrn-vm-targets/acrn-vm1.target: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=First ACRN VM to start 3 | After=acrn-vm-init.service 4 | Requires=acrn-vm-init.service 5 | Before=acrn-vm2.target 6 | Wants=acrn-vm2.target 7 | 8 | [Install] 9 | WantedBy=multi-user.target 10 | -------------------------------------------------------------------------------- /dynamic-layers/acrn-layer/recipes-vms/targets/acrn-vm-targets/acrn-vm2.target: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Second ACRN VM to start 3 | After=acrn-vm-init.service 4 | Requires=acrn-vm-init.service 5 | Before=acrn-vm3.target 6 | Wants=acrn-vm3.target 7 | 8 | [Install] 9 | WantedBy=multi-user.target 10 | -------------------------------------------------------------------------------- /dynamic-layers/acrn-layer/recipes-vms/targets/acrn-vm-targets/acrn-vm3.target: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Third ACRN VM to start 3 | After=acrn--vm-init.service 4 | Requires=acrn-vm-init.service 5 | 6 | [Install] 7 | WantedBy=multi-user.target 8 | -------------------------------------------------------------------------------- /dynamic-layers/acrn-layer/recipes-vms/targets/acrn-vm-targets_1.0.0.bb: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2019 Luxoft Sweden AB 2 | # Released under the MIT license (see LICENSE for the terms) 3 | 4 | DESCRIPTION = "Systemd targets for starting ACRN VMs" 5 | LICENSE = "MIT" 6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=dd98d01d471fac8d8dbdd975229dba03" 7 | 8 | RDEPENDS_${PN} = "acrn-vm-init" 9 | 10 | inherit systemd 11 | 12 | S = "${WORKDIR}" 13 | 14 | SRC_URI = " \ 15 | file://LICENSE \ 16 | file://acrn-vm1.target \ 17 | file://acrn-vm2.target \ 18 | file://acrn-vm3.target \ 19 | " 20 | 21 | FILES_${PN} = " \ 22 | ${systemd_system_unitdir}/acrn-vm1.target \ 23 | ${systemd_system_unitdir}/acrn-vm2.target \ 24 | ${systemd_system_unitdir}/acrn-vm3.target \ 25 | " 26 | 27 | SYSTEMD_SERVICE_${PN} = "acrn-vm1.target" 28 | 29 | do_install_append() { 30 | install -D -m 0755 ${S}/acrn-vm1.target ${D}${systemd_system_unitdir}/acrn-vm1.target 31 | install -D -m 0755 ${S}/acrn-vm2.target ${D}${systemd_system_unitdir}/acrn-vm2.target 32 | install -D -m 0755 ${S}/acrn-vm3.target ${D}${systemd_system_unitdir}/acrn-vm3.target 33 | } 34 | -------------------------------------------------------------------------------- /dynamic-layers/b2qt/recipes-core/images/core-image-pelux-qtauto-neptune-dev.bb: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2017 Pelagicore AB 3 | # Copyright (C) 2019 Luxoft Sweden AB 4 | # SPDX-License-Identifier: MIT 5 | # 6 | 7 | DESCRIPTION = "Reference PELUX image with QtAuto frontend" 8 | 9 | require core-image-pelux-qtauto-neptune.bb 10 | 11 | # Development stuff 12 | IMAGE_FEATURES += "tools-debug" 13 | IMAGE_INSTALL += "\ 14 | openssh-sftp-server \ 15 | packagegroup-bistro-debug-utils \ 16 | vim \ 17 | qtdeclarative-tools \ 18 | qtwayland-examples \ 19 | " 20 | -------------------------------------------------------------------------------- /dynamic-layers/b2qt/recipes-core/images/core-image-pelux-qtauto-neptune.bb: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2017 Pelagicore AB 3 | # Copyright (C) 2019 Luxoft Sweden AB 4 | # SPDX-License-Identifier: MIT 5 | # 6 | 7 | DESCRIPTION = "Reference PELUX image with QtAuto frontend" 8 | 9 | inherit core-image-pelux-qtauto 10 | inherit populate_sdk_qt5 11 | 12 | IMAGE_FEATURES += "ssh-server-openssh splash" 13 | 14 | # This image uses neptune as the reference UI, which is one of the addons in Qt Auto packagegroup 15 | IMAGE_INSTALL_append = "\ 16 | coreutils \ 17 | packagegroup-b2qt-automotive-addons \ 18 | " 19 | -------------------------------------------------------------------------------- /dynamic-layers/b2qt/recipes-devtools/python/python3-watchdog_0.8.5.bbappend: -------------------------------------------------------------------------------- 1 | # The main recipe in meta-boot2qt points to a url for this package which is 2 | # obsolete. It has been fixed in warrior but not in QtAS_5.13. 3 | PYPI_SRC_URI = "http://152.3.102.14/pypi/packages/36/48/743fa68f043bf8cab48e1fa70503a49c18ade92c543f7517af2ab3fdfaff/watchdog3-0.8.5.tar.gz" 4 | 5 | 6 | -------------------------------------------------------------------------------- /dynamic-layers/b2qt/recipes-graphics/hunspell/hunspell-dicts_%.bbappend: -------------------------------------------------------------------------------- 1 | do_install_append() { 2 | install -m 0755 -d ${D}${datadir}/hunspell 3 | 4 | install -m 0755 ${S}/cs_CZ/cs_CZ.dic ${D}${datadir}/hunspell 5 | install -m 0755 ${S}/cs_CZ/cs_CZ.aff ${D}${datadir}/hunspell 6 | 7 | install -m 0755 ${S}/de/de_DE_frami.dic ${D}${datadir}/hunspell 8 | install -m 0755 ${S}/de/de_DE_frami.aff ${D}${datadir}/hunspell 9 | 10 | install -m 0755 ${S}/en/en_US.dic ${D}${datadir}/hunspell 11 | install -m 0755 ${S}/en/en_US.aff ${D}${datadir}/hunspell 12 | } 13 | -------------------------------------------------------------------------------- /dynamic-layers/b2qt/recipes-multimedia/qtivi-mopidy-plugin/qtivi-mopidy-plugin_git.bb: -------------------------------------------------------------------------------- 1 | SUMMARY = "Qt IVI Mopidy media playback plugin" 2 | HOMEPAGE = "https://github.com/Pelagicore/qtivi-qtivi-plugin" 3 | SECTION = "libs/multimedia" 4 | LICENSE = "LGPL-3.0" 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3000208d539ec061b899bce1d9ce9404" 6 | 7 | DEPENDS = "qtbase qtwebsockets qtivi" 8 | RDEPENDS_${PN} = "qtivi" 9 | 10 | SRC_URI = "git://github.com/Pelagicore/qtivi-mopidy-plugin.git;protocol=https" 11 | SRCREV = "237d75b2f8f3987340d3be9214cb17622d2146b9" 12 | 13 | S = "${WORKDIR}/git" 14 | 15 | inherit qmake5 16 | 17 | do_install() { 18 | install -m 0755 -d ${D}${libdir}/plugins/qtivi/ 19 | install -m 0644 ${WORKDIR}/build/libmedia_mopidy.so ${D}${libdir}/plugins/qtivi/libmedia_mopidy_experimental.so 20 | } 21 | 22 | FILES_${PN} += "${libdir}/plugins/qtivi/" 23 | -------------------------------------------------------------------------------- /dynamic-layers/b2qt/recipes-qt/automotive/neptune3-ui/neptune: -------------------------------------------------------------------------------- 1 | LC_ALL=en_US 2 | DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/0/dbus_session_socket 3 | QT_IM_MODULE=qtvirtualkeyboard 4 | XDG_RUNTIME_DIR=/run/user/0 5 | QTWEBENGINE_CHROMIUM_FLAGS="--no-sandbox --single-process" 6 | WAYLAND_DISPLAY="qtam-wayland-0" 7 | QT_QPA_EGLFS_HIDECURSOR=1 8 | AM_STARTUP_TIMER=/tmp/am-startup-timing.log 9 | -------------------------------------------------------------------------------- /dynamic-layers/b2qt/recipes-qt/automotive/neptune3-ui/pelux.conf: -------------------------------------------------------------------------------- 1 | [Service] 2 | ExecStart= 3 | ExecStart=/opt/neptune3/neptune3-ui -r --dbus session -c am-config-neptune.yaml -platform eglfs $EXTRA_ARGUMENTS 4 | WorkingDirectory=/opt/neptune3 5 | EnvironmentFile= 6 | EnvironmentFile=/etc/default/neptune 7 | Environment=HOME=/home/%u/ 8 | -------------------------------------------------------------------------------- /dynamic-layers/b2qt/recipes-qt/automotive/neptune3-ui_git.bbappend: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2017 Pelagicore AB 3 | # Coprright (C) 2018-2019 Luxoft Sweden AB 4 | # SPDX-License-Identifier: MIT 5 | # 6 | 7 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" 8 | 9 | SRC_URI += "\ 10 | file://pelux.conf \ 11 | file://neptune \ 12 | " 13 | 14 | HAS_CONTAINMENT = "${@bb.utils.contains('DISTRO_FEATURES', 'process-containment', '-c /opt/am/sc-config.yaml', '', d)}" 15 | FORCE_SINGLE_PROCESS = "${@bb.utils.contains('MACHINE', 'raspberrypi3', ' --force-single-process', '', d)}" 16 | 17 | # Add software-container AM config to appman cmdline if we have containment support 18 | # Also check out assets stored at Git LFS 19 | do_install_prepend() { 20 | cd ${WORKDIR}/git/ 21 | git lfs pull 22 | cd - 23 | } 24 | 25 | # If we are installing on a rpi3, we need to force wayland to use the broadcom 26 | # driver when starting appman with neptune. 27 | do_install_prepend_rpi() { 28 | ENV_LINE="QT_WAYLAND_HARDWARE_INTEGRATION=brcm" 29 | if ! grep -q "$ENV_LINE" "${WORKDIR}/neptune"; then 30 | sed -e "\$a$ENV_LINE" ${WORKDIR}/neptune 31 | fi 32 | } 33 | 34 | do_install_append() { 35 | install -d ${D}${sysconfdir}/default/ 36 | install -d ${D}${systemd_system_unitdir}/neptune.service.d/ 37 | 38 | install -m 0644 ${WORKDIR}/neptune ${D}${sysconfdir}/default/ 39 | 40 | sed -i -e "s|\$EXTRA_ARGUMENTS|${HAS_CONTAINMENT}${FORCE_SINGLE_PROCESS}|" ${WORKDIR}/pelux.conf 41 | install -m 0644 ${WORKDIR}/pelux.conf ${D}${systemd_system_unitdir}/neptune.service.d/ 42 | } 43 | 44 | RDEPENDS_${PN} += " qtquickcontrols-qmlplugins " 45 | 46 | FILES_${PN} += "\ 47 | ${sysconfdir}/default/ \ 48 | ${systemd_unitdir}/system/neptune.service.d/pelux.conf \ 49 | " 50 | 51 | FILES_${PN}-tests += "${datadir}/qt5/tests/neptune-qmltestsrunner/neptune-qmltestsrunner" 52 | PACKAGES =+ "${PN}-tests" 53 | -------------------------------------------------------------------------------- /dynamic-layers/b2qt/recipes-qt/automotive/qtapplicationmanager-noop.inc: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2017 Pelagicore AB 3 | # SPDX-License-Identifier: MIT 4 | # 5 | 6 | # This file is intentionally left blank: it is sourced by the _append recipe for 7 | # qtapplicationmanager when the softwarecontainer plugin is disabled. This file 8 | # is needed because the "require" directive would fail otherwise; and on the 9 | # other hand, we want to use the "require" directory (instead of just 10 | # "include") because we want an error to be generated if, for any reason, the 11 | # qtapplicationmanager-sc.inc file is not found. 12 | -------------------------------------------------------------------------------- /dynamic-layers/b2qt/recipes-qt/automotive/qtapplicationmanager-sc.inc: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2017 Pelagicore AB 3 | # Copyright (C) 2018 Luxoft Sweden AB 4 | # SPDX-License-Identifier: MIT 5 | # 6 | 7 | RDEPENDS_${PN}_append = " ${PN}-softwarecontainer" 8 | 9 | # Due to immediate expansion of variables using :=, ${PN} is not yet available 10 | # in this .inc-file 11 | FILESEXTRAPATHS_prepend := "${THISDIR}/qtapplicationmanager:" 12 | 13 | EXTRA_QMAKEVARS_PRE_append = " \ 14 | -config enable-examples \ 15 | " 16 | 17 | SRC_URI_append = " \ 18 | file://sc-config.yaml \ 19 | " 20 | 21 | # softwarecontainer is not configured for Jetson TX2 at the moment, 22 | # so do not run the Calendar and Map apps inside the container 23 | do_install_prepend_tegra186() { 24 | sed -i '/com.pelagicore.calendar/d' ${WORKDIR}/sc-config.yaml 25 | sed -i '/com.pelagicore.map/d' ${WORKDIR}/sc-config.yaml 26 | } 27 | 28 | do_install_append_class-target() { 29 | install -d ${D}${libdir} 30 | install -m 755 ${B}/examples/applicationmanager/softwarecontainer-plugin/libsoftwarecontainer-plugin.so ${D}${libdir} 31 | install ${WORKDIR}/sc-config.yaml ${D}/opt/am/ 32 | } 33 | 34 | FILES_SOLIBSDEV = "" 35 | PACKAGES =+ "${PN}-softwarecontainer" 36 | FILES_${PN}-softwarecontainer = "\ 37 | ${libdir}/libsoftwarecontainer-plugin.so \ 38 | " 39 | -------------------------------------------------------------------------------- /dynamic-layers/b2qt/recipes-qt/automotive/qtapplicationmanager/sc-config.yaml: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright Pelagicore 2017 3 | # 4 | formatVersion: 1 5 | formatType: am-configuration 6 | --- 7 | containers: 8 | selection: 9 | - com.pelagicore.map: "softwarecontainer" 10 | - com.pelagicore.calendar: "softwarecontainer" 11 | - "*": "process" 12 | 13 | softwarecontainer: 14 | dbus: system 15 | 16 | plugins: 17 | container: [ "/usr/lib/libsoftwarecontainer-plugin.so" ] 18 | -------------------------------------------------------------------------------- /dynamic-layers/b2qt/recipes-qt/automotive/qtapplicationmanager_git.bbappend: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2017 Pelagicore AB 3 | # SPDX-License-Identifier: MIT 4 | # 5 | 6 | containment = "${@bb.utils.contains('DISTRO_FEATURES', 'process-containment', 'sc', 'noop', d)}" 7 | require qtapplicationmanager-${containment}.inc 8 | 9 | ALLOW_EMPTY_${PN}-tools = "1" 10 | -------------------------------------------------------------------------------- /dynamic-layers/b2qt/recipes-qt/boot2qt-addons/qdb_%.bbappend: -------------------------------------------------------------------------------- 1 | SYSTEMD_AUTO_ENABLE = "disable" 2 | -------------------------------------------------------------------------------- /dynamic-layers/b2qt/recipes-qt/qt5/qtbase_%.bbappend: -------------------------------------------------------------------------------- 1 | # Remove gbm support if we're building for rpi 2 | PACKAGECONFIG_remove_rpi = "gbm" 3 | 4 | # examples packageconfig is set in meta-raspberrypi 5 | PACKAGECONFIG_remove_rpi = "examples" 6 | -------------------------------------------------------------------------------- /dynamic-layers/b2qt/recipes-qt/qt5/qttools_%.bbappend: -------------------------------------------------------------------------------- 1 | # This will skip the test for clang and mark it as not found 2 | # It will result in qdoc not beeing build, which we don't need on the target anyway 3 | EXTRA_QMAKEVARS_PRE += " CONFIG+=config_clang_done " 4 | -------------------------------------------------------------------------------- /dynamic-layers/b2qt/recipes-qt/qt5/qtwayland/add-wayland-scanner-client-wayland-protocol-include.patch: -------------------------------------------------------------------------------- 1 | diff --git a/src/hardwareintegration/client/brcm-egl/brcm-egl.pri b/src/hardwareintegration/client/brcm-egl/brcm-egl.pri 2 | index f9f8d072..74292783 100644 3 | --- a/src/hardwareintegration/client/brcm-egl/brcm-egl.pri 4 | +++ b/src/hardwareintegration/client/brcm-egl/brcm-egl.pri 5 | @@ -1,6 +1,7 @@ 6 | INCLUDEPATH += $$PWD 7 | 8 | QMAKE_USE += egl wayland-client libdl 9 | +CONFIG += wayland-scanner-client-wayland-protocol-include 10 | QT += egl_support-private 11 | 12 | SOURCES += $$PWD/qwaylandbrcmeglintegration.cpp \ 13 | -------------------------------------------------------------------------------- /dynamic-layers/b2qt/recipes-qt/qt5/qtwayland_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" 2 | 3 | SRC_URI_append_raspberrypi3 = " \ 4 | file://add-wayland-scanner-client-wayland-protocol-include.patch \ 5 | " 6 | 7 | # Make sure we build with support for the broadcom driver if building for rpi 8 | PACKAGECONFIG_append_rpi = " wayland-brcm " 9 | 10 | # Build examples for wayland since they provide a sample compositor which is handy 11 | # to test the graphic setup 12 | PACKAGECONFIG_append = " examples " 13 | -------------------------------------------------------------------------------- /dynamic-layers/b2qt/recipes-temporary-patches/qt5/qtbase_%.bbappend: -------------------------------------------------------------------------------- 1 | 2 | # Rocko change, all python occurences are now python3 3 | do_install_prepend() { 4 | sed -i -e 's|/usr/bin/python$|/usr/bin/python3|' ${S}/mkspecs/features/uikit/devices.py 5 | } 6 | -------------------------------------------------------------------------------- /dynamic-layers/intel/recipes-bsp/acpid/acpid_2.%.bbappend: -------------------------------------------------------------------------------- 1 | 2 | FILESEXTRAPATHS_prepend := "${THISDIR}/files:" 3 | 4 | SRC_URI += "\ 5 | file://powerbtn \ 6 | file://powerbtn.sh \ 7 | " 8 | 9 | do_install_append() { 10 | install -m 0755 ${WORKDIR}/powerbtn.sh ${D}${sysconfdir}/acpi/powerbtn.sh 11 | install -m 0644 ${WORKDIR}/powerbtn ${D}${sysconfdir}/acpi/events/powerbtn 12 | } 13 | -------------------------------------------------------------------------------- /dynamic-layers/intel/recipes-bsp/acpid/files/powerbtn: -------------------------------------------------------------------------------- 1 | event=button[ /]power 2 | action=/etc/acpi/powerbtn.sh 3 | -------------------------------------------------------------------------------- /dynamic-layers/intel/recipes-bsp/acpid/files/powerbtn.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # Initiates a shutdown when the power putton has been pressed. 3 | 4 | /sbin/shutdown -h now "Power button pressed" 5 | 6 | -------------------------------------------------------------------------------- /dynamic-layers/intel/recipes-bsp/thermald/thermald_%.bbappend: -------------------------------------------------------------------------------- 1 | SYSTEMD_AUTO_ENABLE = "disable" 2 | -------------------------------------------------------------------------------- /dynamic-layers/intel/recipes-core/base-files/base-files/intel-corei7-64/fstab: -------------------------------------------------------------------------------- 1 | /dev/root / auto defaults 1 1 2 | PARTUUID=279767e4-75b9-4b6b-92ca-cddbe821e3a6 /boot vfat defaults 0 0 3 | PARTUUID=36e409e3-bec6-4d36-9d93-51f917421531 swap swap defaults 0 0 4 | PARTUUID=bb816e8c-8133-11e9-bd41-631d53cbea7e /data ext4 defaults 0 0 5 | -------------------------------------------------------------------------------- /dynamic-layers/intel/recipes-core/base-files/base-files_%.bbappend: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2017 Pelagicore AB 3 | # SPDX-License-Identifier: MIT 4 | # 5 | 6 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" 7 | SRC_URI += "file://fstab" 8 | 9 | -------------------------------------------------------------------------------- /dynamic-layers/intel/recipes-kernel/linux/files/disable-brtfs.cfg: -------------------------------------------------------------------------------- 1 | CONFIG_BTRFS_FS=n 2 | -------------------------------------------------------------------------------- /dynamic-layers/intel/recipes-kernel/linux/files/enable-hid-multitouch.cfg: -------------------------------------------------------------------------------- 1 | CONFIG_HID_MULTITOUCH=m 2 | -------------------------------------------------------------------------------- /dynamic-layers/intel/recipes-kernel/linux/files/enable-veth.cfg: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2016 Pelagicore AB 3 | # 4 | CONFIG_VETH=y 5 | -------------------------------------------------------------------------------- /dynamic-layers/intel/recipes-kernel/linux/linux-intel_%.bbappend: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2016 Pelagicore AB 3 | # Copyright (C) 2018-2019 Luxoft Sweden AB 4 | # 5 | 6 | FILESEXTRAPATHS_prepend := "${THISDIR}/files:" 7 | 8 | KERNEL_FEATURES_append = " \ 9 | features/can/can.scc \ 10 | features/mmc/mmc-realtek.scc \ 11 | " 12 | 13 | # Additional config fragments 14 | SRC_URI += " \ 15 | file://enable-veth.cfg \ 16 | file://enable-hid-multitouch.cfg \ 17 | file://disable-brtfs.cfg \ 18 | " 19 | -------------------------------------------------------------------------------- /dynamic-layers/intel/recipes-support/grub/grub-efi/grubenv: -------------------------------------------------------------------------------- 1 | # GRUB Environment Block 2 | default=0 3 | ############################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################# -------------------------------------------------------------------------------- /dynamic-layers/intel/recipes-support/grub/grub-efi/grubenv-copy.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Service that copies grubenv to /boot/ after swupdate 3 | After=local-fs.target 4 | 5 | [Service] 6 | ExecStart=/usr/bin/grubenv-copy.sh 7 | 8 | [Install] 9 | WantedBy=multi-user.target 10 | -------------------------------------------------------------------------------- /dynamic-layers/intel/recipes-support/grub/grub-efi/grubenv-copy.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | if [ ! -f /boot/EFI/BOOT/grubenv ]; then 4 | cp /usr/share/grubenv /boot/EFI/BOOT/grubenv 5 | fi 6 | -------------------------------------------------------------------------------- /dynamic-layers/intel/recipes-support/grub/grub-efi_%.bbappend: -------------------------------------------------------------------------------- 1 | inherit systemd 2 | 3 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}/:" 4 | 5 | SRC_URI += "\ 6 | file://grubenv \ 7 | file://grubenv-copy.sh \ 8 | file://grubenv-copy.service\ 9 | " 10 | 11 | do_install_append() { 12 | install -d ${D}${bindir} 13 | install -d ${D}${datadir} 14 | install -d ${D}${systemd_system_unitdir} 15 | 16 | install -m 0644 ${WORKDIR}/grubenv ${D}${datadir} 17 | install -m 0755 ${WORKDIR}/grubenv-copy.sh ${D}${bindir} 18 | install -m 0644 ${WORKDIR}/grubenv-copy.service ${D}${systemd_system_unitdir} 19 | } 20 | 21 | FILES_${PN} += " \ 22 | ${datadir}/grubenv \ 23 | ${bindir}/grubenv-copy.sh \ 24 | ${systemd_system_unitdir}/grubenv-copy.service \ 25 | " 26 | 27 | SYSTEMD_SERVICE_${PN} = "grubenv-copy.service" 28 | 29 | GRUB_BUILDIN = "boot linux fat part_gpt normal efi_gop loadenv" 30 | -------------------------------------------------------------------------------- /dynamic-layers/intel/recipes-support/swupdate/swupdate/defconfig: -------------------------------------------------------------------------------- 1 | # 2 | # Automatically generated file; DO NOT EDIT. 3 | # Swupdate Configuration 4 | # 5 | CONFIG_HAVE_DOT_CONFIG=y 6 | 7 | # 8 | # Swupdate Settings 9 | # 10 | 11 | # 12 | # General Configuration 13 | # 14 | CONFIG_SCRIPTS=y 15 | CONFIG_HW_COMPATIBILITY=y 16 | CONFIG_HW_COMPATIBILITY_FILE="/etc/hwrevision" 17 | CONFIG_SW_VERSIONS_FILE="/etc/sw-versions" 18 | # CONFIG_MTD is not set 19 | CONFIG_LUA=y 20 | CONFIG_LUAPKG="lua" 21 | # CONFIG_FEATURE_SYSLOG is not set 22 | 23 | # 24 | # Build Options 25 | # 26 | CONFIG_CROSS_COMPILE="" 27 | CONFIG_SYSROOT="" 28 | CONFIG_EXTRA_CFLAGS="" 29 | CONFIG_EXTRA_LDFLAGS="" 30 | CONFIG_EXTRA_LDLIBS="" 31 | 32 | # 33 | # Debugging Options 34 | # 35 | # CONFIG_DEBUG is not set 36 | # CONFIG_WERROR is not set 37 | # CONFIG_NOCLEANUP is not set 38 | # CONFIG_BOOTLOADER is not set 39 | # CONFIG_UBOOT is not set 40 | # CONFIG_BOOTLOADER_NONE is not set 41 | CONFIG_BOOTLOADER_GRUB=y 42 | CONFIG_GRUBENV_PATH="/boot/EFI/BOOT/grubenv" 43 | CONFIG_DOWNLOAD=y 44 | CONFIG_HASH_VERIFY=y 45 | # CONFIG_SIGNED_IMAGES is not set 46 | CONFIG_ENCRYPTED_IMAGES=y 47 | CONFIG_SURICATTA=y 48 | 49 | # 50 | # Suricatta 51 | # 52 | 53 | # 54 | # Features 55 | # 56 | CONFIG_SURICATTA_SSL=y 57 | # CONFIG_SURICATTA_STATE_CHOICE_NONE is not set 58 | CONFIG_SURICATTA_STATE_CHOICE_BOOTLOADER=y 59 | CONFIG_SURICATTA_STATE_BOOTLOADER="ustate" 60 | 61 | # 62 | # Server 63 | # 64 | CONFIG_SURICATTA_HAWKBIT=y 65 | # CONFIG_SURICATTA_SERVER_NONE is not set 66 | # CONFIG_WEBSERVER is not set 67 | 68 | # 69 | # Archival Features 70 | # 71 | CONFIG_GUNZIP=y 72 | 73 | # 74 | # Parser Features 75 | # 76 | CONFIG_LIBCONFIG=y 77 | CONFIG_PARSERROOT="" 78 | CONFIG_JSON=y 79 | # CONFIG_LUAEXTERNAL is not set 80 | # CONFIG_SETSWDESCRIPTION is not set 81 | 82 | # 83 | # Image Handlers 84 | # 85 | CONFIG_RAW=y 86 | CONFIG_LUASCRIPTHANDLER=y 87 | CONFIG_SHELLSCRIPTHANDLER=y 88 | # CONFIG_HANDLER_IN_LUA is not set 89 | CONFIG_ARCHIVE=y 90 | CONFIG_REMOTE_HANDLER=y 91 | CONFIG_BOOTLOADERHANDLER=y 92 | -------------------------------------------------------------------------------- /dynamic-layers/intel/recipes-support/swupdate/swupdate_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS_append := "${THISDIR}/${PN}:" 2 | 3 | RDEPENDS_${PN} += "parted util-linux-sfdisk" 4 | -------------------------------------------------------------------------------- /dynamic-layers/raspberrypi/recipes-bsp/boot-files/rpi-config_%.bbappend: -------------------------------------------------------------------------------- 1 | 2 | # 3 | # Reserve 512MB RAM for the GPU if this is the QtAS variant, otherwise 128MB 4 | # 5 | # This checks if the b2qt layer is included. 6 | # 7 | 8 | GPU_MEM="${@bb.utils.contains("BBFILE_COLLECTIONS", "b2qt", 512, 128, d)}" 9 | 10 | # 11 | # This option, together with the kernel serial command line parameter (in 12 | # commandline.txt) enables serial console from the kernel. 13 | # 14 | ENABLE_UART="1" 15 | 16 | do_deploy_append_raspberrypi3() { 17 | echo "# Enable audio (loads snd_bcm2835)" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt 18 | echo "dtparam=audio=on" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt 19 | } 20 | -------------------------------------------------------------------------------- /dynamic-layers/raspberrypi/recipes-bsp/rpi-uboot-scr/files/boot.cmd.in: -------------------------------------------------------------------------------- 1 | saveenv 2 | fdt addr ${fdt_addr} && fdt get value bootargs /chosen bootargs 3 | fatload mmc 0:1 ${kernel_addr_r} @@KERNEL_IMAGETYPE@@ 4 | if env exists rpipart;then setenv bootargs ${bootargs} root=/dev/mmcblk0p${rpipart}; fi 5 | @@KERNEL_BOOTCMD@@ ${kernel_addr_r} - ${fdt_addr} 6 | -------------------------------------------------------------------------------- /dynamic-layers/raspberrypi/recipes-bsp/rpi-uboot-scr/rpi-u-boot-scr.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS_prepend := "${THISDIR}/files:" 2 | -------------------------------------------------------------------------------- /dynamic-layers/raspberrypi/recipes-bsp/u-boot/u-boot-fw-utils/fw_env.config: -------------------------------------------------------------------------------- 1 | # Configuration file for fw_(printenv/setenv) utility. 2 | # Up to two entries are valid, in this case the redundant 3 | # environment sector is assumed present. 4 | # Notice, that the "Number of sectors" is not required on NOR and SPI-dataflash. 5 | # Futhermore, if the Flash sector size is omitted, this value is assumed to 6 | # be the same as the Environment size, which is valid for NOR and SPI-dataflash 7 | # Device offset must be prefixed with 0x to be parsed as a hexadecimal value. 8 | 9 | /boot/uboot.env 0x0000 0x4000 10 | -------------------------------------------------------------------------------- /dynamic-layers/raspberrypi/recipes-bsp/u-boot/u-boot-fw-utils_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" 2 | 3 | SRC_URI += "file://fw_env.config" 4 | 5 | do_install_append() { 6 | if [ -e ${WORKDIR}/fw_env.config ] ; then 7 | install -d ${D}${sysconfdir} 8 | install -m 644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config 9 | fi 10 | } 11 | -------------------------------------------------------------------------------- /dynamic-layers/raspberrypi/recipes-core/base-files/base-files/raspberrypi3/fstab: -------------------------------------------------------------------------------- 1 | /dev/root / auto defaults 1 1 2 | -------------------------------------------------------------------------------- /dynamic-layers/raspberrypi/recipes-core/base-files/base-files_%.bbappend: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2017 Pelagicore AB 3 | # SPDX-License-Identifier: MIT 4 | # 5 | 6 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" 7 | SRC_URI += "file://fstab" 8 | 9 | -------------------------------------------------------------------------------- /dynamic-layers/raspberrypi/recipes-kernel/linux/linux-raspberrypi/usb_functionfs.cfg: -------------------------------------------------------------------------------- 1 | CONFIG_USB_FUNCTIONFS=m 2 | -------------------------------------------------------------------------------- /dynamic-layers/raspberrypi/recipes-kernel/linux/linux-raspberrypi_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" 2 | 3 | SRC_URI += "file://usb_functionfs.cfg" 4 | 5 | CMDLINE_append = "cgroup_enable=memory quiet logo.nologo" 6 | -------------------------------------------------------------------------------- /dynamic-layers/raspberrypi/recipes-support/swupdate/swupdate/defconfig: -------------------------------------------------------------------------------- 1 | # 2 | # Automatically generated file; DO NOT EDIT. 3 | # Swupdate Configuration 4 | # 5 | CONFIG_HAVE_DOT_CONFIG=y 6 | 7 | # 8 | # Swupdate Settings 9 | # 10 | 11 | # 12 | # General Configuration 13 | # 14 | CONFIG_SCRIPTS=y 15 | CONFIG_HW_COMPATIBILITY=y 16 | CONFIG_HW_COMPATIBILITY_FILE="/etc/hwrevision" 17 | CONFIG_SW_VERSIONS_FILE="/etc/sw-versions" 18 | # CONFIG_MTD is not set 19 | CONFIG_LUA=y 20 | CONFIG_LUAPKG="lua" 21 | # CONFIG_FEATURE_SYSLOG is not set 22 | 23 | # 24 | # Build Options 25 | # 26 | CONFIG_CROSS_COMPILE="" 27 | CONFIG_SYSROOT="" 28 | CONFIG_EXTRA_CFLAGS="" 29 | CONFIG_EXTRA_LDFLAGS="" 30 | CONFIG_EXTRA_LDLIBS="" 31 | 32 | # 33 | # Debugging Options 34 | # 35 | # CONFIG_DEBUG is not set 36 | # CONFIG_WERROR is not set 37 | # CONFIG_NOCLEANUP is not set 38 | # CONFIG_BOOTLOADER is not set 39 | CONFIG_UBOOT=y 40 | # CONFIG_BOOTLOADER_NONE is not set 41 | # CONFIG_BOOTLOADER_GRUB is not set 42 | CONFIG_UBOOT_FWENV="/etc/fw_env.config" 43 | CONFIG_DOWNLOAD=y 44 | CONFIG_HASH_VERIFY=y 45 | # CONFIG_SIGNED_IMAGES is not set 46 | CONFIG_ENCRYPTED_IMAGES=y 47 | CONFIG_SURICATTA=y 48 | 49 | # 50 | # Suricatta 51 | # 52 | 53 | # 54 | # Features 55 | # 56 | CONFIG_SURICATTA_SSL=y 57 | # CONFIG_SURICATTA_STATE_CHOICE_NONE is not set 58 | CONFIG_SURICATTA_STATE_CHOICE_BOOTLOADER=y 59 | CONFIG_SURICATTA_STATE_BOOTLOADER="ustate" 60 | 61 | # 62 | # Server 63 | # 64 | CONFIG_SURICATTA_HAWKBIT=y 65 | # CONFIG_SURICATTA_SERVER_NONE is not set 66 | # CONFIG_WEBSERVER is not set 67 | 68 | # 69 | # Archival Features 70 | # 71 | CONFIG_GUNZIP=y 72 | 73 | # 74 | # Parser Features 75 | # 76 | CONFIG_LIBCONFIG=y 77 | CONFIG_PARSERROOT="" 78 | CONFIG_JSON=y 79 | # CONFIG_LUAEXTERNAL is not set 80 | # CONFIG_SETSWDESCRIPTION is not set 81 | 82 | # 83 | # Image Handlers 84 | # 85 | CONFIG_RAW=y 86 | CONFIG_LUASCRIPTHANDLER=y 87 | CONFIG_SHELLSCRIPTHANDLER=y 88 | # CONFIG_HANDLER_IN_LUA is not set 89 | CONFIG_ARCHIVE=y 90 | CONFIG_REMOTE_HANDLER=y 91 | CONFIG_BOOTLOADERHANDLER=y 92 | -------------------------------------------------------------------------------- /dynamic-layers/raspberrypi/recipes-support/swupdate/swupdate_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS_append := "${THISDIR}/${PN}:" 2 | 3 | RDEPENDS_${PN} += "parted util-linux-sfdisk u-boot-fw-utils" 4 | -------------------------------------------------------------------------------- /dynamic-layers/smarcimx8m/recipes-alexa/avs-device-sdk/avs-device-sdk_%.bbappend: -------------------------------------------------------------------------------- 1 | # build without snowboy support since build fails with 2 | # the aarch64 binaries it provides 3 | PACKAGECONFIG_remove = " kittai " 4 | -------------------------------------------------------------------------------- /dynamic-layers/smarcimx8m/recipes-qt/qt5/packagegroup-qt5-toolchain-target.bbappend: -------------------------------------------------------------------------------- 1 | RDEPENDS_${PN}_remove = " \ 2 | qtwebkit-dev \ 3 | " 4 | -------------------------------------------------------------------------------- /dynamic-layers/smarcimx8m/recipes-qt/qt5/qtbase_git.bbappend: -------------------------------------------------------------------------------- 1 | PACKAGECONFIG_append = " eglfs " 2 | -------------------------------------------------------------------------------- /dynamic-layers/tegra/recipes-alexa/avs-device-sdk/avs-device-sdk_%.bbappend: -------------------------------------------------------------------------------- 1 | # build without snowboy support since build fails with 2 | # the aarch64 binaries it provides 3 | PACKAGECONFIG_remove = " kittai " 4 | -------------------------------------------------------------------------------- /dynamic-layers/template-layer/core-image-pelux-template.bb: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2017 Pelagicore AB 3 | # SPDX-License-Identifier: MIT 4 | # 5 | 6 | DESCRIPTION = "PELUX image that contains the template service" 7 | 8 | inherit core-image-pelux 9 | 10 | IMAGE_INSTALL += "template-service" 11 | -------------------------------------------------------------------------------- /meta-arp-extras/conf/layer.conf: -------------------------------------------------------------------------------- 1 | BBPATH .= ":${LAYERDIR}" 2 | 3 | # We have a recipes directory, add to BBFILES 4 | BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend" 5 | 6 | BBFILE_COLLECTIONS += "pelux-bsp-arp-layer" 7 | BBFILE_PATTERN_pelux-bsp-arp-layer := "^${LAYERDIR}/" 8 | 9 | BBFILE_PRIORITY_pelux-bsp-arp-layer = "10" 10 | 11 | LAYERSERIES_COMPAT_pelux-bsp-arp-layer = "sumo thud warrior" 12 | 13 | -------------------------------------------------------------------------------- /meta-arp-extras/recipes-core/base-files/base-files/fstab: -------------------------------------------------------------------------------- 1 | /dev/root / auto defaults 1 1 2 | PARTUUID=279767e4-75b9-4b6b-92ca-cddbe821e3a6 /boot vfat defaults 0 0 3 | PARTUUID=36e409e3-bec6-4d36-9d93-51f917421531 swap swap defaults 0 0 4 | PARTUUID=bb816e8c-8133-11e9-bd41-631d53cbea7e /data ext4 defaults 0 0 5 | -------------------------------------------------------------------------------- /meta-arp-extras/recipes-core/base-files/base-files_%.bbappend: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2019 Luxoft AB 3 | # SPDX-License-Identifier: MIT 4 | # 5 | 6 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" 7 | SRC_URI += "file://fstab" 8 | 9 | -------------------------------------------------------------------------------- /recipes-config/systemd-resource-control/services/service.bluetooth.conf: -------------------------------------------------------------------------------- 1 | [Service] 2 | Slice=connectivity.slice 3 | -------------------------------------------------------------------------------- /recipes-config/systemd-resource-control/services/service.connectivity-manager.conf: -------------------------------------------------------------------------------- 1 | [Service] 2 | Slice=connectivity.slice 3 | -------------------------------------------------------------------------------- /recipes-config/systemd-resource-control/services/service.connman.conf: -------------------------------------------------------------------------------- 1 | [Service] 2 | Slice=connectivity.slice 3 | -------------------------------------------------------------------------------- /recipes-config/systemd-resource-control/services/service.neptune.conf: -------------------------------------------------------------------------------- 1 | [Service] 2 | Slice=ui.slice 3 | -------------------------------------------------------------------------------- /recipes-config/systemd-resource-control/services/service.wpa_supplicant.conf: -------------------------------------------------------------------------------- 1 | [Service] 2 | Slice=connectivity.slice 3 | -------------------------------------------------------------------------------- /recipes-config/systemd-resource-control/slices/connectivity.slice: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Connectivity Slice 3 | Before=slices.target 4 | -------------------------------------------------------------------------------- /recipes-config/systemd-resource-control/slices/ui.slice: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=UI Slice 3 | Before=slices.target 4 | -------------------------------------------------------------------------------- /recipes-config/systemd-resource-control/systemd-resource-control.bb: -------------------------------------------------------------------------------- 1 | SUMMARY = "Configures and controls systemd resources for PELUX" 2 | DESCRIPTION = "This package supplies an extended set of systemd slice units \ 3 | and configures the services to be assigned to a given slice." 4 | LICENSE = "MIT" 5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3e927855e47b22eecd81954b0f545a0f" 6 | 7 | SRC_URI += " \ 8 | file://LICENSE \ 9 | file://connectivity.slice \ 10 | file://ui.slice \ 11 | file://service.bluetooth.conf \ 12 | file://service.connectivity-manager.conf \ 13 | file://service.connman.conf \ 14 | file://service.neptune.conf \ 15 | file://service.wpa_supplicant.conf \ 16 | " 17 | 18 | S = "${WORKDIR}" 19 | 20 | inherit allarch 21 | 22 | do_install_append() { 23 | # Install slices 24 | install -d ${D}${systemd_unitdir}/system/ 25 | 26 | install -m 0644 ${WORKDIR}/connectivity.slice ${D}${systemd_unitdir}/system/ 27 | install -m 0644 ${WORKDIR}/ui.slice ${D}${systemd_unitdir}/system/ 28 | 29 | # Install overrides for services 30 | install -d ${D}${systemd_unitdir}/system/bluetooth.service.d/ 31 | install -d ${D}${systemd_unitdir}/system/connectivity-manager.service.d/ 32 | install -d ${D}${systemd_unitdir}/system/connman.service.d/ 33 | install -d ${D}${systemd_unitdir}/system/neptune.service.d/ 34 | install -d ${D}${systemd_unitdir}/system/wpa_supplicant.service.d/ 35 | 36 | install -m 0644 ${WORKDIR}/service.bluetooth.conf ${D}${systemd_unitdir}/system/bluetooth.service.d/ 37 | install -m 0644 ${WORKDIR}/service.connectivity-manager.conf ${D}${systemd_unitdir}/system/connectivity-manager.service.d/ 38 | install -m 0644 ${WORKDIR}/service.connman.conf ${D}${systemd_unitdir}/system/connman.service.d/ 39 | install -m 0644 ${WORKDIR}/service.neptune.conf ${D}${systemd_unitdir}/system/neptune.service.d/ 40 | install -m 0644 ${WORKDIR}/service.wpa_supplicant.conf ${D}${systemd_unitdir}/system/wpa_supplicant.service.d/ 41 | } 42 | 43 | FILESEXTRAPATHS_prepend := "${THISDIR}/services/:" 44 | FILESEXTRAPATHS_prepend := "${THISDIR}/slices/:" 45 | FILESEXTRAPATHS_prepend := "${THISDIR}/systemd-resource-control/:" 46 | FILES_${PN} += " \ 47 | ${systemd_unitdir}/system/ \ 48 | ${systemd_unitdir}/system/bluetooth.service.d/ \ 49 | ${systemd_unitdir}/system/connectivity-manager.service.d/ \ 50 | ${systemd_unitdir}/system/connman.service.d/ \ 51 | ${systemd_unitdir}/system/neptune.service.d/ \ 52 | ${systemd_unitdir}/system/wpa_supplicant.service.d/ \ 53 | " 54 | -------------------------------------------------------------------------------- /recipes-config/systemd-resource-control/systemd-resource-control/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2019 Luxoft Sweden AB 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in all 11 | copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 19 | SOFTWARE. 20 | -------------------------------------------------------------------------------- /recipes-connectivity/connman/connman/disable_connman_dns_proxy.patch: -------------------------------------------------------------------------------- 1 | From d6872a0951edac438e965b1bab09778ebfa9578f Mon Sep 17 00:00:00 2001 2 | From: Tariq Ansari 3 | Date: Wed, 8 May 2019 15:36:21 +0200 4 | 5 | --- 6 | src/connman.service.in | 2 +- 7 | 1 file changed, 1 insertion(+), 1 deletion(-) 8 | 9 | diff --git a/src/connman.service.in b/src/connman.service.in 10 | index dab48bc..3e7872e 100644 11 | --- a/src/connman.service.in 12 | +++ b/src/connman.service.in 13 | @@ -12,7 +12,7 @@ Conflicts=systemd-resolved.service 14 | Type=dbus 15 | BusName=net.connman 16 | Restart=on-failure 17 | -ExecStart=@sbindir@/connmand -n 18 | +ExecStart=@sbindir@/connmand -n -r 19 | StandardOutput=null 20 | CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW CAP_SYS_TIME CAP_SYS_MODULE 21 | ProtectHome=true 22 | -------------------------------------------------------------------------------- /recipes-connectivity/connman/connman_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" 2 | 3 | SRC_URI += "file://disable_connman_dns_proxy.patch" 4 | 5 | RDEPENDS_${PN} += " connman-client" 6 | -------------------------------------------------------------------------------- /recipes-containers/softwarecontainer/files/io.qt.ApplicationManager.Application.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1", 3 | "capabilities": [ 4 | { 5 | "name": "io.qt.ApplicationManager.Application", 6 | "gateways": [ 7 | { 8 | "id": "dbus", 9 | "config": [ 10 | { 11 | "dbus-gateway-config-session": [ 12 | { 13 | "direction": "*", 14 | "interface": "*", 15 | "object-path": "*", 16 | "method": "*" 17 | } 18 | ], 19 | "dbus-gateway-config-system": [ 20 | { 21 | "direction": "*", 22 | "interface": "*", 23 | "object-path": "*", 24 | "method": "*" 25 | } 26 | ] 27 | } 28 | ] 29 | }, 30 | { 31 | "id": "wayland", 32 | "config": [ 33 | { 34 | "enabled": true 35 | } 36 | ] 37 | }, 38 | { 39 | "id": "file", 40 | "config": [ 41 | { 42 | "path-host": "/run", 43 | "path-container": "/run", 44 | "read-only": true 45 | }, 46 | { 47 | "path-host": "/etc/ssl", 48 | "path-container": "/etc/ssl", 49 | "read-only": true 50 | } 51 | ] 52 | }, 53 | { 54 | "id":"network", 55 | "config": [ 56 | { 57 | "direction": "OUTGOING", 58 | "allow": [ 59 | { "host": "*", "protocols": ["udp", "tcp"], "ports": 53 }, 60 | { "host": "*", "protocols": "tcp", "ports": [80, 443] } 61 | ] 62 | }, 63 | { 64 | "direction": "INCOMING", 65 | "allow": [ 66 | { "host": "*", "protocols": ["udp", "tcp"], "ports": 53 }, 67 | { "host": "*", "protocols": "tcp", "ports": [80, 443] } 68 | ] 69 | } 70 | ] 71 | }, 72 | { 73 | "id": "devicenode", 74 | "config": [ 75 | { 76 | "name": "/dev/dri/card0" 77 | }, 78 | { 79 | "name": "/dev/dri/renderD128" 80 | }, 81 | { 82 | "name": "/dev/tty0" 83 | }, 84 | { 85 | "name": "/dev/tty1" 86 | } 87 | ] 88 | } 89 | ] 90 | } 91 | ] 92 | } 93 | -------------------------------------------------------------------------------- /recipes-containers/softwarecontainer/files/softwarecontainer-agent.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=SoftwareContainer agent service 3 | Wants=dbus.socket 4 | After=dbus.socket 5 | 6 | [Service] 7 | Type=dbus 8 | BusName=com.pelagicore.SoftwareContainerAgent 9 | ExecStart=/usr/bin/softwarecontainer-agent 10 | Environment=XDG_RUNTIME_DIR=/tmp 11 | Environment=DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/root/dbus/user_bus_socket 12 | Environment=WAYLAND_DISPLAY="qtam-wayland-0" 13 | 14 | [Install] 15 | WantedBy=basic.target 16 | -------------------------------------------------------------------------------- /recipes-containers/softwarecontainer/softwarecontainer_%.bbappend: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2017 Pelagicore AB 3 | # Copyright (C) 2019 Luxoft Sweden AB 4 | # SPDX-License-Identifier: MIT 5 | # 6 | 7 | FILESEXTRAPATHS_prepend := "${THISDIR}/files:" 8 | 9 | SRC_URI += " \ 10 | file://io.qt.ApplicationManager.Application.json \ 11 | file://softwarecontainer-agent.service \ 12 | " 13 | 14 | do_install_append(){ 15 | install ${WORKDIR}/io.qt.ApplicationManager.Application.json ${D}${sysconfdir}/softwarecontainer/service-manifest.d/ 16 | install -m 0644 ${WORKDIR}/softwarecontainer-agent.service ${D}${systemd_unitdir}/system/ 17 | } 18 | -------------------------------------------------------------------------------- /recipes-core/base-files/base-files/fstab: -------------------------------------------------------------------------------- 1 | /dev/root / auto defaults 1 1 2 | -------------------------------------------------------------------------------- /recipes-core/base-files/base-files_%.bbappend: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2017 Pelagicore AB 3 | # SPDX-License-Identifier: MIT 4 | # 5 | 6 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" 7 | SRC_URI += "file://fstab" 8 | 9 | -------------------------------------------------------------------------------- /recipes-core/images/core-image-pelux-minimal-dev.bb: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2017 Pelagicore AB 3 | # Copyright (C) 2019 Luxoft Sweden AB 4 | # SPDX-License-Identifier: MIT 5 | # 6 | 7 | require core-image-pelux-minimal.bb 8 | 9 | # Development stuff 10 | IMAGE_FEATURES += "tools-debug" 11 | 12 | IMAGE_INSTALL_append = "\ 13 | openssh-sftp-server \ 14 | packagegroup-bistro-debug-utils \ 15 | vim \ 16 | " 17 | -------------------------------------------------------------------------------- /recipes-core/images/core-image-pelux-minimal.bb: -------------------------------------------------------------------------------- 1 | # 2 | # Copyright (C) 2017 Pelagicore AB 3 | # Copyright (C) 2019 Luxoft Sweden AB 4 | # SPDX-License-Identifier: MIT 5 | # 6 | 7 | DESCRIPTION = "Image for creating a PELUX image" 8 | 9 | inherit core-image-pelux 10 | 11 | IMAGE_FEATURES += "ssh-server-openssh" 12 | 13 | IMAGE_INSTALL_append = "\ 14 | coreutils \ 15 | " 16 | -------------------------------------------------------------------------------- /recipes-core/os-release/os-release.bbappend: -------------------------------------------------------------------------------- 1 | VERSION = "${DISTRO_VERSION} (Based on Yocto)" 2 | -------------------------------------------------------------------------------- /recipes-core/psplash/psplash/Draw-splash-in-the-middle-of-the-screen.patch: -------------------------------------------------------------------------------- 1 | From 13b21244a46dfb5767abaf6e9d6361856cc00008 Mon Sep 17 00:00:00 2001 2 | From: =?UTF-8?q?Viktor=20Sj=C3=B6lind?= 3 | Date: Thu, 9 Jan 2020 10:38:36 +0100 4 | Subject: [PATCH] Draw splash in the middle of the screen 5 | 6 | By setting the PSPLASH_IMG_SPLIT_NUMERATOR equal to 7 | PSPLASH_IMG_SPLIT_DENOMINATOR the splash will be drawn in the center of 8 | the screen. 9 | 10 | We want to do this since the splash is supposed to look good in both 11 | portrait and landscape mode. 12 | --- 13 | psplash-config.h | 4 ++-- 14 | 1 file changed, 2 insertions(+), 2 deletions(-) 15 | 16 | diff --git a/psplash-config.h b/psplash-config.h 17 | index 82bb76d..0415ab7 100644 18 | --- a/psplash-config.h 19 | +++ b/psplash-config.h 20 | @@ -26,9 +26,9 @@ 21 | #define PSPLASH_IMG_FULLSCREEN 0 22 | 23 | /* Position of the image split from top edge, numerator of fraction */ 24 | -#define PSPLASH_IMG_SPLIT_NUMERATOR 5 25 | +#define PSPLASH_IMG_SPLIT_NUMERATOR 1 26 | 27 | /* Position of the image split from top edge, denominator of fraction */ 28 | -#define PSPLASH_IMG_SPLIT_DENOMINATOR 6 29 | +#define PSPLASH_IMG_SPLIT_DENOMINATOR 1 30 | 31 | #endif 32 | -- 33 | 2.24.1 34 | 35 | -------------------------------------------------------------------------------- /recipes-core/psplash/psplash/change_background_color.patch: -------------------------------------------------------------------------------- 1 | diff --git a/psplash-colors.h b/psplash-colors.h 2 | index d701089..909a331 100644 3 | --- a/psplash-colors.h 4 | +++ b/psplash-colors.h 5 | @@ -20,7 +20,7 @@ 6 | #define _HAVE_PSPLASH_COLORS_H 7 | 8 | /* This is the overall background color */ 9 | -#define PSPLASH_BACKGROUND_COLOR 0xec,0xec,0xe1 10 | +#define PSPLASH_BACKGROUND_COLOR 0x0,0x0,0x0 11 | 12 | /* This is the color of any text output */ 13 | #define PSPLASH_TEXT_COLOR 0x6d,0x6d,0x70 14 | -------------------------------------------------------------------------------- /recipes-core/psplash/psplash/disable_progress_bar.patch: -------------------------------------------------------------------------------- 1 | diff --git a/psplash-bar-img.h b/psplash-bar-img.h 2 | index c1c7626..c672894 100644 3 | --- a/psplash-bar-img.h 4 | +++ b/psplash-bar-img.h 5 | @@ -1,8 +1,8 @@ 6 | /* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */ 7 | 8 | #define BAR_IMG_ROWSTRIDE (920) 9 | -#define BAR_IMG_WIDTH (230) 10 | -#define BAR_IMG_HEIGHT (28) 11 | +#define BAR_IMG_WIDTH (0) 12 | +#define BAR_IMG_HEIGHT (0) 13 | #define BAR_IMG_BYTES_PER_PIXEL (4) /* 3:RGB, 4:RGBA */ 14 | #define BAR_IMG_RLE_PIXEL_DATA ((uint8*) \ 15 | "\203\354\354\341\377\4\326\326\315\377\236\236\233\377\200\200\201\377" \ 16 | -------------------------------------------------------------------------------- /recipes-core/psplash/psplash/psplash-start.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Start Psplash Boot Screen 3 | Wants=systemd-vconsole-setup.service 4 | After=systemd-vconsole-setup.service systemd-udev-trigger.service systemd-udevd.service 5 | DefaultDependencies=no 6 | 7 | [Service] 8 | ExecStart=/usr/bin/psplash 9 | 10 | [Install] 11 | WantedBy=sysinit.target 12 | -------------------------------------------------------------------------------- /recipes-core/psplash/psplash/psplash-stop.service: -------------------------------------------------------------------------------- 1 | [Unit] 2 | Description=Terminate Psplash Boot Screen 3 | After=neptune.service 4 | 5 | [Service] 6 | Type=oneshot 7 | ExecStart=/usr/bin/psplash-write QUIT 8 | TimeoutSec=10 9 | 10 | [Install] 11 | WantedBy=multi-user.target 12 | -------------------------------------------------------------------------------- /recipes-core/psplash/psplash_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" 2 | 3 | SRC_URI += " \ 4 | file://change_background_color.patch \ 5 | file://disable_progress_bar.patch \ 6 | file://Draw-splash-in-the-middle-of-the-screen.patch \ 7 | file://psplash-start.service \ 8 | file://psplash-stop.service \ 9 | " 10 | 11 | SPLASH_IMAGES_append = " file://pelux_logo-img.h;outsuffix=pelux" 12 | 13 | ALTERNATIVE_PRIORITY_psplash-pelux[psplash] = "900" 14 | 15 | inherit systemd 16 | 17 | SYSTEMD_PACKAGES = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '${PN}', '', d)}" 18 | SYSTEMD_SERVICE_${PN}_append = "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', ' psplash-start.service psplash-stop.service', '', d)}" 19 | 20 | do_install_append () { 21 | install -d ${D}${systemd_system_unitdir} 22 | install -m 644 ${WORKDIR}/psplash-start.service ${D}${systemd_system_unitdir} 23 | install -m 644 ${WORKDIR}/psplash-stop.service ${D}${systemd_system_unitdir} 24 | } 25 | -------------------------------------------------------------------------------- /recipes-core/systemd/systemd/99-printk.conf: -------------------------------------------------------------------------------- 1 | kernel.printk = 4 4 1 7 2 | -------------------------------------------------------------------------------- /recipes-core/systemd/systemd_%.bbappend: -------------------------------------------------------------------------------- 1 | FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:" 2 | 3 | SRC_URI += "file://99-printk.conf" 4 | 5 | do_install_append() { 6 | # Make sure resolv.conf is using systemd-resolved 7 | ln -s /run/systemd/resolve/resolv.conf ${D}${sysconfdir}/resolv.conf 8 | 9 | install -d ${D}${libdir}/sysctl.d 10 | install -m 0644 ${WORKDIR}/99-printk.conf ${D}${libdir}/sysctl.d/ 11 | } 12 | 13 | FILES_${PN} += " \ 14 | ${sysconfdir}/resolv.conf \ 15 | ${libdir}/sysctl.d/99-printk.conf \ 16 | " 17 | 18 | PACKAGECONFIG_remove = " \ 19 | networkd \ 20 | " 21 | -------------------------------------------------------------------------------- /recipes-core/udev-extraconf/udev-extraconf/0001-udev-extraconf-allow-labels-and-UUID-s-in-mount-blac.patch: -------------------------------------------------------------------------------- 1 | From 5c70ff0bbeed422f44fb977ba5e18b12605e986d Mon Sep 17 00:00:00 2001 2 | From: Martin Ejdestig 3 | Date: Tue, 25 Jun 2019 15:06:06 +0200 4 | Subject: [PATCH 1/2] udev-extraconf: allow labels and UUID:s in mount 5 | blacklists 6 | 7 | Needed for systems were device nodes are not known when an image is built 8 | but there are partitions that should not be automatically mounted. 9 | 10 | Example of output line from added lsblk invocation: 11 | 12 | LABEL="Test" PARTLABEL="Test" UUID="8097dcca-dd50-4e2d-8be0-d242f29a6747" PARTUUID="85aaf782-01 13 | 14 | Removing " with sed allows for using the same format in the blacklist files 15 | as in /etc/fstab, were " is not used, to refer to a device. 16 | 17 | Signed-off-by: Martin Ejdestig 18 | --- 19 | meta/recipes-core/udev/udev-extraconf/mount.sh | 15 ++++++++++----- 20 | 1 file changed, 10 insertions(+), 5 deletions(-) 21 | 22 | diff --git a/meta/recipes-core/udev/udev-extraconf/mount.sh b/meta/recipes-core/udev/udev-extraconf/mount.sh 23 | index 3ee67b1318..f655c7003d 100644 24 | --- a/meta/recipes-core/udev/udev-extraconf/mount.sh 25 | +++ b/meta/recipes-core/udev/udev-extraconf/mount.sh 26 | @@ -26,13 +26,18 @@ fi 27 | 28 | PMOUNT="/usr/bin/pmount" 29 | 30 | +# Allow for blacklisting devices with device names, LABEL/PARTLABEL=