meta-rte
is custom layer, which provide system support we need for
3mdeb's RTE.
The structure of the meta-rte layer looks like below:
meta-rte
├── CHANGELOG.md
├── conf
│ ├── distro
│ └── layer.conf
├── COPYING.MIT
├── generate-changelog.sh
├── kas.yml
├── README.md
├── recipes-bsp
│ └── u-boot
├── recipes-connectivity
│ └── ser2net
├── recipes-core
│ ├── base-files
│ ├── images
│ ├── init-ifupdown
│ ├── systemd
│ └── udev-rules-rte
├── recipes-coreboot
│ └── coreboot-utils
├── recipes-devtools
│ ├── android-tools
│ ├── imx-usb-loader
│ └── stlink
├── recipes-extended
│ ├── images
│ ├── packagegroups
│ └── socketcan
├── recipes-go
│ ├── 3mdeb-rtectrl
│ └── github.com-gorilla-mux
├── recipes-kernel
│ └── linux
├── recipes-support
│ └── swupdate
├── scripts
│ └── release.sh
└── wic
└── sunxi-mmc-spl.wks
Most of the files in this layer are append files which provide some custom configuration to the upstream recipes. There is no point in describing them in this documentation. Please refer to those files directly to find out what is being done there. Only the crucial parts of the system are going to be introduced there.
A conf directory
contains distro configuration file rte.conf
and layer configuration file
layer.conf
.
U-Boot bbappend file is used to apply custom patches and two important files:
- fw_env.config,
which contains the environment location on the
MMC
block device
- boot.cmd - U-Boot boot script to load the Linux kernel and device tree from proper partition and pass the bootargs to the Linux kernel.
Recipe installing custom configuration file with specific uart devices and service for ser2net daemon.
System hostname and /etc/fstab
file are configured there - partition for /boot/bootpart
and /storage
are
mounted here.
Place for images bblayers. There is only bbappend for core-image-minimal
image.
Some important system settings include:
- watchdog timer configuration,
- basic network configuration,
- setting the
en_US.UTF-8
as default value of localeLANG
variable
Refer to the systemd append file for details.
Place for definition of udev rules. For now debug_uart_converter
,
rs_485_converter
, can_converter
are defined.
coreboot utils installation: cbfstool
, ifdtool
- android-tools
- imx-usb-loader
- stlink
Recipes for the SWU
images, which allow to upgrade the system using the
SWUpdate utility.
The difference between the SWU
images and the images from recipes-core
is
that the second contain full disk image, while the SWU
images contain only
the image of the rootfs
partition.
Generally, each active image from the recipes-core
should have a
corresponding SWU
image recipe which allows for system upgrade on the device.
Each SWU
image recipe has a directory corresponding to it with
sw-description
file.
This directory contain the
sw-description file.
The MACHINE
setting will decide on which sw-description
file will be
included in the built image.
There is only core-image-minimal-swu
for now.
Collect packages in packagegroups.
Recipes for utils developed in Go
language.
Recipes for RTE REST API
server
Recipes for gorilla-mux
- powerful URL router and dispatcher for golang.
Provides the recipe for the linux-yocto-mainline, patches and custom defconfig.
We use SWUpdate as the utility to upgrade our system. The directory contains build configuration and some patches:
swupdate
├── files
│ ├── defconfig
│ └── orange-pi-zero
│ ├── confirm-upgrade.service
│ ├── rte-upgrade
│ └── sw-description
├── swu-confirm.bb
└── swupdate_%.bbappend
- release.sh
This directory contains wic WKS files which are used to create our custom image layout.
- sunxi-mmc-spl.wks