GithubHelp home page GithubHelp logo

bsp-32's Introduction

OpenEmbedded/Yocto Linux BSP for NXP Auto platforms
===================================================


First time setup
----------------

To get the BSP you need to have `repo` installed.
Install the `repo` utility: (only need to do this once):

$: mkdir ~/bin
$: curl http://commondatastorage.googleapis.com/git-repo-downloads/repo  > ~/bin/repo
$: chmod a+x ~/bin/repo
$: PATH=${PATH}:~/bin


Download the Yocto Project Environment into your directory:
-----------------------------------------------------------

$: mkdir fsl-auto-yocto-bsp
$: cd fsl-auto-yocto-bsp
$: repo init -u https://source.codeaurora.org/external/autobsps32/auto_yocto_bsp -b alb/master
$: repo sync

This will download the sources for the latest NXP Auto Linux BSP (from the branch alb/master),
structured ontop of the Yocto rocko release and upstream NXP QorIQ SDK.

Note: for another Linux BSP release or engineering build, please use the corresponding branch and manifest.

The repository provides more manifest files, particularized for different use cases.
The desired manifest file is selected by specifying it in the repo init command,
using parameter -m <manifest file>
The manifests are delivered in two formats:
<manifest>.xml and <manifest>-bitbucket.xml. The second would allow fetching
internal bitbucket development repositories as specified in the note above.

The manifest files (different than the default one) are documented below.

NXP internal repositories default-bitbucket.xml, please use:
    $: repo init -u https://bitbucket.sw.nxp.com/scm/alb/auto_yocto_bsp.git -b develop -m default-bitbucket.xml
    $: repo sync

adas.xml / adas-bitbucket.xml
    This manifest extends the default manifest with the meta-adas layer,
    allowing complete integration of VSDK into the Yocto build.
    For more details, please see the meta-adas documentation in sources/meta-adas/README

    $: repo init -u https://source.codeaurora.org/external/autobsps32/auto_yocto_bsp -b alb/master -m adas.xml


Creating a Build Directory for a BSP release:
---------------------------------------------

Now you can create a build directory in the BSP root by running the command:

$ . nxp-setup-alb.sh -m <machine>

where:
<machine>	is any NXP Auto target, e.g. s32v234evb, s32v234bbmini, ls2084abbmini etc.


Build an image:
---------------

In the buid directory created by the setup script, you can run the command:

$ bitbake <image-name>

For the NXP Auto BSP, you may use as <image-name> any of the Auto images , e.g.
`fsl-image-base`, `fsl-image-auto`, `fsl-image-ubuntu`, `fsl-image-ubuntu-base`.

Running the above command would be enough to completely build u-boot, kernel, modules,
and a rootfs ready to be deployed. Look for a build result in
`build_<machine>/tmp/deploy/images/`.

The file `<image-name>.sdcard` is a disk image with all necessary partitions and contains
the bootloader, kernel and rootfs. You can just low-level copy the data on this file to the
SD card device using dd as on the following command example:

$ sudo dd if=<image-name>.sdcard of=/dev/sd<partition> bs=1M && sync

Ensure that any partitions on the card are properly unmounted before writing
the card image, or you may have a corrupted card image in the end.
Also ensure to properly "sync" the filesystem before ejecting the card to ensure
all data has been written.

To deploy only the rootfs to the target partition, run:
$ sudo tar -xzf <image-name>.tar.gz -C <destination>
where <destination> is the destination partition (as mounted on the host).

Note that builds with bitbake accumulate in the deployment directory.
You may want to delete older irrelevant images after repeated builds.
The very first build ever will take very long because a lot of one-time house keeping
and building has to happen. You want to have a powerful build machine.

Note the SOURCE_THIS file to be used when going back to building with a new shell.

Images provided
===============

fsl-image-ubuntu-base: A system image with a minimalist Ubuntu 16.04 LTS root filesystem

fsl-image-ubuntu: A complete, development-suitable system image based on Ubuntu 16.04 LTS 
which contains (among others): the complete kernel source code (for rebuilding the kernel directly on the target machine), 
compilers and toolchains (for C, C++, Java), ROS Kinetic and Docker

NOTE: For the most convenient development environment, use of
fsl-image-auto below is suggested.
Production embedded projects would likely use much smaller images.

fsl-image-auto: A complete system image (containing u-boot, the Linux kernel and DTBs) with a full Yocto-sourced filesystem.
---------------

The rootfs is fairly reasonable in completeness for basic efforts and
contains sufficient amount of basic tools for remote connection and
mounting of NFS or other drives.


Adding GPU drivers to S32V234 rootfs
====================================

Please download the Vivante GPU drivers from nxp.com.
To add GPU drivers to S32V234 rootfs, follow the steps as below:

- Add the following line in your chosen image script (e.g. meta-alb/recipes-fsl/images/fsl-image-auto.bb):
    IMAGE_INSTALL += "gpu-viv-bin-s32v2xx"
- You also need to confirm that you accept NXP's EULA by adding the following to the build folder's conf/local.conf
  (e.g. build_s32v234evb/conf/local.conf):
    ACCEPT_FSL_EULA = "1"
- Use FSL_LOCAL_MIRROR variable to locate the GPU drivers previously downloaded. FSL_LOCAL_MIRROR
   should be updated as below (e.g. build_s32v234evb_release/conf/local.conf):
     FSL_LOCAL_MIRROR = "file:///opt/fsl_local_mirror"
     DISTRO_FEATURES_DEFAULT_append = " gpu"

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.