aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGavin Gavel <bot@opensourcefoundries.com>2018-01-31 02:29:37 +0000
committerGavin Gavel <bot@opensourcefoundries.com>2018-01-31 02:29:37 +0000
commit1c84ea2030934d57c12c29b9f30c5606d1249c47 (patch)
treeb4a73ea89803b12acfa00da204c10b720036354d
parent9e657fb6740a2de22458a82f8be9893d89066d4b (diff)
parent009a35035f3c36f7e66bee24727ae61f1410a077 (diff)
osf-public release: 0.7
-rw-r--r--Dockerfile26
-rw-r--r--README.md60
-rw-r--r--conf/bblayers.conf10
-rw-r--r--conf/local.conf52
-rw-r--r--default.xml29
-rw-r--r--git-mirrors.yml45
-rw-r--r--release-notes-schema.yml64
-rw-r--r--release-notes.yml196
-rw-r--r--setup-environment-internal217
9 files changed, 481 insertions, 218 deletions
diff --git a/Dockerfile b/Dockerfile
index e2546ff..7efe2ec 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -7,6 +7,17 @@ ENV LANGUAGE en_US:en
ENV LC_ALL en_US.UTF-8
ARG DEBIAN_FRONTEND=noninteractive
+ARG DEV_USER_NAME=Builder
+ARG DEV_USER=builder
+ARG DEV_USER_PASSWD=builder
+
+# OSF PPA for additional dependencies and newer packages
+RUN apt-get update \
+ && apt-get install -y --no-install-recommends \
+ software-properties-common \
+ && add-apt-repository ppa:osf-maintainers/ppa \
+ && apt-get clean \
+ && rm -rf /var/lib/apt/lists/*
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
@@ -14,15 +25,22 @@ RUN apt-get update \
file gawk g++ iproute2 iputils-ping less libmagickwand-dev \
libmath-prime-util-perl libsdl1.2-dev libssl-dev locales \
openssh-client perl-modules python2.7 python-requests python3 \
- repo texinfo vim-tiny wget whiptail \
+ repo sudo texinfo vim-tiny wget whiptail \
&& apt-get autoremove -y \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
&& locale-gen en_US.UTF-8
# Create the user which will run the SDK binaries.
-RUN useradd -c builder \
- -d /home/builder \
+RUN useradd -c $DEV_USER_NAME \
+ -d /home/$DEV_USER \
+ -G sudo,dialout,floppy,plugdev,users \
-m \
-s /bin/bash \
- builder
+ $DEV_USER
+
+# Add default password for the SDK user (useful with sudo)
+RUN echo $DEV_USER:$DEV_USER_PASSWD | chpasswd
+
+# Initialize development environment for $DEV_USER.
+RUN sudo -u $DEV_USER -H git config --global credential.helper 'cache --timeout=3600'
diff --git a/README.md b/README.md
index db320f5..86d2e25 100644
--- a/README.md
+++ b/README.md
@@ -1,11 +1,11 @@
-default.xml
-=================
+Linux microPlatform Manifest
+============================
Open Source Foundries Linux microPlatform manifest.
This directory contains a Repo manifest and setup scripts for the
-Linux microPlatform build system. If you want to (re)build packages or
-images for the Linux microPlatform, this is the manifest repository to
+Linux microPlatform build system. If you want to modify, extend or port Linux
+microPlatform to a new hardware platform, this is the manifest repository to
use.
The build system uses various components from the Yocto
@@ -22,18 +22,21 @@ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/rep
chmod a+x ~/bin/repo
```
-Run repo init to bring down the latest version of Repo with all its
-most recent bug fixes. You must specify a URL for the manifest, which
-specifies where the various repositories included in the Android
-source will be placed within your working directory. To check out the
-latest branch:
+Run `repo init` to bring down the latest stable version of Repo. You must
+specify a URL for the manifest, which specifies the various repositories that
+will be placed within your working directory.
+
+To check out the latest LMP subscriber continuous release:
```
-repo init -u https://git.foundries.io/YOUR_TREE/manifests.git
+repo init -u https://source.foundries.io/lmp-manifest
```
-Where YOUR_TREE in the URL points to a version of this repository you
-have access to.
+To check out the latest LMP public release:
+
+```
+repo init -u https://github.com/OpenSourceFoundries/lmp-manifest
+```
When prompted, configure Repo with your real name and email address.
@@ -43,7 +46,7 @@ now contain a .repo directory where files such as the manifest will be
kept.
To pull down the metadata sources to your working directory from the
-repositories as specified in the Linux microPlatform manifest, run
+repositories as specified in the Linux microPlatform manifest, run:
```
repo sync
@@ -72,27 +75,38 @@ repo sync -j1
Setup Environment
-----------------
-MACHINE values can be:
+Supported **MACHINE** targets (officially tested by OSF):
* beaglebone
* cl-som-imx7
* cubox-i
* dragonboard-410c
* dragonboard-820c
* hikey
-* ls1043ardb
* raspberrypi3
-DISTRO values can be:
-* rpb
+Supported image targets:
+* lmp-gateway-image
+
+The default distribution (DISTRO) variable is automatically set to `lmp`,
+which is provided by the `meta-osf` layer.
+
+Setup the work environment by using the `setup-environment` script:
```
-. setup-environment
-MACHINE=<machine> DISTRO=<distro> bitbake IMAGE_NAME
+[MACHINE=<MACHINE>] source setup-environment [BUILDDIR]
```
-e.g. MACHINE=hikey DISTRO=rpb bitbake rpb-ltd-gateway-image
+If **MACHINE** is not provided, the script will list all possible machines and
+force one to be selected.
+
+To build the Linux microPlatform gateway image:
+
+```
+bitbake lmp-gateway-image
+```
-Maintainers
--------------------------
+Issues and Support
+------------------
-* Ricardo Salveti <mailto:ricardo@opensourcefoundries.com>
+Please report any bugs, issues or suggestions at
+https://opensourcefoundries.freshdesk.com.
diff --git a/conf/bblayers.conf b/conf/bblayers.conf
index 637ee0e..e32dcf6 100644
--- a/conf/bblayers.conf
+++ b/conf/bblayers.conf
@@ -10,13 +10,7 @@ BBFILES = ""
# These layers hold recipe metadata not found in OE-core, but lack any machine or distro content
BASELAYERS ?= " \
${OEROOT}/layers/meta-openembedded/meta-oe \
- ${OEROOT}/layers/meta-openembedded/meta-gnome \
- ${OEROOT}/layers/meta-openembedded/meta-xfce \
- ${OEROOT}/layers/meta-openembedded/meta-initramfs \
- ${OEROOT}/layers/meta-openembedded/meta-multimedia \
${OEROOT}/layers/meta-openembedded/meta-networking \
- ${OEROOT}/layers/meta-openembedded/meta-webserver \
- ${OEROOT}/layers/meta-openembedded/meta-ruby \
${OEROOT}/layers/meta-openembedded/meta-filesystems \
${OEROOT}/layers/meta-openembedded/meta-perl \
${OEROOT}/layers/meta-openembedded/meta-python \
@@ -31,20 +25,18 @@ BSPLAYERS ?= " \
${OEROOT}/layers/meta-freescale-3rdparty \
${OEROOT}/layers/meta-st-cannes2 \
${OEROOT}/layers/meta-raspberrypi \
+ ${OEROOT}/layers/meta-intel \
${OEROOT}/layers/meta-yocto/meta-yocto-bsp \
"
# Add your overlay location to EXTRALAYERS
# Make sure to have a conf/layers.conf in there
EXTRALAYERS ?= " \
- ${OEROOT}/layers/meta-linaro/meta-linaro \
${OEROOT}/layers/meta-linaro/meta-linaro-toolchain \
- ${OEROOT}/layers/meta-linaro/meta-aarch64 \
${OEROOT}/layers/meta-linaro/meta-optee \
"
BBLAYERS = " \
- ${OEROOT}/layers/meta-rpb \
${OEROOT}/layers/meta-osf \
${BASELAYERS} \
${BSPLAYERS} \
diff --git a/conf/local.conf b/conf/local.conf
index f0d602d..4511bf5 100644
--- a/conf/local.conf
+++ b/conf/local.conf
@@ -5,9 +5,6 @@ CONF_VERSION = "1"
# Which files do we want to parse:
BBMASK = ""
-# What kind of images do we want?
-IMAGE_FSTYPES_append = " tar.xz"
-
# Don't generate the mirror tarball for SCM repos, the snapshot is enough
BB_GENERATE_MIRROR_TARBALLS = "0"
@@ -39,9 +36,9 @@ PARALLEL_MAKE ?= "-j ${@oe.utils.cpu_count()}"
# would contain the sstate-cache results from previous builds (possibly from other
# machines). This variable works like fetcher MIRRORS/PREMIRRORS and points to the
# cache locations to check for the shared objects.
-#SSTATE_MIRRORS ?= "\
-#file://.* http://someserver.tld/share/sstate/ \n \
-#file://.* file:///some/local/dir/sstate/"
+SSTATE_MIRRORS ?= "\
+file://.* https://lmp-mirror.foundries.io/sstate-cache/PATH \n \
+"
# enable PR service on build machine itself
# its good for a case when this is the only builder
@@ -49,30 +46,41 @@ PARALLEL_MAKE ?= "-j ${@oe.utils.cpu_count()}"
#PRSERV_HOST = "localhost:0"
# OSF LMP specific configuration
-## Base Linux microPlatform git repository and foundry namespace
-OSF_LMP_GIT_URL = "git.foundries.io"
-OSF_LMP_GIT_NAMESPACE = "development/microplatforms/linux/"
-## Only console is supported at this point
-DISTRO_FEATURES_remove = "x11"
-## Beaglebone defaults to linux-osf
+
+# Beaglebone
PREFERRED_PROVIDER_virtual/kernel_beaglebone = "linux-osf"
-## DB410c defaults to linux-osf
+IMAGE_FSTYPES_append_beaglebone = " wic.gz"
+IMAGE_FSTYPES_remove_beaglebone = " wic"
+
+# Dragonboard (DB410/DB820)
PREFERRED_PROVIDER_virtual/kernel_dragonboard-410c = "linux-osf"
-## DB820c defaults to linux-osf
PREFERRED_PROVIDER_virtual/kernel_dragonboard-820c = "linux-osf"
QCOM_BOOTIMG_ROOTFS_dragonboard-820c = "sda9"
-## Hikey defaults to linux-osf
+
+# HiKey
PREFERRED_PROVIDER_virtual/kernel_hikey = "linux-osf"
CMDLINE_remove_hikey = "quiet"
-## Cubox-i/Hummingboard defaults to linux-osf
+
+# Cubox-i/Hummingboard
PREFERRED_PROVIDER_virtual/kernel_cubox-i = "linux-osf"
-## LS1043ardb defaults
+
+# LS1043ardb
PREFERRED_PROVIDER_virtual/kernel_ls1043ardb = "linux-osf"
-PREFERRED_PROVIDER_openssl_ls1043ardb = "openssl"
-## ST B2260 defaults to linux-osf
+
+# ST B2260
PREFERRED_PROVIDER_virtual/kernel_stih410-b2260 = "linux-osf"
+
+# Raspberry Pi
+PREFERRED_PROVIDER_virtual/kernel_raspberrypi = "linux-osf"
+PREFERRED_PROVIDER_virtual/kernel_raspberrypi2 = "linux-osf"
+PREFERRED_PROVIDER_virtual/kernel_raspberrypi3 = "linux-osf"
+VC4DTBO_raspberrypi3-64 = "vc4-kms-v3d"
+RPI_USE_U_BOOT = "1"
+SDIMG_COMPRESSION = "xz"
+
+# Intel Corei7 64
+PREFERRED_PROVIDER_virtual/kernel_intel-corei7-64 = "linux-osf"
+
+# Cross machines / BSPs
## Drop IMX BSP that is not needed
MACHINE_EXTRA_RRECOMMENDS_remove = "imx-alsa-plugins"
-## Force a more recent kernel on rpi
-PREFERRED_PROVIDER_virtual/kernel = "linux-raspberrypi-dev"
-PREFERRED_VERSION_linux-raspberrypi = "4.11%"
diff --git a/default.xml b/default.xml
index a279f32..c58b01a 100644
--- a/default.xml
+++ b/default.xml
@@ -6,20 +6,23 @@
<default remote="github" revision="master" sync-j="4" />
- <project name="96boards/meta-96boards" path="layers/meta-96boards" revision="3bce974c381cae3b52040e06643ed6892f211896" />
- <project name="96boards/meta-rpb" path="layers/meta-rpb" revision="16a952af33c873e1995eca48a2cb80900fc18185" />
- <project name="Freescale/meta-freescale-3rdparty" path="layers/meta-freescale-3rdparty" revision="fd3962a994b2f477d3e81fa7083f6b3d4e666df5" />
+ <project name="96boards/meta-96boards" path="layers/meta-96boards" revision="eee9e16eece8780ae44357f92664491174211a06" />
+ <project name="Freescale/meta-freescale-3rdparty" path="layers/meta-freescale-3rdparty" revision="1a3fb4e0c726429dfa48f1ef4c01bcf5bef15c66" />
+ <project name="core-containers" path="containers/core-containers" remote="OpenSourceFoundries" revision="62d1178666390e3e7e49a323dbc65468013b395f" />
<project name="cpriouzeau/meta-st-cannes2" path="layers/meta-st-cannes2" revision="8abc5197f3456590c493c59d1e6f696e25f88927" />
- <project name="git/meta-freescale" path="layers/meta-freescale" remote="yocto" revision="98d57b06d88cb22129bd417a9a3edbaf24612460" />
- <project name="git/meta-raspberrypi" path="layers/meta-raspberrypi" remote="yocto" revision="11fec461330982ee15b4ac6dca5014fabe59198f" />
- <project name="git/meta-virtualization" path="layers/meta-virtualization" remote="yocto" revision="e73608d56e498a7075e7a3e5550aafd76987d7aa" />
- <project name="git/meta-yocto" path="layers/meta-yocto" remote="yocto" revision="86ab7ab6688f250bb5777371d2cbc28c770847d4">
+ <project name="extra-containers" path="containers/extra-containers" remote="OpenSourceFoundries" revision="a80304f9f9ea6ff12b34592c6e95e38994776d43" />
+ <project name="gateway-containers" path="containers/gateway-containers" remote="OpenSourceFoundries" revision="4861f08499f5873dae5246df8cf344114efe44cf" />
+ <project name="git/meta-freescale" path="layers/meta-freescale" remote="yocto" revision="bf7fd9cfe0788fe2f819a4ae2cc7db8327fe161a" />
+ <project name="git/meta-intel" path="layers/meta-intel" remote="yocto" revision="7969d8e442bdefd8036a334ca9d9ce133272399b" />
+ <project name="git/meta-raspberrypi" path="layers/meta-raspberrypi" remote="yocto" revision="c47caaca325b8cd81ee5bcd7cb30295faf0d440d" />
+ <project name="git/meta-virtualization" path="layers/meta-virtualization" remote="yocto" revision="d1969606e3540d3771a5ba4626d4e5ea42bd683a" />
+ <project name="git/meta-yocto" path="layers/meta-yocto" remote="yocto" revision="0d44e59bfaa95162cf2133df1d08f6419314bb8e">
<linkfile dest="setup-environment" src="../../.repo/manifests/setup-environment" />
</project>
- <project name="meta-osf" path="layers/meta-osf" remote="OpenSourceFoundries" revision="bf6307fdf76a255fbca9e22d2997d08acc96c5e7" />
- <project name="ndechesne/meta-qcom" path="layers/meta-qcom" revision="a95622c51486b3c584ec276c78a3a3a58c91c912" />
- <project name="openembedded/bitbake" path="bitbake" revision="5639faa3eef55cc476a82e810e61ca228cbdf221" />
- <project name="openembedded/meta-linaro" path="layers/meta-linaro" remote="linaro" revision="51d0de5f83991c032c6e300b30eebb73367dc7d2" />
- <project name="openembedded/meta-openembedded" path="layers/meta-openembedded" revision="d3dd8bc3721f3958eb7ddeb026f7221d48daa986" />
- <project name="openembedded/openembedded-core" path="layers/openembedded-core" revision="059846662f1ea1c82804cfce5f91afcb2980ec8a" />
+ <project name="meta-osf" path="layers/meta-osf" remote="OpenSourceFoundries" revision="b46d57d863a98699a801a1b417c9988efc20bc66" />
+ <project name="ndechesne/meta-qcom" path="layers/meta-qcom" revision="5fbd011c7852d46399018647d09e3b581b1b637d" />
+ <project name="openembedded/bitbake" path="bitbake" revision="643eacb162b8710330ef292bfda21cfeab97f95c" />
+ <project name="openembedded/meta-linaro" path="layers/meta-linaro" remote="linaro" revision="259b8bfbb5dc13a4173f9e90bdf09f5aebea473e" />
+ <project name="openembedded/meta-openembedded" path="layers/meta-openembedded" revision="29a4983d5a4462d8e7b9abcd55bfb3013f578fdd" />
+ <project name="openembedded/openembedded-core" path="layers/openembedded-core" revision="e0a4e78b879eeacff8ef6803c1345056abf018e7" />
</manifest> \ No newline at end of file
diff --git a/git-mirrors.yml b/git-mirrors.yml
new file mode 100644
index 0000000..e22d84b
--- /dev/null
+++ b/git-mirrors.yml
@@ -0,0 +1,45 @@
+# The default.xml manifest defines all the git repositories needed to build
+# the LMP. That file points at mirrored copies of each repository living on
+# source.foundries.io. This file describes the origin of each of these mirrors
+# so that subscribers understand where the code comes from and internal
+# mirroring services know what to track.
+
+meta-96boards:
+ url: "https://github.com/96boards/meta-96boards"
+
+meta-freescale-3rdparty:
+ url: "https://github.com/Freescale/meta-freescale-3rdparty"
+
+meta-st-cannes2:
+ url: "https://github.com/cpriouzeau/meta-st-cannes2"
+
+meta-freescale:
+ url: "https://git.yoctoproject.org/git/meta-freescale"
+
+meta-intel:
+ url: "https://git.yoctoproject.org/git/meta-intel"
+
+meta-raspberrypi:
+ url: "https://git.yoctoproject.org/git/meta-raspberrypi"
+
+meta-virtualization:
+ url: "https://git.yoctoproject.org/git/meta-virtualization"
+
+meta-yocto:
+ url: "https://git.yoctoproject.org/git/meta-yocto"
+
+meta-qcom:
+ url: "https://github.com/ndechesne/meta-qcom"
+
+bitbake:
+ url: "https://github.com/openembedded/bitbake"
+
+meta-openembedded:
+ url: "https://github.com/openembedded/meta-openembedded"
+
+openembedded-core:
+ url: "https://github.com/openembedded/openembedded-core"
+
+meta-linaro:
+ url: "https://git.linaro.org/openembedded/meta-linaro"
+
diff --git a/release-notes-schema.yml b/release-notes-schema.yml
new file mode 100644
index 0000000..ce2d4de
--- /dev/null
+++ b/release-notes-schema.yml
@@ -0,0 +1,64 @@
+## A pykwalify schema to validate the release-notes.yml file
+
+type: map
+mapping:
+ highlights:
+ required: true
+ type: seq
+ sequence:
+ - type: str
+
+ summary:
+ required: true
+ type: str
+
+ parts:
+ required: false
+ type: seq
+ sequence:
+ - type: map
+ mapping:
+ name:
+ required: true
+ type: str
+ summary:
+ required: true
+ type: str
+ projects:
+ required: true
+ type: seq
+ sequence:
+ - type: map
+ mapping:
+ name:
+ required: true
+ type: str
+ manifest_project:
+ type: str
+ features:
+ type: seq
+ sequence:
+ - type: map
+ mapping:
+ heading:
+ required: true
+ type: str
+ summary:
+ required: true
+ type: str
+ bug_fixes:
+ type: seq
+ sequence:
+ - type: map
+ mapping:
+ heading:
+ required: true
+ type: str
+ summary:
+ required: true
+ type: str
+ cves:
+ required: false
+ type: seq
+ sequence:
+ - type: str
diff --git a/release-notes.yml b/release-notes.yml
new file mode 100644
index 0000000..b16c022
--- /dev/null
+++ b/release-notes.yml
@@ -0,0 +1,196 @@
+highlights:
+ - OSF Unified Linux Kernel updated to 4.14.13
+ - U-Boot updated to the 2017.11 release.
+ - Raspberry Pi firmware updated to the 20171029 snapshot.
+ - Initial support for Raspberry Pi 3 64-bit.
+summary: |
+ This kernel update includes x86 support for kernel page-table isolation
+ (KPTI), which mitigates the recent meltdown security vulnerability.
+parts:
+ - name: Linux microPlatform
+ summary: |
+ OSF Unified Linux Kernel updated to 4.14.13.
+ projects:
+ - name: Meta OSF Layer
+ manifest_project: meta-osf
+ features:
+ - heading: Layer Update
+ summary: |
+ OSF Unified Linux Kernel updated to 4.14.13.
+ QCA6174 firmware updated to WLAN.RM.4.4.1-00079-QCARMSWPZ-1.
+ Initial support for Raspberry Pi 3 64-bit.
+ - heading: Build Environment Speedup
+ summary: |
+ The build environment has been updated to use a mirror of the
+ sstate cache which drastically improves the time it takes to
+ build the first time.
+ - name: Meta Intel
+ manifest_project: git/meta-intel
+ features:
+ - heading: Layer Update
+ summary: |
+ Intel microcode updated to 20180108.
+ - name: Meta Linaro
+ manifest_project: openembedded/meta-linaro
+ features:
+ - heading: Layer Update
+ summary: |
+ OPTEE OS recipe updated to simplify the deply logic.
+ GCC Linaro 7.1 updated to include ILP32 patches for correct
+ triplet.
+ Binutils updated to include patches for correct gnu_ilp32
+ triplet.
+ - name: Meta Qualcomm
+ manifest_project: ndechesne/meta-qcom
+ features:
+ - heading: Layer Update
+ summary: |
+ wic.bmap image type added for Dragonboard 410c.
+ - name: OpenEmbedded-Core Layer
+ manifest_project: openembedded/openembedded-core
+ features:
+ - heading: Layer Update
+ summary: |
+ Glibc updated to the latest on 2.26 release.
+ Binutils updated to 2.29.1.
+ Python Setuptools updated to 38.2.5.
+ Nss updated to 3.34.1.
+ Avahi updated to 0.7.
+ Dbus updated to 1.12.2.
+ Coreutils updated to 8.28.
+ libunistring updated to 0.9.8.
+ Mc updated to 4.8.20.
+ Psmisc updated to 23.0.
+ Gobject introspection updated to 1.54.1.
+ Pciutils updated to 3.5.6.
+ Alsa-utils, alsa-plugins and alsa-lib updated to 1.1.5.
+ Gnutls updated to 3.6.1.
+ Openssl10 updated to 1.0.2m.
+ Icu updated to 60.1.
+ libpciaccess updated to 0.14.
+ Dtc updated to 1.4.5.
+ Glib-2.0 updated to 2.54.2.
+ U-Boot updated to 2017.11.
+ Ethtool updated to 4.13.
+ Strace updated to 4.19.
+ Less updated to 527.
+ Logrotate updated to 3.13.0.
+ Git updated to 2.15.0.
+ File updated to 5.32.
+ e2fsprogs updated to 1.43.7.
+ Iproute2 updated to 4.13.
+ Gawk updated to 4.2.0.
+ Sudo updated to 1.8.21p2.
+ SQlite3 updated to 3.21.0.
+ Quota updated to 4.04.
+ Linux-firmware updated to the bf04291 git revision.
+ CMake updated to 3.9.5.
+ libgudev updated to 232.
+ Shared-mime-info updated to 1.9.
+ Iso-codes updated to 3.76.
+ Boost updated to 1.65.1.
+ libsolv updated to 0.6.29.
+ Vala updated to 0.38.2.
+ Qemu updated to 2.10.1.
+ bug_fixes:
+ - heading: icu
+ summary: |
+ Fix double free in i18n/zonemeta.cpp.
+ cves:
+ - 2017-14952
+ - heading: openssl10
+ summary: |
+ Multiple issues.
+ cves:
+ - 2017-3736
+ - 2017-3735
+ - heading: busybox
+ summary: |
+ Vulnerability in the tab-complete logic.
+ cves:
+ - 2017-16544
+ - heading: binutils
+ summary: |
+ Multiple issues.
+ cves:
+ - 2017-15939
+ - 2017-15938
+ - 2017-15225
+ - 2017-15025
+ - 2017-15024
+ - 2017-15023
+ - 2017-15022
+ - 2017-15021
+ - 2017-15020
+ - 2017-14974
+ - 2017-14940
+ - 2017-14939
+ - 2017-14938
+ - 2017-14934
+ - 2017-14933
+ - 2017-14932
+ - 2017-14930
+ - 2017-14745
+ - 2017-14729
+ - 2017-14529
+ - 2017-14333
+ - 2017-14130
+ - 2017-14129
+ - 2017-14128
+ - 2017-13757
+ - 2017-13716
+ - 2017-13710
+ - 2017-12967
+ - 2017-12799
+ - 2017-12459
+ - 2017-12458
+ - 2017-12457
+ - 2017-12456
+ - 2017-12455
+ - 2017-12454
+ - 2017-12453
+ - 2017-12452
+ - 2017-12451
+ - 2017-12450
+ - 2017-12449
+ - 2017-12448
+ - name: Meta Virtualization
+ manifest_project: git/meta-virtualization
+ features:
+ - heading: Layer Update
+ summary: |
+ Switch remaining pypi recipes to use the pypi class.
+ - name: Meta OpenEmbedded Layer
+ manifest_project: openembedded/meta-openembedded
+ features:
+ - heading: Layer Update
+ summary: |
+ Python-pyopenssl updated to 17.5.0.
+ Python-cryptography updated to 2.1.4.
+ Python-asn1crypto updated to 0.24.0.
+ Python3-certifi updated to 2017.11.5.
+ Python-pytest updated to 3.2.3.
+ Python-pyasn1 updated to 0.3.7.
+ Htop updated to v2.0.2.
+ bug_fixes:
+ - heading: vim
+ summary: |
+ Information leak when creating swp files.
+ cves:
+ - 2017-17087
+ - name: Meta Raspberrypi Layer
+ manifest_project: git/meta-raspberrypi
+ features:
+ - heading: Layer Update
+ summary: |
+ Config RPI_EXTRA_CONFIG added to rpi-config.
+ Default KERNEL_IMAGETYPE changed to zImage.
+ Default KERNEL_IMAGETYPE for raspberrypi3-64 changed to Image.
+ Firmware updated to 20171029.
+ U-Boot support for Raspberry Pi Zero W.
+ - name: Meta Freescale Layer
+ manifest_project: git/meta-freescale
+ features:
+ - heading: Layer Update
+ summary: |
+ U-boot-fslc updated to 2017.11-based fork.
diff --git a/setup-environment-internal b/setup-environment-internal
index ef5e6c4..dd0560e 100644
--- a/setup-environment-internal
+++ b/setup-environment-internal
@@ -2,6 +2,7 @@
# -*- mode: shell-script-mode; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*-
#
# Copyright (C) 2012-13 O.S. Systems Software LTDA.
+# Copyright (C) 2017 Open Source Foundries Ltd.
# Authored-by: Otavio Salvador <otavio@ossystems.com.br>
# Adopted to Angstrom: Khem Raj <raj.khem@gmail.com>
#
@@ -18,19 +19,19 @@
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
#
-RPBcleanup() {
- unset MACHINETABLE MACHLAYERS DISTROTABLE DISTROLAYERS DISTRO_DIRNAME OEROOT
- unset ITEM MANIFESTS EULA EULA_MACHINE REPLY READ_EULA
- unset usage oldmach
+env_cleanup() {
+ unset MACHINETABLE MACHLAYERS DISTRO_DIRNAME OEROOT
+ unset ITEM MANIFESTS EULA EULA_MACHINE REPLY READ_EULA
+ unset usage oldmach
- if [ -n "$BUILDDIR" ]; then
- export BUILDDIR
- fi
+ if [ -n "$BUILDDIR" ]; then
+ export BUILDDIR
+ fi
}
-trap RPBcleanup RETURN
+trap env_cleanup RETURN
if [ "$(whoami)" = "root" ]; then
- echo "ERROR: do not use the BSP as root. Exiting..."
+ echo "ERROR: do not build LMP as root. Exiting..."
return
fi
@@ -43,14 +44,16 @@ elif [ -n "$BASH_VERSION" ]; then
set +o noclobber
fi
+# Set default distro to Linux microPlatform
+DISTRO=lmp
+
usage () {
cat <<EOF
-Usage: [DISTRO=<DISTRO>] [MACHINE=<MACHINE>] source ${BASH_SOURCE[0]} [BUILDDIR]
+Usage: [MACHINE=<MACHINE>] source ${BASH_SOURCE[0]} [BUILDDIR]
If no MACHINE is set, list all possible machines, and ask user to choose.
-If no DISTRO is set, list all possible distros, and ask user to choose.
-If no BUILDIR is set, it will be set to build-DISTRO.
+If no BUILDIR is set, it will be set to build-$DISTRO.
EOF
}
@@ -59,9 +62,13 @@ if [ $# -gt 1 ]; then
usage
return 1
fi
-# create a common list of "<machine>(<layer>)", sorted by <machine>
-# Blacklist OE-core and meta-linaro, we only want 96boards + vendor layers
-MACHLAYERS=$(find layers -print | grep "conf/machine/.*\.conf" | grep -v scripts | grep -v openembedded-core | grep -v meta-linaro | sed -e 's/\.conf//g' -e 's/layers\///' | awk -F'/conf/machine/' '{print $NF "(" $1 ")"}' | LANG=C sort)
+
+# Create a common list of "<machine>(<layer>)", sorted by <machine>
+# Blacklist OE-core and meta-linaro, we only want BSP layers
+MACHLAYERS=$(find layers -print | grep "conf/machine/.*\.conf" |
+ grep -v scripts | grep -v openembedded-core | grep -v meta-linaro |
+ sed -e 's/\.conf//g' -e 's/layers\///' |
+ awk -F'/conf/machine/' '{print $NF "(" $1 ")"}' | LANG=C sort)
if [ -z "${MACHINE}" ]; then
# whiptail
@@ -69,11 +76,12 @@ if [ -z "${MACHINE}" ]; then
if [ $? -eq 0 ]; then
MACHINETABLE=
for ITEM in $MACHLAYERS; do
- MACHINETABLE="${MACHINETABLE} $(echo "$ITEM" | cut -d'(' -f1) $(echo "$ITEM" | cut -d'(' -f2 | cut -d')' -f1)"
+ MACHINETABLE="${MACHINETABLE} $(echo "$ITEM" | cut -d'(' -f1) \
+ $(echo "$ITEM" | cut -d'(' -f2 | cut -d')' -f1)"
done
MACHINE=$(whiptail --title "Available Machines" --menu \
- "Please choose a machine" 0 0 20 \
- ${MACHINETABLE} 3>&1 1>&2 2>&3)
+ "Please choose a machine" 0 0 20 \
+ ${MACHINETABLE} 3>&1 1>&2 2>&3)
fi
# dialog
@@ -82,57 +90,26 @@ if [ -z "${MACHINE}" ]; then
if [ $? -eq 0 ]; then
MACHINETABLE=
for ITEM in $MACHLAYERS; do
- MACHINETABLE="$MACHINETABLE $(echo "$ITEM" | cut -d'(' -f1) $(echo "$ITEM" | cut -d'(' -f2 | cut -d')' -f1)"
- done
- MACHINE=$(dialog --title "Available Machines" --menu "Please choose a machine" 0 0 20 $MACHINETABLE 3>&1 1>&2 2>&3)
- fi
- fi
-fi
-
-# create a common list of "<distro>(<layer>)", sorted by <distro>
-# Blacklist OE-core and meta-linaro, we only want 96boards + vendor layers
-DISTROLAYERS=$(find layers -print | grep "conf/distro/.*\.conf" | grep -v scripts | grep -v openembedded-core | grep -v meta-linaro | sed -e 's/\.conf//g' -e 's/layers\///' | awk -F'/conf/distro/' '{print $NF "(" $1 ")"}' | LANG=C sort)
-
-if [ -n "${DISTROLAYERS}" ] && [ -z "${DISTRO}" ]; then
- # whiptail
- which whiptail > /dev/null 2>&1
- if [ $? -eq 0 ]; then
- DISTROTABLE=
- for ITEM in $DISTROLAYERS; do
- DISTROTABLE="${DISTROTABLE} $(echo "$ITEM" | cut -d'(' -f1) $(echo "$ITEM" | cut -d'(' -f2 | cut -d')' -f1)"
- done
- DISTRO=$(whiptail --title "Available Distributions" --menu \
- "Please choose a distribution" 0 0 20 \
- ${DISTROTABLE} 3>&1 1>&2 2>&3)
- fi
-
- # dialog
- if [ -z "$DISTRO" ]; then
- which dialog > /dev/null 2>&1
- if [ $? -eq 0 ]; then
- DISTROTABLE=
- for ITEM in $DISTROLAYERS; do
- DISTROTABLE="$DISTROTABLE $(echo "$ITEM" | cut -d'(' -f1) $(echo "$ITEM" | cut -d'(' -f2 | cut -d')' -f1)"
+ MACHINETABLE="$MACHINETABLE $(echo "$ITEM" | cut -d'(' -f1) \
+ $(echo "$ITEM" | cut -d'(' -f2 | cut -d')' -f1)"
done
- DISTRO=$(dialog --title "Available Distributions" --menu "Please choose a distribution" 0 0 20 $DISTROTABLE 3>&1 1>&2 2>&3)
+ MACHINE=$(dialog --title "Available Machines" --menu \
+ "Please choose a machine" 0 0 20 $MACHINETABLE \
+ 3>&1 1>&2 2>&3)
fi
fi
fi
-# If nothing has been set, go for 'nodistro'
-if [ -z "$DISTRO" ]; then
- DISTRO="nodistro"
-fi
-
# guard against Ctrl-D or cancel
if [ -z "$MACHINE" ]; then
echo "To choose a machine interactively please install whiptail or dialog."
- echo "To choose a machine non-interactively please use the following syntax:"
+ echo "To choose a machine non-interactively please use the following:"
echo " MACHINE=<your-machine> . ./setup-environment"
echo ""
echo "Press <ENTER> to see a list of your choices"
read -r
- echo "$MACHLAYERS" | sed -e 's/(/ (/g' | sed -e 's/)/)\n/g' | sed -e 's/^ */\t/g'
+ echo "$MACHLAYERS" | sed -e 's/(/ (/g' | sed -e 's/)/)\n/g' |
+ sed -e 's/^ */\t/g'
return
fi
@@ -142,7 +119,7 @@ fi
MANIFESTS="${OEROOT}"/.repo/manifests
-# we can be called with only 1 parameter max, <build> folder, or default to build-$distro
+# We can be called with only 1 parameter max (build folder)
BUILDDIR=build-$DISTRO
if [ $# -eq 1 ]; then
BUILDDIR=$1
@@ -152,86 +129,32 @@ BUILDDIR=$OEROOT/$BUILDDIR
# Clean up PATH, because if it includes tokens to current directories somehow,
# wrong binaries can be used instead of the expected ones during task execution
export PATH=$(echo "${PATH}" | sed 's/\(:.\|:\)*:/:/g;s/^.\?://;s/:.\?$//')
-export PATH="${OEROOT}"/layers/openembedded-core/scripts:"${OEROOT}"/bitbake/bin:"${OEROOT}"/.repo/repo:"${PATH}"
-#remove duplicate path entries
-export PATH=$(echo "$PATH" | awk -F: '{for (i=1;i<=NF;i++) { if ( !x[$i]++ ) printf("%s:",$i); }}' | sed 's/:$//')
-# Make sure Bitbake doesn't filter out the following variables from our
-# environment.
-export BB_ENV_EXTRAWHITE="MACHINE DISTRO TCLIBC TCMODE GIT_PROXY_COMMAND http_proxy ftp_proxy https_proxy all_proxy ALL_PROXY no_proxy SSH_AGENT_PID SSH_AUTH_SOCK BB_SRCREV_POLICY SDKMACHINE BB_NUMBER_THREADS"
-
-# Helper command for building images for mixed 32bit/64bit
-# ARM builds. The command allow to specify a secondary MACHINE
-# and image that will be built next to the primary target.
-# If no secondary image is specified the rpb-minimal-image image
-# will be built.
-
-
-bitbake_secondary_image () {
- BITBAKE_OPTIONS=""
- unset EXTRA_MACHINE
- unset SECONDARY_IMAGE
-
- SECONDARY_IMAGE='rpb-minimal-image'
- while [[ $# -gt 1 ]]
- do
- key="$1"
- case $key in
- --extra-machine)
- EXTRA_MACHINE="$2"
- shift
- ;;
- --secondary-image)
- SECONDARY_IMAGE="$2"
- shift
- ;;
- *)
- BITBAKE_OPTIONS=$BITBAKE_OPTIONS" "$1
- ;;
- esac
- shift
- done
- BITBAKE_OPTIONS=$BITBAKE_OPTIONS" "$1
- if [ -z "$EXTRA_MACHINE" ]
- then
- echo " Error: you need to run $FUNCNAME with --extra-machine agument"
- echo
- echo " Example:"
- echo " $ $FUNCNAME --extra-machine hikey rpb-weston-image"
- return
- fi
-
- if [ "$EXTRA_MACHINE" == "$MACHINE" ]
- then
- echo "Error: the extra machine must be different from the machine you already set using setup-environment: "$MACHINE
- return
- fi
-
- echo "Building first image. MACHINE:" $EXTRA_MACHINE " DISTRO:" $DISTRO
-
- MACHINE=$EXTRA_MACHINE bitbake $SECONDARY_IMAGE
-
- if [ $? != 0 ]; then
- printf "Error building image"
- return
- fi
- echo "Building second image. MACHINE:" $MACHINE " DISTRO:" $DISTRO
+export PATH="${OEROOT}/bitbake/bin:${OEROOT}/.repo/repo:${PATH}"
+export PATH="${OEROOT}/layers/openembedded-core/scripts:${PATH}"
+# Remove duplicate path entries
+export PATH=$(echo "$PATH" |
+ awk -F: '{for (i=1;i<=NF;i++) { if ( !x[$i]++ ) printf("%s:",$i); }}' |
+ sed 's/:$//')
+# Make sure Bitbake doesn't filter out the following variables from our env
+export BB_ENV_EXTRAWHITE="MACHINE DISTRO TCLIBC TCMODE GIT_PROXY_COMMAND \
+ http_proxy ftp_proxy https_proxy all_proxy ALL_PROXY no_proxy \
+ SSH_AGENT_PID SSH_AUTH_SOCK BB_SRCREV_POLICY SDKMACHINE \
+ BB_NUMBER_THREADS"
- MACHINE=$MACHINE bitbake $BITBAKE_OPTIONS
-}
mkdir -p "${BUILDDIR}"/conf && cd "${BUILDDIR}"
if [ -f "conf/auto.conf" ]; then
- oldmach=$(egrep "^MACHINE" "conf/auto.conf" | sed -e 's%^MACHINE ?= %%' | sed -e 's/^"//' -e 's/"$//')
+ oldmach=$(egrep "^MACHINE" "conf/auto.conf" |
+ sed -e 's%^MACHINE ?= %%' | sed -e 's/^"//' -e 's/"$//')
fi
-if [ -e conf/checksum -a "${MACHINE}" = "$oldmach" ]
-then
+
+if [ -e conf/checksum -a "${MACHINE}" = "$oldmach" ]; then
sha512sum --quiet -c conf/checksum > /dev/null 2>&1
- if [ $? -eq 0 ]
- then
+ if [ $? -eq 0 ]; then
return
fi
fi
-# evaluate new checksum and regenerate the conf files
+# Evaluate new checksum and regenerate the conf files
sha512sum "${MANIFESTS}"/setup-environment-internal 2>&1 > conf/checksum
ln -sf "${MANIFESTS}"/conf/local.conf conf/local.conf
@@ -250,22 +173,25 @@ SDKMACHINE ?= "${SDKMACHINE}"
# Extra options that can be changed by the user
INHERIT += "rm_work"
EOF
+
if [ ! -e conf/site.conf ]; then
cat > conf/site.conf <<_EOF
-
SCONF_VERSION = "1"
# Where to store sources
-DL_DIR = "${OEROOT}/downloads"
+DL_DIR ?= "${OEROOT}/downloads"
# Where to save shared state
-SSTATE_DIR = "${OEROOT}/sstate-cache"
+SSTATE_DIR ?= "${OEROOT}/sstate-cache"
+# Where to save the build system work output
TMPDIR = "${BUILDDIR}/tmp-${DISTRO_DIRNAME}"
-# Go through the Firewall
-#HTTP_PROXY = "http://${PROXYHOST}:${PROXYPORT}/"
+# Where to save the packages and images
+DEPLOY_DIR = "${BUILDDIR}/deploy"
+# Go through the Firewall
+#HTTP_PROXY = "http://${PROXYHOST}:${PROXYPORT}/"
_EOF
fi
@@ -277,25 +203,26 @@ fi
# set to 1 in auto.conf, which can later be used by the BSP.
# If the env variable EULA_$MACHINE is set it is used by default,
# without prompting the user.
-# FIXME: there is a potential issue if the same $MACHINE is set in more than one layer.. but we should assert that earlier
-EULA=$(find ../layers -path "*/conf/eula/$MACHINE" -print | grep -v scripts | grep -v openembedded-core | grep -v meta-linaro || true)
+# FIXME: there is a potential issue if the same $MACHINE is set in
+# more than one layer.. but we should assert that earlier
+EULA=$(find ../layers -path "*/conf/eula/$MACHINE" -print | grep -v scripts |
+ grep -v openembedded-core | grep -v meta-linaro || true)
if [ -n "$EULA" ]; then
-
# remove '-' since we are constructing a bash variable name here
EULA_MACHINE="EULA_$(echo "$MACHINE" | sed 's/-//g')"
# NOTE: indirect reference / dynamic variable
if [ -n "${!EULA_MACHINE}" ]; then
- # the EULA_$MACHINE variable is set in the environment, so we just configure
- # ACCEPT_EULA_$MACHINE in auto.conf
+ # the EULA_$MACHINE variable is set in the environment, so we just
+ # configure # ACCEPT_EULA_$MACHINE in auto.conf
echo "ACCEPT_EULA_$MACHINE = \"${!EULA_MACHINE}\"" >> conf/auto.conf
else
# so we need to ask user if he/she accepts the EULA:
cat <<EOF
-The BSP for $MACHINE depends on packages and firmware which are covered by an End
-User License Agreement (EULA). To have the right to use these binaries
+The BSP for $MACHINE depends on packages and firmware which are covered by an
+End User License Agreement (EULA). To have the right to use these binaries
in your images, you need to read and accept the following...
EOF
@@ -344,7 +271,7 @@ fi
cat <<EOF
-Welcome to OpenEmbedded Reference Platform Build (OE RPB)
+Welcome to Open Source Foundries Linux microPlatform (OSF LMP)
For more information about OpenEmbedded see their website:
http://www.openembedded.org/
@@ -358,10 +285,6 @@ Your build environemnt has been configured with:
You can now run 'bitbake <target>'
Some of common targets are:
- rpb-console-image
- rpb-desktop-image
- rpb-weston-image
- core-image-base
- core-image-minimal
+ lmp-gateway-image
EOF