INMYS WIKI

Инженерами для инженеров

Инструменты пользователя

Инструменты сайта


boards:nms-uq7-imx8mini:buildsw

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
boards:nms-uq7-imx8mini:buildsw [2022/07/18 14:19] Владимир Андреевboards:nms-uq7-imx8mini:buildsw [2022/09/08 10:03] (текущий) Komlik Ivan
Строка 1: Строка 1:
-===== Сборка программной части для IMX8M_MN ===== +===== Сборка программной части для IMX8M_MN/MM ===== 
-Для сборка загрузчика, ядра и файловой системы, нужно скачать три файла с диска: SDK, firmware, dl, файл образа контейнера и в терминале перейти в каталог с файлами:+Для сборки загрузчика, ядра и файловой системы, нужно скачать три файла с {{https://disk.yandex.ru/d/yM9h7JoW7H-CYw|диска}}: SDK, firmware, dl.tar.gz, файл образа контейнера и в терминале перейти в каталог с файлами:
   * Распаковать sdk <code>tar -xvf sdk_2021.04.24.tar.gz</code>   * Распаковать sdk <code>tar -xvf sdk_2021.04.24.tar.gz</code>
-  * Cкопировать firmware-imx-8.10.bin в папку sdk_2021.04.24/bootloader <code>cp firmware-imx-8.10.bin dk_2021.04.24/bootloader</code>+  * Разрешить запуск firmware-imx-8.10.bin <code>chmod +x firmware-imx-8.10.bin</code> 
 +  * Cкопировать firmware-imx-8.10.bin в папку sdk_2021.04.24/bootloader <code>cp firmware-imx-8.10.bin sdk_2021.04.24/bootloader</code>
   * Собрать образ контейнера <code>sudo docker build -t px30_generic . </code>   * Собрать образ контейнера <code>sudo docker build -t px30_generic . </code>
  
  
 +==== kernel ====
 +Для сборки kernel,dtb, нужно перейти в каталог sdk_2021.04.24 и выполнить команду:
 +<code>
 +sudo docker run -v $(pwd):/BR -t px30_generic make -C /BR/kernel
 +</code>
 +Результат:
 +  * //kernel/linux-imx/arch/arm64/boot/Image//
 +  * //kernel/linux-imx/arch/arm64/boot/dts/freescale/imx8mm-inmys-uq7-evk-lvds.dtb//
 +
 +
 +==== bootloader ====
 + Для сборки bootloader для загрузки с QSPI, нужно перейти в каталог sdk_2021.04.24 и выполнить команду:
 +<code>
 +sudo docker run -v $(pwd):/BR -t px30_generic make -C /BR/bootloader
 +</code>
 +
 +Результат: 
 +  * //bootloader/uboot-imx/flash.bin.fspi//
 + 
 +Для сборки bootloader для загрузки с sd card, нужно перейти в каталог sdk_2021.04.24 и выполнить команду:
 +<code>
 +sudo docker run -v $(pwd):/BR -t px30_generic make -C /BR/bootloader flash.bin.sdcard
 +</code>
 +
 +Результат: 
 +  * //bootloader/uboot-imx/flash.bin.sdcard//
 +
 +Сделать SDcard загрузочной (установка bootloader на SDcard)
 +<code>
 +dd if=bootloader/uboot-imx/flash.bin.sdcard of=/dev/sdX bs=1024 seek=33
 +</code>
  
 ==== rootfs ==== ==== rootfs ====
 Для сборки rootfs, нужно перейти в каталог sdk_2021.04.24 и выполнить команду: Для сборки rootfs, нужно перейти в каталог sdk_2021.04.24 и выполнить команду:
 <code> <code>
-sudo docker run -v $(pwd):/BR -t px30_generic make -Cmake -C /BR/rootfs+sudo docker run -v $(pwd):/BR -t px30_generic make -C /BR/rootfs
 </code> </code>
 Начнёт скачиваться buildroot. На некотором моменте загрузка завершится с ошибкой, нужно будет распаковать архив dl: Начнёт скачиваться buildroot. На некотором моменте загрузка завершится с ошибкой, нужно будет распаковать архив dl:
 <code> <code>
-tar -xvf dl.tar.gz -<ПУТЬ_ДО_ПАПКИ_SDK>/rootfs/buildroot/+sudo tar -xvf ../dl.tar.gz -C rootfs/buildroot-2020.11 
 +</code> 
 +Выполнить очистку проекта 
 +<code> 
 +cd rootfs/buildroot-2020.11/ 
 +sudo make clean 
 +cd ../../
 </code> </code>
 Запустить сборку второй раз: Запустить сборку второй раз:
 <code> <code>
-sudo docker run -v $(pwd):/BR -t px30_generic make -Cmake -C /BR/rootfs+sudo docker run -v $(pwd):/BR -t px30_generic make -C /BR/rootfs
 </code> </code>
-Результат: //rootfs/buildroot-2020.11/output/images/rootfs.ext2.gz// +Результат: //rootfs/buildroot-2020.11/output/images/rootfs.ext2// 
-==== kernel ==== + 
-Для сборки rootfs, нужно перейти в каталог sdk_2021.04.24 и выполнить команду:+==== создание загрузочной sd карты ==== 
 +понадобятся bootloader/uboot-imx/flash.bin.sdcard rootfs/buildroot-2020.11/output/images/rootfs.ext2 (собранные есть на яндекс дискеhttps://disk.yandex.ru/d/yM9h7JoW7H-CYw) 
 <code> <code>
-sudo docker run -$(pwd):/BR -t px30_generic make -Cmake -C /BR/kernel+sudo su 
 +cd <...>/sdk_2021.04.24 
 +dev=/dev/sdX 
 +umount ${dev}* 
 +echo 'o n p 1 16384 +2G n p 2 4210688 +1G w'| tr ' ' '\n' | fdisk ${dev} 
 +dd if=rootfs/buildroot-2020.11/output/images/rootfs.ext2 of=${dev}1 bs=1M 
 +dd if=bootloader/uboot-imx/flash.bin.sdcard of=${dev} bs=1024 seek=33 
 +sync 
 +</code> 
 +Вставить sd карту в отладочную плату, установить jumper "bios_dis" (загружаться с sdcard а не с qspi) 
 +подать питание, в u-boot, после "Hit any key to stop autoboot:" 
 +ввести 
 +<code> 
 +setenv mmcdev 1 
 +saveenv 
 +boot
 </code> </code>
-Результат: 
-  * //kernel/linux-imx/arch/arm64/boot/Image// 
-  * //kernel/linux-imx/arch/arm64/boot/dts/freescale/imx8mm-inmys-uq7-evk-lvds.dtb// 
  
-==== bootloader ==== +==== Советы howto ==== 
-Для сборки rootfs, нужно перейти в каталог sdk_2021.04.24 и выполнить команду:+вот так можно собрать cmake проект:
 <code> <code>
-sudo docker run -v $(pwd):/BR -t px30_generic make -Cmake -C /BR/bootloder+BR=<path_to_buildroot>   #/xxx/xxx/buildroot-2020.11 
 +cmake -DCMAKE_TOOLCHAIN_FILE=${BR}/output/host/usr/share/buildroot/toolchainfile.cmake . 
 +make 
 +в toolchainfile.cmake указаны пути к компилятору. библиотекам и includ-ам
 </code> </code>
-Результат: //bootloader/uboot-imx/flash.bin.fspi// 
boards/nms-uq7-imx8mini/buildsw.1658153945.txt.gz · Последнее изменение: 2022/07/18 14:19 — Владимир Андреев