summaryrefslogtreecommitdiffstats
path: root/meta-blsched/README.md
blob: e3a9475045901e09792ba2116291dd16dfd6aa6d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# Baylibre's AGL blsched layer

This README file contains information on the contents of the
meta-blsched layer.

Please see the corresponding sections below for details.

### Dependencies
-------------------------

The linux kernel must have the following config options enabled:
CONFIG_CONNECTOR
CONFIG_PROC_EVENTS
CONFIG_SCHED_DEBUG

### Patches
-----------

Please submit any patches against the meta-blsched layer to the
the maintainers:

* Michael Turquette <mturquette@baylibre.com>
* Frode Isaksen <fisaksen@baylibre.com>
* Jerome Brunet <jbrunet@baylibre.com>

## I. Description and provided packages:

The layer provides blsched utility. This package is a utility to improve scheduling efficiency on big.LITTLE architecture.

+ Provided packages :
	- blsched : see https://github.com/BayLibre/bLsched/blob/master/README.md
	- blsched-daemon : systemd service tailored for r8a7795 and r8a7796 SoCs

## II. Adding the meta-blsched layer to your AGL build

1. Download meta-agl-extra at `$AGL_TOP`
2. Add `blsched` to the feature of your AGL build<br>
```shell
source meta-agl/scripts/aglsetup.sh -m $MACHINE -b <your-other-features> blsched
```

With this `meta-blsched` will be added to your `conf/bblayers.conf`. `blsched` and `blsched-daemon` will be appended to your image.
ral.String */ .highlight .na { color: #336699 } /* Name.Attribute */ .highlight .nb { color: #003388 } /* Name.Builtin */ .highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */ .highlight .no { color: #003366; font-weight: bold } /* Name.Constant */ .highlight .nd { color: #555555 } /* Name.Decorator */ .highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */ .highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */ .highlight .nl { color: #336699; font-style: italic } /* Name.Label */ .highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */ .highlight .py { color: #336699; font-weight: bold } /* Name.Property */ .highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */ .highlight .nv { color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */ }
require conf/distro/poky.conf

# AGL specific derivations
DISTRO = "poky-agl"
DISTRO_NAME = "Automotive Grade Linux"


# Release flags
DISTRO_CODENAME = "flounder"
AGL_BRANCH = "flounder"
AGLVERSION = "6.0.1"
# switch  devel/release
#AGLRELEASETYPE ?= "agldevelopment"
AGLRELEASETYPE ?= "aglrelease"
OVERRIDES .= ":${AGLRELEASETYPE}"
#

#for development
DISTRO_VERSION_agldevelopment := "${AGLVERSION}+snapshot-${DATE}"
AGL_APP_REVISION_agldevelopment = "${AUTOREV}"
AGL_DEFAULT_REVISION_agldevelopment = "${AUTOREV}"

#for release
DISTRO_VERSION_aglrelease := "${AGLVERSION}"
DISTRO_BRANCH_VERSION_TAG = "flounder/${@'${DISTRO_VERSION}'.replace('+snapshot-${DATE}','')}"
AGL_APP_REVISION_aglrelease := "refs/tags/${DISTRO_BRANCH_VERSION_TAG}"
AGL_DEFAULT_REVISION_aglrelease := "refs/tags/${DISTRO_BRANCH_VERSION_TAG}"


# SDK
SDK_VENDOR = "-aglsdk"
SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}"

# SDKPATH is the folder where the SDK is going to be installed
# Due to an issue with the qt5 environment (see SPEC-1667),
# we add DEFAULTTUNE to the SDKPATH to mitigate the issue.
SDKPATH = "/opt/agl-sdk/${SDK_VERSION}-${DEFAULTTUNE}"


MAINTAINER = "AGL <automotive-discussions@lists.linuxfoundation.org>"

TARGET_VENDOR = "-agl"

