Рубрики
dev

yocto каша

yocto версии:

https://wiki.yoctoproject.org/wiki/Releases

Scarthgap           5.0	 April 2024
Nanbield            4.3	October 2023
Mickledore          4.2	May 2023
Langdale            4.1	October 2022
Kirkstone           4.0	May 2022
Honister            3.4	October 2021
Hardknott           3.3	April 2021
Gatesgarth          3.2	Oct 2020
Dunfell             3.1	April 2020
Zeus                3.0	October 2019
Warrior             2.7	April 2019
Thud                2.6	Nov 2018
Sumo                2.5	April 2018
Rocko               2.4	Oct 2017
Pyro                2.3	May 2017
Morty               2.2	Nov 2016
Krogoth             2.1	Apr 2016
Jethro              2.0	Nov 2015
Fido                1.8	Apr 2015

qemu+yocto+tun-tap

Ссылка:
https://habr.com/ru/articles/335038/

0. Pre for debian/ubuntu:
apt-get install chrpath gawk texinfo python
adduser yoctob0
su - yoctob0

1. install yocto pyro
mkdir yocto
cd yocto
git clone -b kirkstone git://git.yoctoproject.org/poky.git
git clone -b kirkstone git://git.openembedded.org/meta-openembedded
source ./poky/oe-init-build-env (Рабочий каталог будет "yocto/ build")

2.  Правка конфигурационных файлов
Рабочий каталог будет "yocto/ build"
В файле conf/bblayers.conf поправляем:
у меня пользователь yocto-habr1, его нужно поменять на своего
vim ~/yocto/build/conf/bblayers.conf
----------------------
# POKY_BBLAYERS_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
POKY_BBLAYERS_CONF_VERSION = "2"

BBPATH = "${TOPDIR}"
BBFILES ?= ""

BBLAYERS ?= " 
  /home/yocto-habr1/yocto/poky/meta 
  /home/yocto-habr1/yocto/poky/meta-poky 
  /home/yocto-habr1/yocto/poky/meta-yocto-bsp 
  /home/yocto-habr1/yocto/meta-openembedded/meta-oe 
  /home/yocto-habr1/yocto/meta-openembedded/meta-networking 
  /home/yocto-habr1/yocto/meta-openembedded/meta-webserver 
  /home/yocto-habr1/yocto/meta-openembedded/meta-python 
  /home/yocto-habr1/yocto/meta-openembedded/meta-multimedia 
  "
----------------------

3. Устанавливаем некоторые полезные пакеты. В файле conf/local.conf
vim ~/yocto/build/conf/local.conf
-------------------
... что то выше
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"

CORE_IMAGE_EXTRA_INSTALL = " 
kernel-modules 
lrzsz 
setserial 
strongswan 
opkg 
nbench-byte 
lmbench 
alsa-utils 
i2c-tools 
devmem2 
dosfstools 
libdrm-tests 
netkit-ftp 
iproute2 
iptables 
bridge-utils 
socat 
wget 
curl 
vlan 
#dhcp-server 
dnsmasq 
dhcp-client 
ntp 
libstdc++ 
nginx 
ppp 
proftpd 
boost 
openssl 
openssh 
fcgi 
mc 
ethtool 
minicom 
procps 
tcpdump 
file 
vim 
iperf3"
... что то ниже
-------------------


4. Дополнительно надо поправить файл конфигурации sshd «yocto/poky/meta/recipes-connectivity/openssh/openssh/sshd_config».
vim ~/yocto/poky/meta/recipes-connectivity/openssh/openssh/sshd_config
--------------------------------
... что то вверху
# override default of no subsystems
#Subsystem      sftp    /usr/libexec/sftp-server - это комментируем #
Subsystem sftp internal-sftp - эту строку пишем
... что то внизу
--------------------------------

Эта поправка необходима для того, чтобы не устанавливать дополнительный сервер sftp. 
Используется он при монтировании файл-системы через ssh.

5. Собираем:
bitbake core-image-minimal

Если сборка закончилась успехом, то на выходе получаем:
rootfs - ~/yocto/build/tmp/deploy/images/qemux86/core-image-minimal-qemux86-ДАТА_И_ВРЕМЯ.rootfs.ext4
kernel - ~/yocto/build/tmp/deploy/images/qemux86/bzImage—4.10.17+git0+e92bd55409_6648a34e00-r0-qemux86-ДАТА_И_ВРЕМЯ.bin
bzImage
core-image-minimal-qemux86.ext4

Системы сборки определяет, что изменялось и дописывает файлы с отпечатком времени в названии файла. 
На самые последние версии указывают линки.

Очистка проeкта / Full clean build in Yocto Project

Ссылка:
https://tutorialadda.com/yocto/how-to-do-clean-build-in-yocto-project

0. # Delete sstate cache direcotry
rm -rf sstate-cache/

1. Delete tmp directory
rm -rf tmp/

2. # Run bitbake
bitbake core-image-minimal


P.S. Пробовал пользоваться но как то не помогало
Команды очистки Bitbake
#для полной очистки рецепта  Команда Cleanall удаляет выходные файлы рецептов, sstate-cache и файлы загрузки. 
bitbake -fc cleanall <имя_рецепта>
# очищаем вывод рецепта  Команда Clean удалила выходные файлы из каталога tmp.
$ bitbake -c clean <имя_рецепта>

Еще пример сборки yocto + настройка ядра:

Выполните команду:
bitbake -c menuconfig virtual/kernel 
Она откроет новое окно, в котором будет запущено средство конфигурирование ядра.

например Настройте B.A.T.M.A.N. 
Для этого, в сессии menuconfig, установите параметры B.A.T.M.A.N., 
которые вы хотели бы видеть в категории 
Networking Support > Networking Options > BATMAN.

Далее нужно скопировать ядро
cp build/tmp/work/ВАШ_poky_linux/linux-yocto/ВАШЕ_Т_ЯДРО/linux-edison-standard-build/.config device-software/meta-ВАША/recipes-kernel/linux/files/defconfig

bitbake -c compile_kernel modules virtual/kernel

Если вам нужны полные модули tarball выполните: 
bitbake -c deploy virtual/kernel

Тарболы ищем тут:
build/tmp/deploy/images/ВАШ_yocto