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
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