By Nathan Hartman
Wind River Linux provides the technologies essential to building a flexible, stable, and secure platform for your embedded devices.
Based on OpenEmbedded releases from the Yocto Project, it is designed to let you customize your platform to include only the packages and features you need. Powered by bitbake, it provides the ability to build an entire Linux distribution from source by following repeatable recipes. This is really powerful, but can be foreign to application developers that already have a workflow they are comfortable with.
Developers building graphical user interfaces (GUI) have their own set of tools that they rely on. Often they prefer to use an Integrated Development Environment (IDE) tailored to the language and frameworks they are working with. Typically this IDE and the tools it uses are running natively on the same platform they are building for.
Fortunately, these developers can still do this on Wind River Linux. This tutorial describes building Wind River Linux with the GCC toolchain and Qt Creator included to enable native application development.
Building the entire platform has a few simple requirements to get started. Many Linux distributions are self-hosted meaning you can only build the next version of the distribution with the previous release.
Wind River Linux supports a wide variety of hosts. The official supported list of hosts is below, but many newer releases have been tested and known to work.
For details on necessary Linux Host System Libraries and Executables please refer to the documentation.
For example, on Ubuntu systems the following packages must be installed:
In addition, the deployment steps require root or sudo access for deploying to an SD Card or USB flash device.
Lastly, this tutorial has been validated for the Raspberry Pi 4 and Intel NUC devices (NUC5i3MYBE, NUC6i7KYK, NUC7i5DNK). These instructions should work on other devices, however we tested these devices specifically to ensure that the hardware acceleration was enabled for top performance.
The first step is to clone the Wind River Linux GitHub repository.
Create a directory for the tools needed to create the Wind River Linux image. This will be referred to as the parent directory from this point onwards:
In a Linux terminal, clone the repository into your build folder with the following command:
Note: A clone of wrlinux-x defaults to the WRLINUX_10_19_BASE branch with the latest update tagged. WRLINUX_10_19_BASE_UPDATE0003 or greater is required for the Raspberry Pi 4 BSP. This tutorial was written using WRLINUX_10_19_BASE_UPDATE0007.
This section describes the usage of the Wind River setup.sh tool for easy configuration of the build. We will use it to specify the target board, download the layers required, and pre-populate the configuration file.
In the parent directory that wrlinux-x was cloned into (wrlinux_qt), run the setup.sh script. Accept the End User License Agreement (EULA).
For Raspberry Pi 4 use:
For an Intel NUC use:
Note: The --machine flag specifies that it should include the board support package for your device, the --dl-layers flag downloads the package source now instead of later at build time.
After some time, you will see:
At which point the following files and directories should have been generated:
Run the environment setup scripts that were generated in the parent directory. They will create and change to the build sub-directory.
These scripts will set environment variables for the build tool as well as generate some pre-built configuration files.
Note: If you have previously built an image, running these scripts will not overwrite your existing configurations. Rename, move or delete previous configuration files to ensure the correct configuration files are generated.
This section describes how to add the required template files using git.
Clone the meta-qt5 and the meta-qt5-extra repositories in a my-layers directory
Download the required patches listed below into the wrlinux_qt/build directory:
Credit goes to my colleague, Quanyang Wang, for creating the patches to integrate LxQt desktop on Wind River Linux.
In the meta-qt5-extra directory, apply the first patch:
In the wrlinux layer directory, apply the wrlinux patches:
This section describes how to clone the meta-qt5 and meta-qt5-extra layer repositories. In addition, how to add the layers, GCC toolchain and desktop environment to the image.
Using the bitbake-layers tool, add the layers to the conf/bblayers.conf file. This allow bitbake to locate the custom layer when building the image. In addition, if using a Raspberry Pi add the Raspberry Pi Graphics layer to enable hardware acceleration.
If building for the Raspberry Pi, add in addition for hardware acceleration:
Edit conf/local.conf configuration file to add the GCC toolchain, packages required for Qt5 and the desktop environment. Append the following lines to the end of conf/local.conf:
Note: this tutorial uses the LxQt desktop, but you may replace feature/lxqt with feature/xfce if you prefer to use the desktop featured with the Raspberry Pi Foundation images.
If building for the Raspberry Pi, also add the following to enable hardware acceleration:
If building for Raspberry Pi, edit ../layers/bcm-2xxx-rpi/recipes-bsp/boot-config/boot-config/cmdline.txt file to adjust the kernel parameters.
Note: These changes ensure that the console output appears on the HDMI display and that the boot sequence doesn't wait for a DHCP connection.
This section describes building the Wind River Linux image
Build the image of your choice. As seen in the image in step 4, there are several suggested images. We will build wrlinux-image-std-sato, an image optimized for a desktop environment.
After some time, you will see the following when the build is finished:
This section describes how to identify your USB SD Card adapter or USB flash drive using fdisk.
Use the fdisk command to list the block devices detected by Linux:
Identify your device through the model name or capacity.
Note: In this case the device is '/dev/sdx' as seen by the capacity and 'Disk model'. The device name should take the format of '/dev/sdx' where x is a letter specific to your machine.
This section describes how to write the generated .wic and .wic.bmap or .iso files to the SD card or USB flash drive.
Locate the images generated by bitbake. Relative to the build directory, the image path is:
Specifically, we need the wrlinux-image-std-sato-bcm-2xxx-rpi4.wic and wrlinux-image-std-sato-bcm-2xxx-rpi4.wic.bmap files.
Using bmaptool, flash the generated files to the usb device
After up to several minutes (depending on the speed of your USB device) you should see:
Locate the images generated by bitbake. Relative to the build directory, the image path is:
Specifically, we need the wrlinux-image-std-sato-intel-x86-64.iso file.
Flash your image using dd
In some cases, dd can appear to hang while writing from memory to the USB. Check the progress with:
It should approach the low hundreds when the write is finished.
This section describes how to resize the root filesystem to take up the full capacity of the SD card. With the USB device inserted, run the following commands, replacing /dev/sdx with your device.
For the LxQt desktop, the login and password are wrluser and the $HOME directory is /home/wrluser.
After logging in you will be presented with the LxQt Desktop:
Note: If you chose to use the the XFCE desktop, the login is root with no password and the $HOME directory is /root.
The sample applications come from Qt git repositories. Cloning the repositories requires that you have a working network connection. If for any reason your device didn't automatically get a dynamic IP address you may use the following commands to obtain one.
Open QTerminal by clicking on the icon in the bottom left corner, then click System Tools > QTerminal.
In a QTerminal, execute the su command to become the root user.
Then execute the "ip a" command to verify that your device has retrieved an IP address. Refer to the inet line under eth0 to see your IP address.
If you do not already have an IP address, then you may execute dhclient eth0 to request a dynamic IP address.
Execute exit to stop running commands as the root user and become wrluser again.
This section demonstrates the mesa-demos glxgears application.
Open QTerminal by clicking on the icon in the bottom left corner, then click System Tools > QTerminal.
Execute glxgears to try the OpenGL example. If the hardware acceleration is working, it should report around 60 frames per second on the Raspberry Pi 4.
This section demonstrates an OpenGL example from the Qtbase repository.
Use git to clone the repository containing the OpenGL examples
Copy the examples folder out of the qtbase directory so that Qt Creator will let us build the project.
Launch Qt Creator from the GUI
Open the openglwindow.pro file by selecting File > Open File or Project from the menu.
Navigate to $HOME/examples/opengl/openglwindow/openglwindow.pro. Then click, Open.
Select "openglwindow" as the Active Project, then click the Configure Project button.
Build and run the application by clicking Build > Run in the menu.
(Optional) You may click the "Compile Output" tab along the bottom to watch the toolchain output as the project builds.
After a few moments the openglwindow should appear with a spinning rainbow triangle.
This section demonstrates the QtCluster example from the Qtbase docs repository.
Open a terminal and clone the repository containing the Qt docs:
Launch Qt Creator from the GUI
Open the qtcluster-base.pro file by selecting File > Open File or Project from the menu.
Navigate to $HOME/qtdoc/doc/src/snippets/qtcluster/qtcluster-base.pro. Then click, Open.
Select qtcluster-base"* as the Active Project, then click the Configure Project button.
Build and run the application by clicking Build > Run in the menu.
Note: If the hardware acceleration is working, it should report around 60 frames per second on the Raspberry Pi 4.
View original post here:
Developing Qt5 applications natively on Wind River Linux - WIND
- Cloning - The New York Times [Last Updated On: June 10th, 2016] [Originally Added On: June 10th, 2016]
- Cloning - Learn Genetics [Last Updated On: June 12th, 2016] [Originally Added On: June 12th, 2016]
- Cloning Fact Sheet - Genome.gov [Last Updated On: June 12th, 2016] [Originally Added On: June 12th, 2016]
- Reasons Against Cloning - VIDEOS & ARTICLES [Last Updated On: June 17th, 2016] [Originally Added On: June 17th, 2016]
- How Cloning Works | HowStuffWorks [Last Updated On: June 17th, 2016] [Originally Added On: June 17th, 2016]
- Cloning - Wikipedia, the free encyclopedia [Last Updated On: June 17th, 2016] [Originally Added On: June 17th, 2016]
- How Cloning Works | HowStuffWorks [Last Updated On: June 19th, 2016] [Originally Added On: June 19th, 2016]
- Cloning [Last Updated On: June 19th, 2016] [Originally Added On: June 19th, 2016]
- Cloning - Let Us Reason [Last Updated On: June 19th, 2016] [Originally Added On: June 19th, 2016]
- The Ethics of Human Cloning and Stem Cell Research ... [Last Updated On: June 19th, 2016] [Originally Added On: June 19th, 2016]
- Cloning - Scratch Wiki [Last Updated On: June 19th, 2016] [Originally Added On: June 19th, 2016]
- Cloning = Cruelty | Compassion in World Farming [Last Updated On: June 19th, 2016] [Originally Added On: June 19th, 2016]
- Cloning - Wookieepedia - Wikia [Last Updated On: June 19th, 2016] [Originally Added On: June 19th, 2016]
- ::Cloning:: - Mount Holyoke College [Last Updated On: June 19th, 2016] [Originally Added On: June 19th, 2016]
- What is Cloning? (with pictures) - wiseGEEK [Last Updated On: June 19th, 2016] [Originally Added On: June 19th, 2016]
- Cloning - Types, Technique, Animals and More [Last Updated On: June 19th, 2016] [Originally Added On: June 19th, 2016]
- What is Cloning? - Learn Genetics [Last Updated On: June 19th, 2016] [Originally Added On: June 19th, 2016]
- Molecular Cloning [Last Updated On: June 21st, 2016] [Originally Added On: June 21st, 2016]
- Reasons Against Cloning - VIDEOS & ARTICLES [Last Updated On: June 21st, 2016] [Originally Added On: June 21st, 2016]
- Cloning Blues - TV Tropes [Last Updated On: June 21st, 2016] [Originally Added On: June 21st, 2016]
- Cloning (Stanford Encyclopedia of Philosophy) [Last Updated On: June 30th, 2016] [Originally Added On: June 30th, 2016]
- Cloning - Science Daily [Last Updated On: June 30th, 2016] [Originally Added On: June 30th, 2016]
- Cloning - Food and Drug Administration [Last Updated On: July 3rd, 2016] [Originally Added On: July 3rd, 2016]
- Human cloning - Wikipedia, the free encyclopedia [Last Updated On: July 8th, 2016] [Originally Added On: July 8th, 2016]
- Human Cloning: What is cloning? How to clone. Is cloning ... [Last Updated On: August 16th, 2016] [Originally Added On: August 16th, 2016]
- Human Cloning | The Center for Bioethics & Human Dignity [Last Updated On: August 19th, 2016] [Originally Added On: August 19th, 2016]
- News - Clonaid.com [Last Updated On: August 23rd, 2016] [Originally Added On: August 23rd, 2016]
- Cloning Fact Sheet [Last Updated On: September 11th, 2016] [Originally Added On: September 11th, 2016]
- Dolly (sheep) - Wikipedia, the free encyclopedia [Last Updated On: September 18th, 2016] [Originally Added On: September 18th, 2016]
- DNA Cloning with Plasmid Vectors - Molecular Cell Biology ... [Last Updated On: September 18th, 2016] [Originally Added On: September 18th, 2016]
- Cloning/Embryonic Stem Cells - National Human Genome Research ... [Last Updated On: October 4th, 2016] [Originally Added On: October 4th, 2016]
- Pros and Cons of Cloning - Buzzle [Last Updated On: October 4th, 2016] [Originally Added On: October 4th, 2016]
- Cloning - Wikipedia [Last Updated On: November 8th, 2016] [Originally Added On: November 8th, 2016]
- Mammoth - Wikipedia [Last Updated On: January 25th, 2017] [Originally Added On: January 25th, 2017]
- Molecular Cloning: Basics and Applications | Protocol [Last Updated On: January 26th, 2017] [Originally Added On: January 26th, 2017]
- Crustacean Cloning The Poetry of Science - ScienceBlog.com (blog) [Last Updated On: February 6th, 2017] [Originally Added On: February 6th, 2017]
- Don't fall for this 'Facebook Cloning' scam - NEWS10 ABC - NEWS10 ABC [Last Updated On: February 6th, 2017] [Originally Added On: February 6th, 2017]
- Beware Of 'Facebook Cloning' | 9news.com - 9NEWS.com [Last Updated On: February 6th, 2017] [Originally Added On: February 6th, 2017]
- Beware of 'Facebook Cloning' | KGW.com - kgw.com [Last Updated On: February 6th, 2017] [Originally Added On: February 6th, 2017]
- Don't fall for this 'Facebook cloning' scam | WJHL - WJHL.com - WJHL [Last Updated On: February 6th, 2017] [Originally Added On: February 6th, 2017]
- Don't fall for this Facebook cloning scam | WFLA.com - WFLA [Last Updated On: February 6th, 2017] [Originally Added On: February 6th, 2017]
- 20 years after Dolly the sheep, human cloning is no closer - Genetic Literacy Project [Last Updated On: February 6th, 2017] [Originally Added On: February 6th, 2017]
- Beware of Facebook 'cloning' scam - USA TODAY [Last Updated On: February 6th, 2017] [Originally Added On: February 6th, 2017]
- Cloning Vector and its Characteristics | Chemistry Learning [Last Updated On: February 6th, 2017] [Originally Added On: February 6th, 2017]
- Beware of 'Facebook Cloning' - KSDK.com [Last Updated On: February 7th, 2017] [Originally Added On: February 7th, 2017]
- Facebook cloning debunked - The i newspaper online iNews - iNews [Last Updated On: February 7th, 2017] [Originally Added On: February 7th, 2017]
- Don't fall for this Facebook cloning scam | WDTN - WDTN [Last Updated On: February 7th, 2017] [Originally Added On: February 7th, 2017]
- Hard Drive Cloning Software Why You Need It Acronis [Last Updated On: February 7th, 2017] [Originally Added On: February 7th, 2017]
- Cloning - The Hastings Center [Last Updated On: February 7th, 2017] [Originally Added On: February 7th, 2017]
- Hair Cloning & Multiplication | Bernstein Medical [Last Updated On: February 7th, 2017] [Originally Added On: February 7th, 2017]
- This Crab Clones Its Allies by Ripping Them in Half - The Atlantic [Last Updated On: February 7th, 2017] [Originally Added On: February 7th, 2017]
- Watch out for this crazy Facebook cloning scam! - Komando [Last Updated On: February 7th, 2017] [Originally Added On: February 7th, 2017]
- Boffins create quantum cloning machine to intercept 'secure ... - The INQUIRER [Last Updated On: February 7th, 2017] [Originally Added On: February 7th, 2017]
- Call Kurtis Investigates: Triple Tag Team Scam Started With Cloned Facebook Profile - CBS Local [Last Updated On: February 9th, 2017] [Originally Added On: February 9th, 2017]
- Quantum Cloning Machine Reveals Clues That Could Protect Against Hacking - Photonics.com [Last Updated On: February 10th, 2017] [Originally Added On: February 10th, 2017]
- Steve Bannon wanted to make a movie about cloning, abortion, and ... - A.V. Club (blog) [Last Updated On: February 10th, 2017] [Originally Added On: February 10th, 2017]
- Police investigating recent reports of credit card cloning in Aiken ... - Aiken Standard [Last Updated On: February 10th, 2017] [Originally Added On: February 10th, 2017]
- Steve Bannon's Unproduced Movie About Cloning, Nazis, and Walt ... - Gizmodo [Last Updated On: February 10th, 2017] [Originally Added On: February 10th, 2017]
- Gang arrested for cloning debit cards, stealing money - The Hindu [Last Updated On: February 11th, 2017] [Originally Added On: February 11th, 2017]
- Phone cloning - Wikipedia [Last Updated On: February 11th, 2017] [Originally Added On: February 11th, 2017]
- Drive cloning in Windows 10 with free tools - Computerworld [Last Updated On: February 12th, 2017] [Originally Added On: February 12th, 2017]
- Why Google's Spanner Database Won't Do As Well As Its Clone - The Next Platform [Last Updated On: February 15th, 2017] [Originally Added On: February 15th, 2017]
- Scientists Are Close to Cloning a Woolly Mammoth - Popular Mechanics [Last Updated On: February 17th, 2017] [Originally Added On: February 17th, 2017]
- 20 years after Dolly: Everything you always wanted to know about the cloned sheep and what came next - The Conversation US [Last Updated On: February 18th, 2017] [Originally Added On: February 18th, 2017]
- Scientists say we can clone a woolly mammoth. But should we? - Christian Science Monitor [Last Updated On: February 18th, 2017] [Originally Added On: February 18th, 2017]
- 15 Animals That Have Been Successfully Cloned by Scientists - Interesting Engineering [Last Updated On: February 20th, 2017] [Originally Added On: February 20th, 2017]
- Must reads: Populism, sexism, cloning, and rudeness - GlobalComment.com [Last Updated On: February 20th, 2017] [Originally Added On: February 20th, 2017]
- Facebook does it again. WhatsApp launches revamped Status, cloning Snapchat - Catch News [Last Updated On: February 22nd, 2017] [Originally Added On: February 22nd, 2017]
- It's Been 20 Years Since We Cloned A Sheep. Why Haven't We ... - GOOD Magazine [Last Updated On: February 22nd, 2017] [Originally Added On: February 22nd, 2017]
- Reviving woolly mammoths will take more than two years - BBC News [Last Updated On: February 23rd, 2017] [Originally Added On: February 23rd, 2017]
- How to clone your PC hard drive using Macrium Reflect - Windows Central [Last Updated On: February 23rd, 2017] [Originally Added On: February 23rd, 2017]
- Pabrai And The Shameless Cloning Portfolio - Seeking Alpha [Last Updated On: February 23rd, 2017] [Originally Added On: February 23rd, 2017]
- 20 Years After Dolly, Where Are We With Cloning? - Inverse [Last Updated On: February 23rd, 2017] [Originally Added On: February 23rd, 2017]
- 20 years after Dolly the sheep's debut, Americans remain skeptical ... - Pew Research Center [Last Updated On: February 23rd, 2017] [Originally Added On: February 23rd, 2017]
- 20 years after Dolly: Everything you always wanted to know about ... - Bizcommunity.com [Last Updated On: February 24th, 2017] [Originally Added On: February 24th, 2017]
- Another cloning success shows technology being used by everyday graziers - ABC Online [Last Updated On: February 24th, 2017] [Originally Added On: February 24th, 2017]
- 20 years after Dolly the sheep, potential of cloning remains unclear - CNN [Last Updated On: February 25th, 2017] [Originally Added On: February 25th, 2017]
- More lessons from Dolly the sheep: Is a clone really born at age zero ... - Salon [Last Updated On: February 26th, 2017] [Originally Added On: February 26th, 2017]
- 20th Anniversary of Dolly the Cloned Sheep | Men's Health - Men's Health [Last Updated On: February 28th, 2017] [Originally Added On: February 28th, 2017]
- The Angels had two No. 97s on the basepaths, may be cloning their players - MLB.com [Last Updated On: March 1st, 2017] [Originally Added On: March 1st, 2017]