Overview This document describes how to use Yocto Project to quickly build board-level images for the RockChip platform. Mainly describe the basic construction method of meta-rochip layer and Yocto Project. The Yocto Project is an open source collaborative project focused on embedded Linux® operating system development that provides a flexible toolset and development environment that allows embedded device developers worldwide to share technologies, software stacks, configurations and tools for creating these customizations Best Practices for Linux Imaging Collaboration. For more information about the Yocto Project, please refer to the official Yocto Project website: www.yoctoproject.org/ . The Yocto Project home page has the Yocto Project Reference Manual and the Yocto Project Overview and other related documents describe in detail how to build the system. The Yocer Project support provided by firefly is as follows: Manifests repository: https://gitlab.com/firefly- linux/manifests/-/tree/master/yocto Introduction to Yocto Project Release layer Get SDK repo init --no-clone-bundle --repo-url https://gitlab.com/firefly-linux/git-repo.git -u https://gitlab.com/firefly-linux/manifests.git -b master -m yocto_release.xml .repo/repo/repo sync -c compile Select core-image-minimal image The Yocto project provides some images that can be used without layers. The following table lists currently supported build images and associated recipes. Build image Select board configuration file There are many board-level configuration files under /build/conf , select the corresponding configuration file by generating local.conf soft link. Take the firefly-rk3399 board as an example: # Go to yocto SDK cd build/conf # Select the configuration file and find the configuration file corresponding to the firefly-rk3399 board firefly-rk3399.conf进行软连接 ln -fs rk3399/firefly-rk3399.conf local.conf Note : Different boards have different configuration files, the above is just for reference The process of building with the bitbake command needs to ensure that the network connection is normal. If it is a customer in inland China, you need to ensure that it can ping the external network Enter the directory and execute the following commands in sequence # Install the required environment packages # sudo apt install zstd source oe-init-build-env bitbake core-image- minimal The above command is to compile the complete core-image-minimal recipes. If you want to compile some recipes separately, you can refer to the following: # kernel bitbake linux-rockchip # u-boot bitbake u-boot # rkmpp bitbake rockchip-mpp # rockchip-librga bitbake rockchip-librga # 参看更多编译对象 bitbake -s More bitbake options Fundamentally, BitBake is a generic task execution engine that allows shell and Python tasks to be run efficiently and in parallel while working within complex inter-task dependency constraints. One of BitBake’s main users, OpenEmbedded, takes this core and builds embedded Linux software stacks using a task-oriented approach.For more detailed usage, please check 《bitbake-user-manual》 。 bitbake # e.g bitbake u-boot -c clean bitbake u-boot Flash image The compiled firmware is located in the directory "/build/tmp/deploy//", the files to be downloaded are .wic and update.img, and after entering the loader mode, execute the following commands : $ sudo upgrade_tool wl 0 .wic $ sudo upgrade_tool uf update.img # The default core-image-minimal login account password is: root If customers develop on Windows PC, they can also use RKdevtool to directly burn update.img