# Override these in poky based distros
AGL_DEFAULT_DISTRO_FEATURES = "largefile systemd opengl wayland pam bluetooth bluez5"
POKY_DEFAULT_DISTRO_FEATURES := "${AGL_DEFAULT_DISTRO_FEATURES}"
OVERRIDES .= ":${DISTRO_CODENAME}"

QEMU_TARGETS ?= "arm aarch64 i386 x86_64"
# Other QEMU_TARGETS "mips mips64 mips64el ppc sh4"

PREMIRRORS ??= "\
bzr://.*/.*   https://download.automotivelinux.org/AGL/mirror/ \n \
cvs://.*/.*   https://download.automotivelinux.org/AGL/mirror/ \n \
git://.*/.*   https://download.automotivelinux.org/AGL/mirror/ \n \
gitsm://.*/.* https://download.automotivelinux.org/AGL/mirror/ \n \
hg://.*/.*    https://download.automotivelinux.org/AGL/mirror/ \n \
osc://.*/.*   https://download.automotivelinux.org/AGL/mirror/ \n \
p4://.*/.*    https://download.automotivelinux.org/AGL/mirror/ \n \
svn://.*/.*   https://download.automotivelinux.org/AGL/mirror/ \n"

MIRRORS =+ "\
ftp://.*/.*      https://download.automotivelinux.org/AGL/mirror/ \n \
http://.*/.*     https://download.automotivelinux.org/AGL/mirror/ \n \
https://.*/.*    https://download.automotivelinux.org/AGL/mirror/ \n"

# The CONNECTIVITY_CHECK_URI's are used to test whether we can succesfully
# fetch from the network (and warn you if not). To disable the test set
# the variable to be empty.
# Git example url: git://git.yoctoproject.org/yocto-firewall-test;protocol=git;rev=HEAD
CONNECTIVITY_CHECK_URIS ?= ""

PREFERRED_PROVIDER_udev ?= "systemd"
PREFERRED_PROVIDER_udev-utils ?= "systemd"

VIRTUAL-RUNTIME_init_manager = "systemd"
VIRTUAL-RUNTIME_initscripts = ""

# network manager to use (possible values: systemd, connman)
VIRTUAL-RUNTIME_net_manager = "connman" 

DISTRO_FEATURES_APPEND = " "
DISTRO_FEATURES_remove = "x11"
DISTRO_FEATURES_BACKFILL_CONSIDERED = "sysvinit"

PREFERRED_VERSION_wayland-ivi-extension ?= "2.0.%"

# Prefer GStreamer 1.10.x by default
PREFERRED_VERSION_gstreamer1.0              ?= "1.12.%"
PREFERRED_VERSION_gstreamer1.0-plugins-bad  ?= "1.12.%"
PREFERRED_VERSION_gstreamer1.0-plugins-base ?= "1.12.%"
PREFERRED_VERSION_gstreamer1.0-plugins-good ?= "1.12.%"
PREFERRED_VERSION_gstreamer1.0-plugins-ugly ?= "1.12.%"
PREFERRED_VERSION_gstreamer1.0-libav        ?= "1.12.%"
PREFERRED_VERSION_gstreamer1.0-omx          ?= "1.12.%"

# Prefer libjpeg-turbo
PREFERRED_PROVIDER_jpeg = "libjpeg-turbo"

# using multiple BSP layers causes dangling bbappends in meta-agl-bsp
# turn it into a warning
#BB_DANGLINGAPPENDS_WARNONLY = "1"

# enforce security-related compiler flags by default
require conf/distro/include/security_flags.inc
# required overrides, upstreamed but not merged yet:
# http://lists.openembedded.org/pipermail/openembedded-devel/2016-June/107727.html
SECURITY_CFLAGS_pn-llvm3.3 = ""
SECURITY_LDFLAGS_remove_pn-llvm3.3 = "-fstack-protector-strong"
SECURITY_STRINGFORMAT_pn-gpm = ""
SECURITY_CFLAGS_pn-libdbus-c++ = ""
SECURITY_LDFLAGS_pn-libdbus-c++ = ""

