1. 程式人生 > >am335x system upgrade rootfs using yocto make rootfs(十二)

am335x system upgrade rootfs using yocto make rootfs(十二)

1      Scope of Document

This document describes how to make am335x arago rootfs using ycoto project

2      Requiremen

2.1     Function Requirement

Make am335x arago rootfs

2.2     Performance Requirement

NA

3      Functional Description                    

3.1     Ycoto

3.1.1 Overview

If we look back at the last 15 years of the feld of embedded systems, we will see that
everything has changed radically. Embedded systems have become more and more powerful
and have gained new functionalities. Today, you can fnd "embedded" quad-core systems
with 1 GB of RAM and several GBs of storage, comparable to a few-years-old desktop
computer. Nowadays, it is not unusual that the requirements of an embedded system are low
consumption, graphic acceleration, multimedia capabilities, suffcient storage, and so on.
     On the software side, if we look back again at those 15 years, we will notice that most of the
Linux-running embedded systems at that time were in-house developments built from the
ground up. Their main functionality was to boot the device and run the specifc application
(usually not graphical) the device was designed for. A typical system from those days
contained a minimal Linux kernel, a small C library (uclibc), BusyBox as the base user space,
and then the specifc application or set of applications.
      As the hardware became more powerful and gained more functionalities, the requirements
of the software also increased. With embedded systems becoming powerful enough to
run distributions that were considered mostly for desktops (such as Debian or Ubuntu), it's
no longer as easy as building a minimal set of software packages (uclibc, BusyBox, and a
command-line application) anymore. You now have to choose between different windowing
systems (X11, Wayland, and so on) and different graphic libraries (Qt, GTK, and so on). Maybe
your hardware has dedicated units for video processing (VPU) or graphics processing (GPU)
and is running its own frmware, and so on.
     All of this extra diffculty is what makes an embedded software engineer look for new tools
that ease their work and speed up the development. This is the context where different Linux
build systems began to appear.

The Yocto Project (YP) is a popular open-source collaboration project focused on embedded Linux developers. In early versions of YP it could be problematic to get it running on Arch Linux. 

4      Procedure

4.1     Download cross compiler and Unpack

wget https://releases.linaro.org/components/toolchain/binaries/7.2-2017.11/arm-linux-gnueabihf/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf.tar.xz

tar –Jvxf gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf.tar.xz

4.2     Install relate tools

sudo apt-get -f install git build-essential diffstat texinfo gawk chrpath

sudo apt-get install libstdc++6:i386 libncurses5:i386 libz1:i386 libc6:i386 libc6-dev-i386 g++-multilib

4.3     Fetch am335x yocto project

git clone git://arago-project.org/git/projects/oe-layersetup.git tisdk

4.4     Configure

cd tisdk

./oe-layertool-setup.sh -f configs/processor-sdk/processor-sdk-05.00.00.15-config.txt

4.5     Compiler

cd build

. config/setenv

$ TOOLCHAIN_PATH=/home/anosi/work/arago/tisdk/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf MACHINE=am335x-evm bitbake core-image-minimal

5      Follow-up

$ TOOLCHAIN_PATH=/home/anosi/work/arago/tisdk/gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf MACHINE=am335x-evm bitbake core-image-minimal

Loading cache: 100% |#########################################################################################################################################################################################################| Time: 0:00:01

Loaded 4043 entries from dependency cache.

Parsing recipes: 100% |#######################################################################################################################################################################################################| Time: 0:00:15

Parsing of 3137 .bb files complete (3134 cached, 3 parsed). 4046 targets, 484 skipped, 0 masked, 0 errors.

WARNING: No recipes available for:

  /home/anosi/work/arago/tisdk/tisdk/sources/meta-arago/meta-arago-distro/recipes-multimedia/gstreamer/gstreamer1.0-plugins-base_1.8.3.bbappend

  /home/anosi/work/arago/tisdk/tisdk/sources/meta-processor-sdk/recipes-devtools/python/python3-native_3.5.2.bbappend

  /home/anosi/work/arago/tisdk/tisdk/sources/meta-processor-sdk/recipes-graphics/wayland/weston_1.11.0.bbappend

NOTE: Resolving any missing task queue dependencies

 

Build Configuration:

BB_VERSION           = "1.36.0"

BUILD_SYS            = "x86_64-linux"

NATIVELSBSTRING      = "ubuntu-18.04"

TARGET_SYS           = "arm-linux-gnueabi"

MACHINE              = "am335x-evm"

DISTRO               = "arago"

DISTRO_VERSION       = "2018.04"

TUNE_FEATURES        = "arm armv7a vfp thumb neon callconvention-hard"

TARGET_FPU           = "hard"

meta-processor-sdk   = "HEAD:264dc66c689e0e4212c43358382986ee470619d4"

meta-ros             = "HEAD:e2566402ab108a19634354a934788109422cf409"

meta-arago-distro   

meta-arago-extras    = "HEAD:d54e9d6c1d461dbf3189e691088d328bf4c4fb19"

meta-browser         = "HEAD:26d50665e2f7223c5f4ad7481a8d2431e7cb55fb"

meta-qt5             = "HEAD:682ad61c071a9710e9f9d8a32ab1b5f3c14953d1"

meta-networking     

meta-python          

meta-oe             

meta-gnome          

meta-multimedia      = "HEAD:352531015014d1957d6444d114f4451e241c4d23"

meta-ti              = "HEAD:8555084679dc5c668e5fb60a16425ca32b10ff21"

meta-linaro-toolchain

meta-optee           = "HEAD:75dfb67bbb14a70cd47afda9726e2e1c76731885"

meta                 = "HEAD:931a52e8698f684ccbb26ddec18764ad9d9a3e8f"

Initialising tasks: 100% |####################################################################################################################################################################################################| Time: 0:00:06

NOTE: Executing SetScene Tasks

NOTE: Executing RunQueue Tasks

$<50>Currently  1 running tasks (513 of 1778)  28% |######################################################                                                                                                                                   $<50>No currently running tasks (1777 of 1778)  99% |########################################################################################################################################################################################$<50>NOTE: Tasks Summary: Attempted 1778 tasks of which 1683 didn't need to be rerun and all succeeded.

Summary: There was 1 WARNING message shown.

Rootfs path:

build/arago-tmp-external-linaro-toolchain/work/am335x_evm-linux-gnueabi/core-image-minimal