[meta-freescale] [Documentation][PATCH 5/5] UG: Update version to 2.2 (Morty)
Fabio Berton
fabio.berton at ossystems.com.br
Wed Nov 9 09:30:25 PST 2016
- Update FSL layers names
- Add DISTRO and MACHINE to run setup-environment
- Update devtasks, nsteps and metadata to use Morty branch and distro
fslc-framebuffer
- Remove qt-in-use-image and qte-in-use-image from image list
- Add FSLC distros description
- Use DISTRO fslc-wayland in weston example
Signed-off-by: Fabio Berton <fabio.berton at ossystems.com.br>
---
user-guide/source/conf.py | 4 +-
user-guide/source/devtasks.rst | 58 ++++++++++++-----------
user-guide/source/distro-list.inc | 4 ++
user-guide/source/distros.rst | 10 ++++
user-guide/source/image-list.inc | 2 -
user-guide/source/index.rst | 1 +
user-guide/source/metadata.rst | 99 ++++++++++++++++++++++++---------------
user-guide/source/nsteps.rst | 6 +--
user-guide/source/weston.rst | 13 +++--
9 files changed, 121 insertions(+), 76 deletions(-)
create mode 100644 user-guide/source/distro-list.inc
create mode 100644 user-guide/source/distros.rst
diff --git a/user-guide/source/conf.py b/user-guide/source/conf.py
index 7c9f536..850f1ce 100644
--- a/user-guide/source/conf.py
+++ b/user-guide/source/conf.py
@@ -48,9 +48,9 @@ copyright = u'2014, Freescale Community BSP Team'
# built documents.
#
# The short X.Y version or version name if applicable.
-version = 'krogoth'
+version = 'morty'
# The full version, including alpha/beta/rc tags.
-release = '2.1'
+release = '2.2'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
diff --git a/user-guide/source/devtasks.rst b/user-guide/source/devtasks.rst
index 2c195d2..dfd7675 100644
--- a/user-guide/source/devtasks.rst
+++ b/user-guide/source/devtasks.rst
@@ -15,7 +15,7 @@ before proceeding check the main `Layer Index`_.
1. To have access to Yocto scripts, run the setup environment script under your ``BASE``
directory::
- fsl-community-bsp $ . setup-environment build
+ fsl-community-bsp $ MACHINE=wandboard DISTRO=fslc-framebuffer source setup-environment build
2. Move to the place you want to create your layer and choose a name
(e.g. ``fsl-custom``)::
@@ -50,14 +50,14 @@ package development. However, if the need does arise, follow the steps listed be
that you have already built the package you want to patch.
* Create the patch or patches. In this example we are patching the
- Linux kernel for `wandboard-dual machine <http://www.wandboard.org/>`_;
+ Linux kernel for `wandboard machine <http://www.wandboard.org/>`_;
in other words, the value of ``MACHINE`` in ``build/conf/local.conf`` is
- ``MACHINE ??= 'wandboard-dual'``
+ ``MACHINE ??= 'wandboard'``
* If you already have the patches available, make sure they can be applied cleanly with
the commands ``git apply --check <PATCH_NAME>``. To create new or additional patches::
- build $ cd tmp/work/wandboard_dual-poky-linux-gnueabi/linux-wandboard/3.0.35-r0/git
+ build $ cd tmp/work/wandboard-fslc-linux-gnueabi/linux-wandboard/4.1.15-r0/git
# Edit any files you want to change
$ git add <modified file 1> <modified file 2> ..
$ git commit -s -m '<your commit's title>' # Create the commit
@@ -69,8 +69,8 @@ that you have already built the package you want to patch.
and the ```.bbfile``::
sources $ mkdir -p \
- meta-fsl-custom/recipes-kernel/linux/linux-wandboard-3.0.35/
- sources $ cat > meta-fsl-custom/recipes-kernel/linux/linux-wandboard_3.0.35.bbappend << EOF
+ meta-fsl-custom/recipes-kernel/linux/linux-wandboard-4.1.15/
+ sources $ cat > meta-fsl-custom/recipes-kernel/linux/linux-wandboard_4.1.15.bbappend << EOF
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:"
SRC_URI += "file://0001-calibrate-Add-printk-example.patch"
PRINC := "${@int(PRINC) + 1}"
@@ -78,12 +78,12 @@ that you have already built the package you want to patch.
* Move the patch to the new layer::
- sources $ cp ../build/tmp/work/wandboard_dual-poky-linux-gnueabi/linux-wandboard/3.0.35-r0/git/0001-calibrate-Add-printk-example.patch \
- meta-fsl-custom/recipes-kernel/linux/linux-wandboard-3.0.35
+ sources $ cp ../build/tmp/work/wandboard-fslc-linux-gnueabi/linux-wandboard/4.1.15-r0/git/0001-calibrate-Add-printk-example.patch \
+ meta-fsl-custom/recipes-kernel/linux/linux-wandboard-4.1.15
* Setup the environment and clean previous package's build data (``sstate``)::
- fsl-community-bsp $ . setup-environment build
+ fsl-community-bsp $ MACHINE=wandboard DISTRO=fslc-framebuffer source setup-environment build
build $ bitbake -c cleansstate linux-wandboard
* Compile and Deploy::
@@ -91,10 +91,10 @@ that you have already built the package you want to patch.
build $ bitbake -f -c compile linux-wandboard # -f indicates bitbake to re-execute the compile task
build $ bitbake -c deploy linux-wandboard
-* Insert the SD into your Host and copy the ``uImage`` into the first partition.
+* Insert the SD into your Host and copy the ``zImage`` into the first partition.
Do not forget to unmount the partition before removing the card!::
- build $ sudo cp tmp/deploy/images/uImage /media/Boot
+ build $ sudo cp tmp/deploy/images/wandboard/zImage /media/Boot
* Insert the SD into your board and test your change.
@@ -105,7 +105,7 @@ Building the Kernel Manually
* Prepare the Yocto/BitBake environment::
- fsl-community-bsp $ . setup-environment build
+ fsl-community-bsp $ MACHINE=wandboard DISTRO=fslc-framebuffer source setup-environment build
* Build the toolchain::
@@ -116,11 +116,11 @@ Building the Kernel Manually
* Install it on your PC::
- build $ sudo sh tmp/deploy/sdk/poky-eglibc-x86_64-arm-toolchain-<version>.sh
+ build $ sudo sh tmp/deploy/sdk/fslc-framebuffer-glibc-x86_64-meta-toolchain-armv7at2hf-neon-toolchain-2.2.sh
* Setup the toolchain environment::
- build $ source /opt/poky/<version>/environment-setup-armv7a-vfp-neon-poky-linux-gnueabi
+ build $ source /opt/fslc-framebuffer/2.2/environment-setup-armv7at2hf-neon-fslc-linux-gnueabi
* Get the Linux Kernel source code::
@@ -129,24 +129,24 @@ Building the Kernel Manually
* Create a local branch::
- linux-imx $ BRANCH=imx_3.0.35_4.0.0 # Change to any branch you want,
+ linux-imx $ BRANCH=imx_4.1.15_2.0.0_ga # Change to any branch you want,
# Use 'git branch -a' to list all
linux-imx $ git checkout -b my-${BRANCH} origin/${BRANCH}
* Define/Export ``ARCH`` and ``CROSS_COMPILE``::
linux-imx $ export ARCH=arm
- linux-imx $ export CROSS_COMPILE=arm-poky-linux-gnueabi-
+ linux-imx $ export CROSS_COMPILE=arm-fslc-linux-gnueabi-
linux-imx $ unset LDFLAGS
* Choose a configuration and compile::
- linux-imx $ make imx6_defconfig
- linux-imx $ make uImage
+ linux-imx $ make imx_v7_defconfig
+ linux-imx $ make zImage
-* To Test your changes, copy the ``uImage`` into your SD Card::
+* To Test your changes, copy the ``zImage`` into your SD Card::
- linux-imx $ sudo cp arch/arm/boot/uImage /media/Boot
+ linux-imx $ sudo cp arch/arm/boot/zImage /media/Boot
* If you want your changes to be reflected in your Yocto Framework,
create the patches following the subsection :ref:`patching-kernel`
@@ -184,14 +184,14 @@ Follow these steps to contribute:
Where ``<branch name>`` is any name you want to give to your local branch (e.g.
``fix_uboot_recipe``, ``new_gstreamer_recipe``, etc.)
-* Make your changes in any Freescale related folder (e.g. ``sources/meta-fsl-arm``).
+* Make your changes in any Freescale related folder (e.g. ``sources/meta-freescale``).
In case you modified a recipe (.bb) or include (.inc) file, do not forget to `bump`
(increase the value by one) either the ``PR`` or ``INC_PR`` value
-* Commit your changes using `GIT`. In this example we assume your change is on ``meta-fsl-arm`` folder::
+* Commit your changes using `GIT`. In this example we assume your change is on ``meta-freescale`` folder::
- sources/meta-fsl-arm $ git add <file 1> <file 2>
- sources/meta-fsl-arm $ git commit
+ sources/meta-freescale $ git add <file 1> <file 2>
+ sources/meta-freescale $ git commit
In the commit's log, the title must start with the filename that was changed or created,
followed by a brief description of the patch's goal. On subsequent lines, provide a thorough description of the changes.
@@ -199,11 +199,15 @@ Make sure you follow the standards (type ` git log --pretty=oneline` to see prev
* Create a patch::
- sources/meta-fsl-arm $ git format-patch -s --subject-prefix='<meta-fsl-arm][PATCH' -1
+ sources/meta-freescale $ git format-patch -s -1
Where the last parameter (``-1``) indicate to patch the last commit.
In case you want to create patches for older commits, just indicate the correct index.
-If your patch is done in another folder, just make sure you change the `--subject-prefix` value.
+If your patch is done in another folder, you need to add `--subject-prefix`. The
+values are::
+
+ meta-freescale-3rdparty: --subject-prefix='3rdparty][PATCH'
+ meta-freescale-distro: --subject-prefix='distro][PATCH'
* Send your patch or patches with::
@@ -213,7 +217,7 @@ where ``<patch>`` is the file created by ``git format-patch``.
* Keep track of patch responses on the mailing list. In case you need to rework your patch,
repeat the steps but this time change the patch's subject to
- ``--subject-prefix='<meta-fsl-*][PATCH v2'``
+ ``--subject-prefix='[PATCH v2'``
* Once your patch has been approved, you can delete your working branches::
diff --git a/user-guide/source/distro-list.inc b/user-guide/source/distro-list.inc
new file mode 100644
index 0000000..22bee1b
--- /dev/null
+++ b/user-guide/source/distro-list.inc
@@ -0,0 +1,4 @@
+* **fslc-framebuffer**: Distro for Framebuffer graphical backend. This distro doesn't include x11 and wayland features.
+* **fslc-wayland**: Distro for Wayland without X11. This distro include wayland feature but doesn't has x11 support.
+* **fslc-x11**: Distro for X11 without wayland. This distro include x11 feature and doesn' has wayland support.
+* **fslc-xwayland**: Distro for Wayland with X11. This distro include both wayland and x11 features.
diff --git a/user-guide/source/distros.rst b/user-guide/source/distros.rst
new file mode 100644
index 0000000..c623db5
--- /dev/null
+++ b/user-guide/source/distros.rst
@@ -0,0 +1,10 @@
+.. _distros:
+
+Distros
+-------
+
+The following distros are supported by FSL Community BSP.
+
+.. include:: distro-list.inc
+
+*NOTE: Poky's distros are still available to use.*
diff --git a/user-guide/source/image-list.inc b/user-guide/source/image-list.inc
index 8b8013a..899ee78 100644
--- a/user-guide/source/image-list.inc
+++ b/user-guide/source/image-list.inc
@@ -2,5 +2,3 @@
* **fsl-image-mfgtool-initramfs**: Small image to be used with Manufacturing Tool (mfg-tool) in a production environment.
* **fsl-image-multimedia**: A console-only image that includes gstreamer packages and Freescale's multimedia packages (VPU and GPU) when available for the specific machine.
* **fsl-image-multimedia-full**: A console-only image that includes gstreamer packages and Freescale's multimedia packages (VPU and GPU) when available for the specific machine.
-* **qt-in-use-image**: qt-in-use-image version 1.0-r0.
-* **qte-in-use-image**: qte-in-use-image version 1.0-r0.
diff --git a/user-guide/source/index.rst b/user-guide/source/index.rst
index 04f44f9..3d8d564 100644
--- a/user-guide/source/index.rst
+++ b/user-guide/source/index.rst
@@ -17,6 +17,7 @@ Contents:
devtasks
weston
machines
+ distros
images
diff --git a/user-guide/source/metadata.rst b/user-guide/source/metadata.rst
index f31590e..0559bb7 100644
--- a/user-guide/source/metadata.rst
+++ b/user-guide/source/metadata.rst
@@ -32,37 +32,32 @@ Build's local configuration file ``build/conf/local.conf``
By default, the ``setup-enviroment`` script creates a ``local.conf`` like this::
- MACHINE ??= 'wandboard-dual'
- DISTRO ?= 'poky'
- #PACKAGE_CLASSES ?= "package_rpm"
- EXTRA_IMAGE_FEATURES = "debug-tweaks"
+ MACHINE ??= 'wandboard'
+ DISTRO ?= 'fslc-framebuffer'
+ PACKAGE_CLASSES ?= "package_rpm"
+ EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
USER_CLASSES ?= "buildstats image-mklibs image-prelink"
PATCHRESOLVE = "noop"
BB_DISKMON_DIRS = "\
STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \
STOPTASKS,${SSTATE_DIR},1G,100K \
+ STOPTASKS,/tmp,100M,100K \
ABORT,${TMPDIR},100M,1K \
ABORT,${DL_DIR},100M,1K \
- ABORT,${SSTATE_DIR},100M,1K"
+ ABORT,${SSTATE_DIR},100M,1K \
+ ABORT,/tmp,10M,1K"
+ PACKAGECONFIG_append_pn-qemu-native = " sdl"
+ PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
CONF_VERSION = "1"
- BB_NUMBER_THREADS = '4'
- PARALLEL_MAKE = '-j 4'
- ACCEPT_FSL_EULA = ""
- #added by bitbake
- DL_DIR = "/home/b42214/fsl-local/yocto/fsl-community-bsp-dylan/downloads/"
- #added by bitbake
- SSTATE_MIRRORS = ""
- #added by bitbake
- PACKAGE_CLASSES = "package_rpm"
+ DL_DIR ?= "${BSPDIR}/downloads/"
Important variables:
-* ``MACHINE``: Specifies the machine, ``imx6qsabresd`` is the default
-* ``BB_NUMBER_THREADS`` and ``PARALLEL_MAKE``: Specifies the max number of threads when
- baking and compiling
-* ``DL_DIR``: Tarball repository. Several users can share the same folder, so data can
+* ``MACHINE``: Specifies the machine
+* ``DISTRO``: Specifies the distro
+* ``DL_DIR``: Tarball repository. Several users can share the same folder, so data can
be reused.
Build's layer configuration file ``build/conf/bblayers.conf``
@@ -83,13 +78,14 @@ Build's layer configuration file ``build/conf/bblayers.conf``
${BSPDIR}/sources/poky/meta-yocto \
\
${BSPDIR}/sources/meta-openembedded/meta-oe \
+ ${BSPDIR}/sources/meta-openembedded/meta-multimedia \
\
- ${BSPDIR}/sources/meta-fsl-arm \
- ${BSPDIR}/sources/meta-fsl-arm-extra \
- ${BSPDIR}/sources/meta-fsl-demos \
+ ${BSPDIR}/sources/meta-freescale \
+ ${BSPDIR}/sources/meta-freescale-3rdparty \
+ ${BSPDIR}/sources/meta-freescale-distro \
"
-Layer configuration file ``meta-fsl-arm/conf/layer.conf``
+Layer configuration file ``meta-freescale/conf/layer.conf``
---------------------------------------------------------
This is basically a template that specifies the layer's name and structure::
@@ -101,52 +97,79 @@ This is basically a template that specifies the layer's name and structure::
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
- BBFILE_COLLECTIONS += "fsl-arm"
- BBFILE_PATTERN_fsl-arm := "^${LAYERDIR}/"
- BBFILE_PRIORITY_fsl-arm = "5"
+ BBFILE_COLLECTIONS += "freescale-layer"
+ BBFILE_PATTERN_freescale-layer := "^${LAYERDIR}/"
+ BBFILE_PRIORITY_freescale-layer = "5"
+
+ # Add the Freescale-specific licenses into the metadata
+ LICENSE_PATH += "${LAYERDIR}/custom-licenses"
FSL_EULA_FILE = "${LAYERDIR}/EULA"
- FSL_MIRROR ?= "http://www.freescale.com/lgfiles/NMG/MAD/YOCTO/"
+ IMX_MIRROR ?= "http://www.freescale.com/lgfiles/NMG/MAD/YOCTO/"
+ QORIQ_MIRROR ?= "http://git.freescale.com/source/"
+
+ # FIXME: set this to avoid changing all the recipes that use it
+ FSL_MIRROR ?= "${IMX_MIRROR}"
MIRRORS += " \
- ${FSL_MIRROR} http://download.ossystems.com.br/bsp/freescale/source/ \n \
+ ${IMX_MIRROR} http://download.ossystems.com.br/bsp/freescale/source/ \n \
+ ${QORIQ_MIRROR} http://download.ossystems.com.br/bsp/freescale/source/ \n \
"
+ # The dynamic-layers directory hosts the extensions and layer specific
+ # modifications related to Freescale products.
+ #
+ # The .bbappend and .bb files are included if the respective layer
+ # collection is available.
+ BBFILES += "${@' '.join('${LAYERDIR}/dynamic-layers/%s/recipes*/*/*.bbappend' % layer \
+ for layer in BBFILE_COLLECTIONS.split())}"
+ BBFILES += "${@' '.join('${LAYERDIR}/dynamic-layers/%s/recipes*/*/*.bb' % layer \
+ for layer in BBFILE_COLLECTIONS.split())}"
+
Important variables:
* ``BBFILES``: Specifies where BitBake looks for ``.bb*`` files
-* ``BBFILE_PRIORITY_fsl-arm``: Specifies priority for recipes in the meta-fsl-arm layer
+* ``BBFILE_PRIORITY_freescale``: Specifies priority for recipes in the meta-freescale layer
* ``MIRRORS``: Specifies additional paths where the build system can find source code
-Machine configuration file: ``meta-fsl-arm/conf/imx6qsabresd.conf``
+Machine configuration file: ``meta-freescale/conf/imx6slevk.conf``
-------------------------------------------------------------------
Machine configurations look like this::
#@TYPE: Machine
- #@NAME: i.MX6Q SABRE SD
- #@DESCRIPTION: Machine configuration for Freescale i.MX6Q SABRE SD
+ #@NAME: Freescale i.MX6SL Evaluation Kit
+ #@SOC: i.MX6SL
+ #@DESCRIPTION: Machine configuration for Freescale i.MX6SL Evaluation Kit
+ #@MAINTAINER: Otavio Salvador <otavio at ossystems.com.br>
+
+ MACHINEOVERRIDES =. "mx6:mx6sl:"
include conf/machine/include/imx-base.inc
include conf/machine/include/tune-cortexa9.inc
- SOC_FAMILY = "mx6:mx6q"
-
- KERNEL_DEVICETREE = "${S}/arch/arm/boot/dts/imx6q-sabresd.dts"
+ KERNEL_DEVICETREE = "imx6sl-evk.dtb imx6sl-evk-csi.dtb imx6sl-evk-ldo.dtb \
+ imx6sl-evk-uart.dtb imx6sl-evk-btwifi.dtb"
- UBOOT_MACHINE = "mx6qsabresd_config"
+ UBOOT_CONFIG ??= "sd"
+ UBOOT_CONFIG[sd] = "mx6slevk_config,sdcard"
+ UBOOT_CONFIG[epdc] = "mx6slevk_epdc_config"
+ UBOOT_CONFIG[spinor] = "mx6slevk_spinor_config"
+ UBOOT_CONFIG[mfgtool] = "mx6slevk_config"
SERIAL_CONSOLE = "115200 ttymxc0"
MACHINE_FEATURES += " pci wifi bluetooth"
+ MACHINE_FIRMWARE += "linux-firmware-ath6k firmware-imx-epdc"
+
Important variables:
-* ``IMAGE_FSTYPES``: Located in `imx-base.inc <http://git.yoctoproject.org/cgit/cgit.cgi/meta-fsl-arm/tree/conf/machine/include/imx-base.inc>`_.
- Defines the type of outputs for the root filesystem. Default is: ``"tar.bz2 ext3 sdcard"``
-* ``UBOOT_ENTRYPOINT_*``: Located in `imx-base.inc <http://git.yoctoproject.org/cgit/cgit.cgi/meta-fsl-arm/tree/conf/machine/include/imx-base.inc>`_.
+* ``IMAGE_FSTYPES``: Located in `imx-base.inc <http://git.yoctoproject.org/cgit/cgit.cgi/meta-freescale/tree/conf/machine/include/imx-base.inc>`_.
+ Defines the type of outputs for the root filesystem. Default is: ``"sdcard.gz"``
+* ``UBOOT_ENTRYPOINT_*``: Located in `imx-base.inc <http://git.yoctoproject.org/cgit/cgit.cgi/meta-freescale/tree/conf/machine/include/imx-base.inc>`_.
Defines where the Kernel is loaded by U-boot
* ``SOC_FAMILY``: Defines the machine's family. Only recipes with the same ``SOC_FAMILY`` (defined with the recipe's variable ``COMPATIBLE_MACHINE``)
are taken into account when baking for a particular machine.
diff --git a/user-guide/source/nsteps.rst b/user-guide/source/nsteps.rst
index 66c1bf1..3116b75 100644
--- a/user-guide/source/nsteps.rst
+++ b/user-guide/source/nsteps.rst
@@ -10,18 +10,18 @@ Build and boot in *N*-steps
$ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
-3. Download the Yocto's Metadata::
+3. Download the Yocto Metadata::
$ mkdir fsl-community-bsp # You can name it anything you want
$ cd fsl-community-bsp
fsl-community-bsp $ repo init \
-u https://github.com/Freescale/fsl-community-bsp-platform \
- -b krogoth
+ -b morty
fsl-community-bsp $ repo sync
4. Select your machine (:ref:`machines`) and prepare the environment for bitbake::
- fsl-community-bsp $ MACHINE=<selected machine> source ./setup-environment build
+ fsl-community-bsp $ MACHINE=<selected machine> DISTRO=<selected distro> source setup-environment build
build $
5. Select your image (:ref:`images`) and build::
diff --git a/user-guide/source/weston.rst b/user-guide/source/weston.rst
index 562c4f7..6a15887 100644
--- a/user-guide/source/weston.rst
+++ b/user-guide/source/weston.rst
@@ -1,17 +1,22 @@
Weston
======
-In order to test Weston, the reference implementation of a Wayland compositor, use the image *core-image-weston*
+In order to test Weston, the reference implementation of a Wayland compositor,
+use FSLC Distro *fslc-wayland* and the image *core-image-weston*
-Add the following to conf/local.conf::
+If you are starting a new build run::
- DISTRO_FEATURES_remove = "x11"
+ $ MACHINE=<selected machine> DISTRO=fslc-wayland source setup-environment build
+
+if you already start setup-environment, set DISTRO to fslc-wayland in conf/local.conf::
+
+ DISTRO = "fslc-wayland"
And bake the image::
$ bitbake core-image-weston
-Remember to use a clean build-dir when changing `DISTRO_FEATURES`
+Remember to use a clean build-dir when changing `DISTRO`
Simple tests
--
2.1.4
More information about the meta-freescale
mailing list