Boot Loader for Repka Pi 4
Данный репозиторий состоит из 3 git-подмодулей:
1. ARM Trusted Firmware (ATF)
2. Гипервизор, необходимый для работы с PCIe (aw-el2-barebone)
3. Сам загрузчик U-Boot версии 2020-04-rc3
Версии необходимых утилит для сборки:
Утилита | Версия |
---|---|
git | 2.43.0 |
Docker Engine | 28.0.1 |
GNU Make | 4.3 |
Примечание: Сборка осуществлялась на ОС Linux Ubuntu 24.04 с архитектурой x86_64.
Сборка
Для сборки прошивки необходимо выполнить следующие команды:
Скачать все подмодули с помощью команды:
git submodule update --init --recursive
Запустить сборку с помощью команды:
make build-loader
После успешной сборки появиться директория src в корне репозитория:
src ├── overlays (директория с оверлеями для Repka Pi 4) │ ├── i2c1.dtbo │ ├── i2c2.dtbo │ ├── i2c3.dtbo │ ├── i2s.dtbo │ ├── i2s_pcm5102.dtbo │ ├── i2s_pcm5122.dtbo │ ├── spi0.dtbo │ ├── s_uart.dtbo │ ├── uart3.dtbo │ └── w1_gpio.dtbo ├── repka-pi.dtb (основное дерево устройств для Repka Pi 4) └── spl ├── u-boot-sunxi-with-spl.bin (загрузчик с включенным логированием в UART0) └── u-boot-sunxi-with-spl-silent.bin (загрузчик с тихим режимом)
Краткий алгоритм сборки загрузчика в контейнере
Более подробно алгоритм сборки можно изучить в скрипте, который находится по пути:
docker/build.sh
- Сборка arm-trusted-firmware с включенным режимом логирования.
- Сборка гипервизора aw-el2-barebone с включенным режимом логирования.
- Сборка U-Boot (внутри которого собирается дерево устройств и необходимые оверлеи) с включенным режимом логирования.
- Сборка arm-trusted-firmware с тихим режимом.
- Сборка гипервизора aw-el2-barebone с тихим режимом.
- Сборка U-Boot с тихим режимом.
- Помещение всех собранных файлов в директорию src (которая связана с хостовой машиной).