Подготовка программной части

Сборка Linux при помощи Buildroot и Docker

Для выполнение следующей инструкции, на компьютере должно быть установлено Docker окружение Также необходимо скачать следующие файлы:

Набор скриптов и образ контейнера

u-boot patch

kernel patch

rootfs

И распаковать их, выполним команды:

tar -xf u-boot_mir.tar
tar -xf kernel_mir.tar
tar -xf rootfs.tar.gz
tar -xf utils.tar.gz

Для подготовки обрза контейнера, необходимо перейти в папку utils и выполнить команду сборки образа

cd utils
sudo docker build -t am335x .

После этого в docker появится образ am335x

Подготовка к сборке

Скопируйте два скрипта из каталога utils в верхнюю директорию

cp kernel.sh ../
cp u-boot.sh ../

И вернитесь в основную папку

cd ..

Скачайте с сайта ti.com во вкладке «AM335x Linux SDK Individual Components» Standalone ARM Toolchain, нажав на «Download ARM Toolchain», и AM335x Linux SDK BSP Source Code «am335x-evm-linux-sdk-src-06.03.00.106.tar.xz»

Распакуйте архивы

tar -xf am335x-evm-linux-sdk-src-06.03.00.106.tar.xz
tar -xf gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf.tar.xz

Сборка spl/MLO/u-boot

Выполните команду

sudo docker run -e USER=$USER -e USERID=$UID -v $(pwd):/BR -t am335x bash u-boot.sh

Сборка linux

Выполните команду

sudo docker run -e USER=$USER -e USERID=$UID -v $(pwd):/BR -t am335x bash kernel.sh

Сборка может занять длительное время, в зависимости от конфигурации компьютера.

После сборки, появится файл board-support/linux-4.19.94+gitAUTOINC+be5389fd85-gbe5389fd85/arch/arm/boot/zImage arch/arm/boot/dts/am335x-mir_mb.dtb

Сборка rootfs

Выполните команду

sudo docker run -e USER=$USER -e USERID=$UID -v $(pwd):/BR -t am335x make -C rootfs

Сборка может занять длительное время, в зависимости от конфигурации компьютера.

После сборки, появится файл rootfs/buildroot-2018.05.1/output/images/rootfs.cpio.uboot