summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdrian Mangeac <Adrian.Mangeac@enea.com>2019-06-18 16:45:07 +0200
committerAdrian Mangeac <Adrian.Mangeac@enea.com>2019-06-18 16:48:54 +0200
commit9822fdbf17b5b378423cda70a52c6e2829c35c5f (patch)
treed66c4925d7428f4e091c10b26baf445746886646
parentf54629edb6a8d55346a1306cc94d9ed3c761d77f (diff)
downloadmeta-el-accelerated-9822fdbf17b5b378423cda70a52c6e2829c35c5f.tar.gz
Initial revision
Add image definitions and config template for Xilinx zcu102-zynqmp reference board. Change-Id: I69193a57313f3c2d4ab5d9ac1e0b752a9ecf8ded Signed-off-by: Adrian Mangeac <Adrian.Mangeac@enea.com>
-rw-r--r--COPYING.MIT17
-rw-r--r--README67
-rw-r--r--conf/distro/enea-accelerated.conf6
-rw-r--r--conf/layer.conf15
-rw-r--r--conf/template.zcu102-zynqmp/bblayers.conf.sample23
-rw-r--r--conf/template.zcu102-zynqmp/conf-notes.txt3
-rw-r--r--conf/template.zcu102-zynqmp/local.conf.sample243
-rw-r--r--images/enea-image-accelerated-common.inc16
-rw-r--r--images/enea-image-accelerated-sdk.bb9
-rw-r--r--images/enea-image-accelerated.bb6
10 files changed, 405 insertions, 0 deletions
diff --git a/COPYING.MIT b/COPYING.MIT
new file mode 100644
index 0000000..89de354
--- /dev/null
+++ b/COPYING.MIT
@@ -0,0 +1,17 @@
1Permission is hereby granted, free of charge, to any person obtaining a copy
2of this software and associated documentation files (the "Software"), to deal
3in the Software without restriction, including without limitation the rights
4to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
5copies of the Software, and to permit persons to whom the Software is
6furnished to do so, subject to the following conditions:
7
8The above copyright notice and this permission notice shall be included in
9all copies or substantial portions of the Software.
10
11THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
12IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
13FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
14AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
15LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
16OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
17THE SOFTWARE.
diff --git a/README b/README
new file mode 100644
index 0000000..a405970
--- /dev/null
+++ b/README
@@ -0,0 +1,67 @@
1meta-el-accelerated
2===================================================================
3
4This layer contains distro customizations specific to the Enea Linux
5Accelerated) profile releases.
6
7Dependencies
8============
9
10This layer depends on:
11
12 URI: git://git.yoctoproject.org/poky
13 branch: sumo
14
15 URI: git://git.enea.com/linux/meta-el-common
16 branch: sumo
17
18 URI: git://git.enea.com/amp/meta-amp
19 branch: sumo
20
21
22Source code
23===========
24
25git://git.enea.com/linux/meta-el-accelerated.git
26
27
28Patches
29=======
30
31Please submit any patches against the el-accelerated layer to the
32following mailing list: linux@lists.enea.com
33
34Maintainers:
35Adrian Mangeac <adrian.mangeac@enea.com>
36Dan Andresan <dan.andresan@enea.com>
37
38
39Table
40=================
41
42 I. Adding the el-accelerated layer to your build
43 II. Misc
44
45
46I. Adding the el-accelerated layer to your build
47=================================================
48
49In order to use this layer, you need to make the build system aware of
50it.
51
52Assuming the el-accelerated layer exists at the top-level of your
53yocto build tree, you can add it to the build system by adding the
54location of the el-accelerated layer to bblayers.conf, along with any
55other layers needed. e.g.:
56
57
58 BBLAYERS ?= " \
59 /path/to/yocto/meta \
60 /path/to/yocto/meta-poky \
61 /path/to/yocto/meta-amp \
62 /path/to/yocto/meta-el-common \
63 /path/to/yocto/meta-el-accelerated\
64 "
65
66II. Misc
67========
diff --git a/conf/distro/enea-accelerated.conf b/conf/distro/enea-accelerated.conf
new file mode 100644
index 0000000..903b6e2
--- /dev/null
+++ b/conf/distro/enea-accelerated.conf
@@ -0,0 +1,6 @@
1require conf/distro/enea.conf
2
3DISTRO = "enea-accelerated"
4DISTRO_NAME = "Enea Accelerated Linux"
5
6# PREFERRED_PROVIDER_virtual/kernel = "linux-intel-rt"
diff --git a/conf/layer.conf b/conf/layer.conf
new file mode 100644
index 0000000..46c48eb
--- /dev/null
+++ b/conf/layer.conf
@@ -0,0 +1,15 @@
1# We have a conf and classes directory, add to BBPATH
2BBPATH .= ":${LAYERDIR}"
3
4# We have recipes-* directories, add to BBFILES
5BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
6 ${LAYERDIR}/images/* \
7 ${LAYERDIR}/packagegroups/* \
8 ${LAYERDIR}/recipes-*/*/*.bbappend"
9
10BBFILE_COLLECTIONS += "el-accelerated"
11BBFILE_PATTERN_el-accelerated = "^${LAYERDIR}/"
12BBFILE_PRIORITY_el-accelerated = "7"
13LAYERDEPENDS_el-accelerated = "el-common amp"
14
15LAYERSERIES_COMPAT_el-accelerated = "sumo"
diff --git a/conf/template.zcu102-zynqmp/bblayers.conf.sample b/conf/template.zcu102-zynqmp/bblayers.conf.sample
new file mode 100644
index 0000000..d446e21
--- /dev/null
+++ b/conf/template.zcu102-zynqmp/bblayers.conf.sample
@@ -0,0 +1,23 @@
1# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
2# changes incompatibly
3POKY_BBLAYERS_CONF_VERSION = "2"
4
5BBPATH = "${TOPDIR}"
6BBFILES ?= ""
7
8BBLAYERS ?= " \
9 ##OEROOT##/meta \
10 ##OEROOT##/meta-poky \
11 ##OEROOT##/meta-xilinx/meta-xilinx-bsp \
12 ##OEROOT##/meta-enea-bsp-common \
13 ##OEROOT##/meta-enea-bsp-arm \
14 ##OEROOT##/meta-el-common \
15 ##OEROOT##/meta-el-accelerated \
16 ##OEROOT##/meta-openembedded/meta-oe \
17 ##OEROOT##/meta-openembedded/meta-networking \
18 ##OEROOT##/meta-openembedded/meta-filesystems \
19 ##OEROOT##/meta-openembedded/meta-python \
20 ##OEROOT##/meta-amp \
21 ##OEROOT##/meta-umLinx \
22 ##OEROOT##/meta-jailhouse \
23 "
diff --git a/conf/template.zcu102-zynqmp/conf-notes.txt b/conf/template.zcu102-zynqmp/conf-notes.txt
new file mode 100644
index 0000000..25fa45b
--- /dev/null
+++ b/conf/template.zcu102-zynqmp/conf-notes.txt
@@ -0,0 +1,3 @@
1Common targets are:
2 enea-image-accelerated
3 enea-image-accelerated-sdk
diff --git a/conf/template.zcu102-zynqmp/local.conf.sample b/conf/template.zcu102-zynqmp/local.conf.sample
new file mode 100644
index 0000000..923235c
--- /dev/null
+++ b/conf/template.zcu102-zynqmp/local.conf.sample
@@ -0,0 +1,243 @@
1#
2# This file is your local configuration file and is where all local user settings
3# are placed. The comments in this file give some guide to the options a new user
4# to the system might want to change but pretty much any configuration option can
5# be set in this file. More adventurous users can look at local.conf.extended
6# which contains other examples of configuration which can be placed in this file
7# but new users likely won't need any of them initially.
8#
9# Lines starting with the '#' character are commented out and in some cases the
10# default values are provided as comments to show people example syntax. Enabling
11# the option is a question of removing the # character and making any change to the
12# variable as required.
13
14#
15# Machine Selection
16#
17# You need to select a specific machine to target the build with. There are a selection
18# of emulated machines available which can boot and run in the QEMU emulator:
19#
20#MACHINE ?= "qemuarm"
21#MACHINE ?= "qemuarm64"
22#MACHINE ?= "qemumips"
23#MACHINE ?= "qemumips64"
24#MACHINE ?= "qemuppc"
25#MACHINE ?= "qemux86"
26#MACHINE ?= "qemux86-64"
27#
28# There are also the following hardware board target machines included for
29# demonstration purposes:
30#
31#MACHINE ?= "beaglebone"
32#MACHINE ?= "genericx86"
33#MACHINE ?= "genericx86-64"
34#MACHINE ?= "mpc8315e-rdb"
35#MACHINE ?= "edgerouter"
36#
37# This sets the default machine to be qemux86 if no other machine is selected:
38MACHINE ?= "zcu102-zynqmp"
39
40#
41# Where to place downloads
42#
43# During a first build the system will download many different source code tarballs
44# from various upstream projects. This can take a while, particularly if your network
45# connection is slow. These are all stored in DL_DIR. When wiping and rebuilding you
46# can preserve this directory to speed up this part of subsequent builds. This directory
47# is safe to share between multiple builds on the same machine too.
48#
49# The default is a downloads directory under TOPDIR which is the build directory.
50#
51#DL_DIR ?= "${TOPDIR}/downloads"
52
53#
54# Where to place shared-state files
55#
56# BitBake has the capability to accelerate builds based on previously built output.
57# This is done using "shared state" files which can be thought of as cache objects
58# and this option determines where those files are placed.
59#
60# You can wipe out TMPDIR leaving this directory intact and the build would regenerate
61# from these files if no changes were made to the configuration. If changes were made
62# to the configuration, only shared state files where the state was still valid would
63# be used (done using checksums).
64#
65# The default is a sstate-cache directory under TOPDIR.
66#
67#SSTATE_DIR ?= "${TOPDIR}/sstate-cache"
68
69#
70# Where to place the build output
71#
72# This option specifies where the bulk of the building work should be done and
73# where BitBake should place its temporary files and output. Keep in mind that
74# this includes the extraction and compilation of many applications and the toolchain
75# which can use Gigabytes of hard disk space.
76#
77# The default is a tmp directory under TOPDIR.
78#
79#TMPDIR = "${TOPDIR}/tmp"
80
81#
82# Default policy config
83#
84# The distribution setting controls which policy settings are used as defaults.
85# The default value is fine for general Yocto project use, at least initially.
86# Ultimately when creating custom policy, people will likely end up subclassing
87# these defaults.
88#
89DISTRO ?= "enea-accelerated"
90# As an example of a subclass there is a "bleeding" edge policy configuration
91# where many versions are set to the absolute latest code from the upstream
92# source control systems. This is just mentioned here as an example, its not
93# useful to most new users.
94# DISTRO ?= "poky-bleeding"
95
96#
97# Package Management configuration
98#
99# This variable lists which packaging formats to enable. Multiple package backends
100# can be enabled at once and the first item listed in the variable will be used
101# to generate the root filesystems.
102# Options are:
103# - 'package_deb' for debian style deb files
104# - 'package_ipk' for ipk files are used by opkg (a debian style embedded package manager)
105# - 'package_rpm' for rpm style packages
106# E.g.: PACKAGE_CLASSES ?= "package_rpm package_deb package_ipk"
107# We default to rpm:
108PACKAGE_CLASSES ?= "package_deb"
109
110#
111# SDK/ADT target architecture
112#
113# This variable specifies the architecture to build SDK/ADT items for and means
114# you can build the SDK packages for architectures other than the machine you are
115# running the build on (i.e. building i686 packages on an x86_64 host).
116# Supported values are i686 and x86_64
117#SDKMACHINE ?= "i686"
118
119#
120# Extra image configuration defaults
121#
122# The EXTRA_IMAGE_FEATURES variable allows extra packages to be added to the generated
123# images. Some of these options are added to certain image types automatically. The
124# variable can contain the following options:
125# "dbg-pkgs" - add -dbg packages for all installed packages
126# (adds symbol information for debugging/profiling)
127# "dev-pkgs" - add -dev packages for all installed packages
128# (useful if you want to develop against libs in the image)
129# "ptest-pkgs" - add -ptest packages for all ptest-enabled packages
130# (useful if you want to run the package test suites)
131# "tools-sdk" - add development tools (gcc, make, pkgconfig etc.)
132# "tools-debug" - add debugging tools (gdb, strace)
133# "eclipse-debug" - add Eclipse remote debugging support
134# "tools-profile" - add profiling tools (oprofile, lttng, valgrind)
135# "tools-testapps" - add useful testing tools (ts_print, aplay, arecord etc.)
136# "debug-tweaks" - make an image suitable for development
137# e.g. ssh root access has a blank password
138# There are other application targets that can be used here too, see
139# meta/classes/image.bbclass and meta/classes/core-image.bbclass for more details.
140# We default to enabling the debugging tweaks.
141EXTRA_IMAGE_FEATURES = "debug-tweaks"
142
143#
144# Additional image features
145#
146# The following is a list of additional classes to use when building images which
147# enable extra features. Some available options which can be included in this variable
148# are:
149# - 'buildstats' collect build statistics
150# - 'image-mklibs' to reduce shared library files size for an image
151# - 'image-prelink' in order to prelink the filesystem image
152# - 'image-swab' to perform host system intrusion detection
153# NOTE: if listing mklibs & prelink both, then make sure mklibs is before prelink
154# NOTE: mklibs also needs to be explicitly enabled for a given image, see local.conf.extended
155USER_CLASSES ?= "buildstats image-mklibs image-prelink"
156
157#
158# Runtime testing of images
159#
160# The build system can test booting virtual machine images under qemu (an emulator)
161# after any root filesystems are created and run tests against those images. To
162# enable this uncomment this line. See classes/testimage(-auto).bbclass for
163# further details.
164#TEST_IMAGE = "1"
165#
166# Interactive shell configuration
167#
168# Under certain circumstances the system may need input from you and to do this it
169# can launch an interactive shell. It needs to do this since the build is
170# multithreaded and needs to be able to handle the case where more than one parallel
171# process may require the user's attention. The default is iterate over the available
172# terminal types to find one that works.
173#
174# Examples of the occasions this may happen are when resolving patches which cannot
175# be applied, to use the devshell or the kernel menuconfig
176#
177# Supported values are auto, gnome, xfce, rxvt, screen, konsole (KDE 3.x only), none
178# Note: currently, Konsole support only works for KDE 3.x due to the way
179# newer Konsole versions behave
180#OE_TERMINAL = "auto"
181# By default disable interactive patch resolution (tasks will just fail instead):
182PATCHRESOLVE = "noop"
183
184#
185# Disk Space Monitoring during the build
186#
187# Monitor the disk space during the build. If there is less that 1GB of space or less
188# than 100K inodes in any key build location (TMPDIR, DL_DIR, SSTATE_DIR), gracefully
189# shutdown the build. If there is less that 100MB or 1K inodes, perform a hard abort
190# of the build. The reason for this is that running completely out of space can corrupt
191# files and damages the build in ways which may not be easily recoverable.
192# It's necesary to monitor /tmp, if there is no space left the build will fail
193# with very exotic errors.
194BB_DISKMON_DIRS = "\
195 STOPTASKS,${TMPDIR},1G,100K \
196 STOPTASKS,${DL_DIR},1G,100K \
197 STOPTASKS,${SSTATE_DIR},1G,100K \
198 STOPTASKS,/tmp,100M,100K \
199 ABORT,${TMPDIR},100M,1K \
200 ABORT,${DL_DIR},100M,1K \
201 ABORT,${SSTATE_DIR},100M,1K \
202 ABORT,/tmp,10M,1K"
203
204#
205# Shared-state files from other locations
206#
207# As mentioned above, shared state files are prebuilt cache data objects which can
208# used to accelerate build time. This variable can be used to configure the system
209# to search other mirror locations for these objects before it builds the data itself.
210#
211# This can be a filesystem directory, or a remote url such as http or ftp. These
212# would contain the sstate-cache results from previous builds (possibly from other
213# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
214# cache locations to check for the shared objects.
215# NOTE: if the mirror uses the same structure as SSTATE_DIR, you need to add PATH
216# at the end as shown in the examples below. This will be substituted with the
217# correct path within the directory structure.
218#SSTATE_MIRRORS ?= "\
219#file://.* http://someserver.tld/share/sstate/PATH;downloadfilename=PATH \n \
220#file://.* file:///some/local/dir/sstate/PATH"
221
222
223#
224# Qemu configuration
225#
226# By default qemu will build with a builtin VNC server where graphical output can be
227# seen. The two lines below enable the SDL backend too. By default libsdl-native will
228# be built, if you want to use your host's libSDL instead of the minimal libsdl built
229# by libsdl-native then uncomment the ASSUME_PROVIDED line below.
230PACKAGECONFIG_append_pn-qemu-native = " sdl"
231PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
232#ASSUME_PROVIDED += "libsdl-native"
233
234# CONF_VERSION is increased each time build/conf/ changes incompatibly and is used to
235# track the version of this file when it was generated. This can safely be ignored if
236# this doesn't mean anything to you.
237CONF_VERSION = "1"
238
239IMAGE_FSTYPES_append = " tar.gz"
240IMAGE_FSTYPES_remove = " live"
241IMAGE_FSTYPES_remove = " wic"
242
243LICENSE_FLAGS_WHITELIST = "commercial_umlinx commercial_umlinx-sdk commercial_oseutils"
diff --git a/images/enea-image-accelerated-common.inc b/images/enea-image-accelerated-common.inc
new file mode 100644
index 0000000..ed92c9a
--- /dev/null
+++ b/images/enea-image-accelerated-common.inc
@@ -0,0 +1,16 @@
1require images/enea-image-common.inc
2require images/enea-amp-common.inc
3
4CORE_IMAGE_EXTRA_INSTALL_append = " kernel-modules"
5
6PACKAGE_EXCLUDE = "cdrtools libxslt sqlite3 bmap-tools alsa-lib btrfs-tools"
7
8IMAGE_FSTYPES = "tar.gz ext4"
9IMAGE_FSTYPES_remove = " live wic"
10NOHDD = "1"
11NOISO = "1"
12
13IMAGE_BOOTLOADER = ""
14
15
16IMAGE_INSTALL += " fpgautil "
diff --git a/images/enea-image-accelerated-sdk.bb b/images/enea-image-accelerated-sdk.bb
new file mode 100644
index 0000000..1ede9e0
--- /dev/null
+++ b/images/enea-image-accelerated-sdk.bb
@@ -0,0 +1,9 @@
1DESCRIPTION = "Full featured image for the Accelerated profile"
2
3require images/enea-image-accelerated-common.inc
4require images/enea-image-extra.inc
5
6TOOLCHAIN_TARGET_TASK_append = " kernel-devsrc umlinx-sdk"
7
8IMAGE_ROOTFS_EXTRA_SPACE = "1048576"
9IMAGE_OVERHEAD_FACTOR = "1.5"
diff --git a/images/enea-image-accelerated.bb b/images/enea-image-accelerated.bb
new file mode 100644
index 0000000..99a43b1
--- /dev/null
+++ b/images/enea-image-accelerated.bb
@@ -0,0 +1,6 @@
1DESCRIPTION = "Base image for the Accelerated profile"
2
3require images/enea-image-accelerated-common.inc
4
5IMAGE_ROOTFS_EXTRA_SPACE = "131072"
6IMAGE_OVERHEAD_FACTOR = "2"