This is the Git repo manifest for Li-Pro.Net Central embedded environment.
To get the Li-Pro.Net build environment you need to have repo
installed
and use it as:
Install the repo
utility:
$: mkdir -p ~/.local/bin
$: curl https://raw.githubusercontent.com/lipro-yocto/git-repo/lpn-launcher/repo > ~/.local/bin/repo
$: chmod a+x ~/.local/bin/repo
$: sha1sum ~/.local/bin/repo
For repo launcher version 2.12.2.2021.2.20, the SHA-1 checksum
for repo
is 93cab6406f072e78874dac1d891427c84189f0b6
For repo launcher version 2.8.2020.10.4, the SHA-1 checksum
for repo
is 1c5afd4164e7b9dd7939334291ededc54ef280f2
Download default build environment:
$: PATH=${PATH}:~/.local/bin
$: mkdir lpn-central-workspace
$: cd lpn-central-workspace
$: repo init -u https://github.com/lipro-yocto/lpn-central-repo \
-b master -m default.xml
$: repo sync
At the end of the commands you have every metadata you need to start work with.
To start a simple image build:
$: source ./setup-environment
$: bitbake core-image-minimal
You can use any directory to host your build.
The source code is checked out at lpn-central-workspace/sources
.
To see available images, run inside the checked out source path
lpn-central-workspace/sources
:
$: find . -name core-image*.bb | sort -ub
./poky/meta/recipes-core/images/core-image-base.bb
./poky/meta/recipes-core/images/core-image-minimal.bb
./poky/meta/recipes-core/images/core-image-minimal-dev.bb
./poky/meta/recipes-core/images/core-image-minimal-initramfs.bb
./poky/meta/recipes-core/images/core-image-minimal-mtdutils.bb
./poky/meta/recipes-core/images/core-image-tiny-initramfs.bb
./poky/meta/recipes-extended/images/core-image-full-cmdline.bb
./poky/meta/recipes-extended/images/core-image-kernel-dev.bb
./poky/meta/recipes-extended/images/core-image-testmaster.bb
./poky/meta/recipes-extended/images/core-image-testmaster-initramfs.bb
./poky/meta/recipes-graphics/images/core-image-clutter.bb
./poky/meta/recipes-graphics/images/core-image-weston.bb
./poky/meta/recipes-graphics/images/core-image-x11.bb
./poky/meta/recipes-rt/images/core-image-rt.bb
./poky/meta/recipes-rt/images/core-image-rt-sdk.bb
./poky/meta/recipes-sato/images/core-image-sato.bb
./poky/meta/recipes-sato/images/core-image-sato-dev.bb
./poky/meta/recipes-sato/images/core-image-sato-ptest-fast.bb
./poky/meta/recipes-sato/images/core-image-sato-sdk.bb
./poky/meta/recipes-sato/images/core-image-sato-sdk-ptest.bb
./openembedded/meta-xfce/recipes-core/images/core-image-minimal-xfce.bb
./meta-mingw/recipes-core/images/core-image-mingw-sdktest.bb
Those are all available images. And note that, available core images from poky and meta-openembedded only. As you may imagine, several other layers can be included, and any new layer can provide new images.
Yocto Project provides some "pre baked" images. In my point of view, those images are not to be used on your product. They are examples and quick starting points.
An handy example: When you desire a pie, you can go to supermarket and buy a frozen chocolate pie. But when you’re developing a pie to be the Apple Salted Caramel with Dark Chocolate Cinnamon Topping you need to decide every piece of this pie. What is the base, which type of apple to use. How much salt on caramel. This is your product, your pie, not a frozen standard pie.
I know the analogy is kind of dumb. But it’s important to understand that the "pre baked" images provided by Yocto Project are not supposed to become a product image! You can (and maybe should) base your image on some of those images, but they are not good enough to your product.
I highly recommend you to have your own image file.
https://community.freescale.com/docs/DOC-95421
Image Name | Formal Description | Use it when/for |
---|---|---|
core-image-minimal |
||
A small image just capable of allowing a device to boot. |
|
|
core-image-minimal-initramfs |
||
Small image capable of booting a device. The kernel includes the Minimal RAM-based Initial Root Filesystem (initramfs), which finds the first 'init' program more efficiently. |
||
core-image-minimal-mtdutils |
||
Small image capable of booting a device with support for the Minimal MTD Utilities, which let the user interact with the MTD subsystem in the kernel to perform operations on flash devices. |
||
core-image-base |
||
A console-only image that fully supports the target device hardware. |
|
|
core-image-full-cmdline |
||
A console-only image with more full-featured Linux system functionality installed. |
||
core-image-lsb |
||
An image containing packages that are required to conform to the Linux Standard Base (LSB) specification. |
||
core-image-rt |
||
A small image just capable of allowing a device to boot plus a real-time test suite and tools appropriate for real-time use. |
|
|
core-image-weston |
||
A very basic Wayland image with a terminal. |
|
|
core-image-x11 |
||
A very basic X11 image with a terminal |
|
|
core-image-clutter |
||
An image with support for the Open GL-based toolkit Clutter, which enables development of rich and animated graphical user interfaces. |
||
core-image-sato |
||
Image with Sato, a mobile environment and visual style for mobile devices. The image supports X11 with a Sato theme, Pimlico applications, and contains terminal, editor, and file manager. |
||
core-image-minimal-xfce |
||
A XFCE minimal demo image. |
||
core-image-mingw-sdktest |
||
A specific image that can be used to build MinGW SDKs. This image includes extra recipes that are know to build for MinGW so that they can be tested on the autobuilder. |
All those images DO NOT include -dev
packages or native build. If you want
it you MUST configure your local.conf
. Although, you can find special images
that provides the header files or the native compiler.
The images with -dev sufix include the header files (and development files) from all packages. For example: core-image-minimal-dev (A small image just capable of allowing a device to boot and is suitable for development work.)
The images with -sdk sufix include the native build tools. For example core-image-sato-sdk (Image with Sato support that includes everything within core-image-sato plus meta-toolchain, development headers and libraries to form a standalone SDK.)
Read more on Yocto Training provided by the Freescale community, Daiane Angolini.
To see available toolchains, run inside the checked out source path
lpn-central-workspace/sources
:
$: find . -name meta-toolchain*.bb | sort -u
./poky/meta/recipes-core/meta/meta-toolchain.bb
./meta-qt5/recipes-qt/meta/meta-toolchain-qt5.bb
Those are all available toolchains. And note that, available toolchains from poky, meta-openembedded and meta-qt5 only. As you may imagine, several other layers can be included, and any new layer can provide new toolchains.
Meta Name | Formal Description | Use it when/for |
---|---|---|
meta-toolchain |
||
Meta package for building a installable toolchain. |
|
|
meta-toolchain-qt5 |
||
Meta package for building a installable Qt5 toolchain and SDK. |
To build a cross toolchain for the current build machine:
$: bitbake meta-toolchain
To build a cross toolchain for a Windows 32 bit machine:
$: SDKMACHINE=i686-mingw32
$: bitbake meta-toolchain
To build a cross toolchain for a Windows 64 bit machine:
$: SDKMACHINE=x86_64-mingw32
$: bitbake meta-toolchain
To contribute to the manifest you should send a pull request to this GitHub project or send the patches for review to the authors mailing address.
- Issue tracker
- Pull requests
- Source code
When creating patches, please use something like:
$: git format-patch -s --subject-prefix='lpn-central][PATCH' origin
When sending patches, please use something like:
$: git send-email --to [email protected] <generated patch>
Replace the repo init
command above with one of the following:
- master
-
For developers
$: repo init -u https://github.com/lipro-yocto/lpn-central -b master
- master-next
-
For intrepid developers and testers
Patches are typically merged into master-next and then are merged into master after a testing and comment period. It’s possible that master-next has something you want or need. But it’s also possible that using master-next breaks something that was working before. Use with caution.
$: repo init -u https://github.com/lipro-yocto/lpn-central -b master-next