Это старая версия документа!
Для выполнение следующей инструкции, на компьютере должно быть установлено Docker окружение Также необходимо скачать следующие файлы:
И распаковать их, выполним команды:
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
Выполните команду
sudo docker run -e USER=$USER -e USERID=$UID -v $(pwd):/BR -t am335x bash u-boot.sh
Выполните команду
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
Выполните команду
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
собранные файлы bins
cd board-support/u-boot-2019.01+gitAUTOINC+333c3e72d3-g333c3e72d3 picocom -b 115200 --send-cmd "sx -vv " /dev/ttyUSB1 #ctrl a+s -> send by Xmodem spl/u-boot-spl.bin spl/u-boot-spl.bin #ctrl a+s -> send by Xmodem spl/u-boot.bin u-boot.bin setenv ipaddr 192.168.1.198 setenv serverip 192.168.1.125 tftp ${rdaddr} mir_am33/rootfs.cpio.uboot tftp ${loadaddr} mir_am33/zImage tftp ${fdtaddr} mir_am33/am335x-mir_mb.dtb setenv bootargs "console=ttyS0,115200n8 earlyprintk debug" bootz ${loadaddr} ${rdaddr} ${fdtaddr} #login with root/root fdisk /dev/mmcblk0 n p 1 +1G a 1 t c n p 2 w #### mkfs.vfat /dev/mmcblk0p1 mkfs.vfat -n STORE /dev/mmcblk0p2 mount /dev/mmcblk0p1 /opt/ copy from build machine to /opt on som: am335x-mir_mb.dtb MLO rootfs.cpio.uboot u-boot.img zImage #scp <...>/bin/results/ root@192.168.1.198:/opt/umount /opt sync
Изменение ip адресов
savevar.sh kernel NETWORK_IP 192.168.1.198 # ip on eth0 savevar.sh kernel NETWORK_IP_1 192.168.2.198 # ip on eth1 savevar.sh kernel NETWORK_IP_2 192.168.3.198 # ip on eth2
Для добавление автозапуска скриптов, их нужно записать в файл /mnt/store/postup.sh Замечание: после перезагрузки, данные в /mnt/store сохранятся, но всё остальное будет очищено. Соответственно пользовательские файлы должны хранится в /mnt/store. Для автозапуска