# more than 2 targets fail to compile these with the SECURITY compiler flags:
# Bug tracked as SPEC-593
SECURITY_CFLAGS_pn-mozjs = ""
SECURITY_LDFLAGS_pn-mozjs = ""
SECURITY_CFLAGS_pn-gpm = ""
SECURITY_LDFLAGS_pn-gpm = ""
SECURITY_CFLAGS_pn-libatasmart = ""
SECURITY_LDFLAGS_pn-libatasmart = ""

# Not yet upstreamed; should be submitted.
SECURITY_CFLAGS_pn-qtwebengine = "${SECURITY_NO_PIE_CFLAGS}"

#Redefined USER_CLASSES
#Disable prelink. It is unmaintained and likely will go away.
#default: USER_CLASSES ?= "buildstats image-mklibs image-prelink"
USER_CLASSES = "buildstats image-mklibs"

# AGL uses 4 optimization levels
# 2 for ARM 32bit 
#   - a high and a medium setting for the CCARGS
#   - the high setting is default (needs >= cortex-a15)
#   - the medium setting is enabled with: DISTRO_FEATURES_append = " agl-medium-arm-compiler "
# 1 for ARM 64bit / AARCH64
# 1 for x86-64
require conf/distro/include/${TARGET_ARCH}-tune.inc

# Generic qemu and qemuboot (runqemu) enhancements
# check qemuboot.bbclass
# - use 2G RAM by default
QB_MEM ?= "-m 2048"
# use pulseaudio on the host side - off as qemu-native is built with alsa
#QB_AUDIO_DRV = "pa"
# expose a virtual 'hda' sound card to the guest (arm/aarch64/x86-64)
QB_AUDIO_OPT = "-soundhw hda"

# Board templates can add extra IMAGE_FSTYPES through this.
# It is added (late) through the AGL image recipes.
AGL_EXTRA_IMAGE_FSTYPES ??= ""
AGL_EXTRA_INITRAMFS_FSTYPES ??= ""
#
# Default IMAGE FSTYPES compressed tarball + ext4.xz
AGL_DEFAULT_IMAGE_FSTYPES ?= "tar.xz ${@bb.utils.contains('DISTRO_FEATURES', 'AGLCI', 'ext4.xz', 'ext4', d)}"
AGL_DEFAULT_INITRAMFS_FSTYPES ?= "ext4.gz"

# DEFAULT IMAGE_FSTYPES for AGL (no - BSPs should not set this)
#
IMAGE_FSTYPES := "${AGL_DEFAULT_IMAGE_FSTYPES} ${AGL_EXTRA_IMAGE_FSTYPES}"
INITRAMFS_FSTYPES := "${AGL_DEFAULT_INITRAMFS_FSTYPES} ${AGL_EXTRA_INITRAMFS_FSTYPES}"
#
# THE FUTURE is 'wic'
# IMAGE_FSTYPES_append = " wic"

# enable the packagemanagement
IMAGE_FEATURES =+ "package-management"
PACKAGE_FEED_URIS = "http://192.168.7.1:8000/tmp/deploy/"
PACKAGE_FEED_BASE_PATHS = "rpm"
PACKAGE_FEED_ARCHS = ""
#${PACKAGE_ARCHS}"


# Fix for rpm metadata clash between nativesdk-cmake and nativesdk-qtbase-tools
# (revalidate after 2017-10-15, 2018-06-12: still required)
DIRFILES_pn-nativesdk-cmake = "1"

# For https://jira.automotivelinux.org/browse/SPEC-1629 :
# We exclude the conflicting vars from the sstate task hash.
# This needs to be verified.
do_package_write_rpm[vardepsexclude] += "ARCHIVER_TOPDIR PF"

# For https://jira.automotivelinux.org/browse/SPEC-1677
# Some issues appear, with the yocto version of valgrind, on aarch64.
# (valgrind exits due to an unhandled instruction')
PREFERRED_VERSION_valgrind ?= "git"