10.14489/vkit.2023.03.pp.040-049 |
DOI: 10.14489/vkit.2023.03.pp.040-049 Сидякин И. М. Аннотация. Рассматривается методика автоматической компиляции бинарного образа операционной системы Linux для встраиваемых устройств в вычислительном кластере на основе технологии непрерывной интеграции и непрерывного развертывания, позволяющая существенно сократить время проектирования программного обеспечения, высвободить вычислительные ресурсы на локальных рабочих местах и организовать совместную работу над проектом команды разработчиков. Приведен практический пример настройки программных инструментов, необходимых для компиляции загрузчика, ядра и корневой файловой системы встраиваемой операционной системы Linux для миникомпьютера BeagleBone Black c процессором ARM семейства Cortex A8. Сформулированы требования к рабочему месту разработчика. Материалы статьи могут быть использованы для эффективной организации процесса проектирования системного программного обеспечения устройств Интернета вещей, а также в учебных целях. Ключевые слова: ARM; Embedded Linux; Yocto; Docker; CI/CD; GitLab; Git; встраиваемые операционные системы; системное программирование; загрузчик; ядро; корневая файловая система.
Sidyakin I. M. Abstract. A method for automating the build process of the embedded Linux operating system binary images in a high-performance computing cluster based on continuous integration and continuous deployment technology is discussed. The method proposed can significantly reduce software design time, free up computing resources at local workstations and organize joint work on a team project. A practical example of setting up the software tools necessary to compile the boot-loader, embedded Linux kernel and root file system for BeagleBone Black device with an ARM Cortex A8 processor is provided. Basic requirements for the server and workstation software are formulated. The materials of the article can be used to organize system software design for Internet of Things devices effectively, as well as for educational purposes. Tools used to develop embedded operating systems based on Linux Yocto as well as GitLab source code management system and configuring of CI/CD feature are described. The build system environment proposed includes GitLab service installed on a high-performance virtual machine in a computing cluster and set of workstations connected to the local network. The project repository is physically located on the server and managed by GitLab service. Docker virtualization is used to isolate build process from the server operating system. Building of operating system image is started automatically using CI/CD runner script, every time changes to the source code of the project are made. Git protocol is used to modify project repository remotely. Intermediate compilation data is stored outside of the Docker sandbox to prevent data integrity between compilation events. This data includes a significant amount of third-party library source code downloaded from external Linux repositories on the Internet. Thus, rebuilding the project after making changes does not require a complete rebuild and reloading of library sources, and takes much less time. Requirements for the workplace of a development engineer are minimized because the main computing load is transferred to a remote server. The proposed method of building an image of the Linux Yocto operating system allows manage team to work on a project and significantly increases the speed of the project rebuild procedure, therefore, reduces the time spent on designing and debugging system software for embedded systems. The effectiveness of the proposed method was confirmed practically with sample project Linux Yocto for the BeagleBone Black minicomputer based on the ARM Cortex A8 processor. The article contains examples of settings taken from this project. The proposed method can be used to study design of system software for embedded systems. Handson training sessions are a good example of team-based software development in a time-constrained environment. Keywords: ARM; Embedded Linux; Yocto; Docker; CI/CD; GitLab; Git; Bootloader; Kernel; Root File System.
РусИ. М. Сидякин (Московский государственный технический университет имени Н. Э. Баумана (национальный исследовательский университет), Москва, Россия) E-mail: Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript EngI. M. Sidyakin (Bauman Moscow State Technical University (National Research University), Moscow, Russia) E-mail: Этот e-mail адрес защищен от спам-ботов, для его просмотра у Вас должен быть включен Javascript
Рус1. Yocto Project. Сайт. URL: https://www. yoctoproject.org/ (дата обращения: 26.09.2022). Eng1. Yocto Project. Available at: https://www.yocto-project.org/ (Accessed: 26.09.2022).
РусСтатью можно приобрести в электронном виде (PDF формат). Стоимость статьи 500 руб. (в том числе НДС 20%). После оформления заказа, в течение нескольких дней, на указанный вами e-mail придут счет и квитанция для оплаты в банке. После поступления денег на счет издательства, вам будет выслан электронный вариант статьи. Для заказа скопируйте doi статьи: 10.14489/vkit.2023.03.pp.040-049 Отправляя форму вы даете согласие на обработку персональных данных. .
EngThis article is available in electronic format (PDF). The cost of a single article is 500 rubles. (including VAT 20%). After you place an order within a few days, you will receive following documents to your specified e-mail: account on payment and receipt to pay in the bank. After depositing your payment on our bank account we send you file of the article by e-mail. To order articles please copy the article doi: 10.14489/vkit.2023.03.pp.040-049 and fill out the
.
|