yocto версии:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 |
Ссылка: 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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Ссылка: 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 + настройка ядра:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Выполните команду: 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 |