Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
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 < | * Распаковать sdk < | ||
- | * Cкопировать firmware-imx-8.10.bin в папку sdk_2021.04.24/ | + | |
+ | | ||
* Собрать образ контейнера < | * Собрать образ контейнера < | ||
+ | ==== kernel ==== | ||
+ | Для сборки kernel,dtb, нужно перейти в каталог sdk_2021.04.24 и выполнить команду: | ||
+ | < | ||
+ | sudo docker run -v $(pwd):/BR -t px30_generic make -C /BR/kernel | ||
+ | </ | ||
+ | Результат: | ||
+ | * // | ||
+ | * // | ||
+ | |||
+ | |||
+ | ==== bootloader ==== | ||
+ | | ||
+ | < | ||
+ | sudo docker run -v $(pwd):/BR -t px30_generic make -C / | ||
+ | </ | ||
+ | |||
+ | Результат: | ||
+ | * // | ||
+ | |||
+ | Для сборки bootloader для загрузки с sd card, нужно перейти в каталог sdk_2021.04.24 и выполнить команду: | ||
+ | < | ||
+ | sudo docker run -v $(pwd):/BR -t px30_generic make -C / | ||
+ | </ | ||
+ | |||
+ | Результат: | ||
+ | * // | ||
+ | |||
+ | Сделать SDcard загрузочной (установка bootloader на SDcard) | ||
+ | < | ||
+ | dd if=bootloader/ | ||
+ | </ | ||
==== rootfs ==== | ==== rootfs ==== | ||
Для сборки rootfs, нужно перейти в каталог sdk_2021.04.24 и выполнить команду: | Для сборки rootfs, нужно перейти в каталог sdk_2021.04.24 и выполнить команду: | ||
< | < | ||
- | sudo docker run -v $(pwd):/BR -t px30_generic make -Cmake | + | sudo docker run -v $(pwd):/BR -t px30_generic make -C /BR/rootfs |
</ | </ | ||
Начнёт скачиваться buildroot. На некотором моменте загрузка завершится с ошибкой, | Начнёт скачиваться buildroot. На некотором моменте загрузка завершится с ошибкой, | ||
< | < | ||
- | tar -xvf dl.tar.gz -P <ПУТЬ_ДО_ПАПКИ_SDK> | + | sudo tar -xvf ../dl.tar.gz -C rootfs/ |
+ | </code> | ||
+ | Выполнить очистку проекта | ||
+ | < | ||
+ | cd rootfs/ | ||
+ | sudo make clean | ||
+ | cd ../../ | ||
</ | </ | ||
Запустить сборку второй раз: | Запустить сборку второй раз: | ||
< | < | ||
- | sudo docker run -v $(pwd):/BR -t px30_generic make -Cmake | + | sudo docker run -v $(pwd):/BR -t px30_generic make -C /BR/rootfs |
</ | </ | ||
- | Результат: | + | Результат: |
- | ==== kernel ==== | + | |
- | Для | + | ==== создание загрузочной |
+ | понадобятся bootloader/ | ||
< | < | ||
- | sudo docker run -v $(pwd):/BR -t px30_generic make -Cmake -C /BR/kernel | + | sudo su |
+ | cd < | ||
+ | dev=/ | ||
+ | umount ${dev}* | ||
+ | echo 'o n p 1 16384 +2G n p 2 4210688 +1G w'| tr ' ' ' | ||
+ | dd if=rootfs/ | ||
+ | dd if=bootloader/uboot-imx/flash.bin.sdcard of=${dev} bs=1024 seek=33 | ||
+ | sync | ||
+ | </code> | ||
+ | Вставить sd карту в отладочную плату, установить jumper " | ||
+ | подать питание, | ||
+ | ввести | ||
+ | < | ||
+ | setenv mmcdev 1 | ||
+ | saveenv | ||
+ | boot | ||
</ | </ | ||
- | Результат: | ||
- | * // | ||
- | * // | ||
- | ==== bootloader | + | ==== Советы howto ==== |
- | Для сборки rootfs, нужно | + | вот так можно |
< | < | ||
- | sudo docker run -v $(pwd):/BR -t px30_generic make -Cmake -C /BR/bootloder | + | BR=< |
+ | cmake -DCMAKE_TOOLCHAIN_FILE=${BR}/output/ | ||
+ | make | ||
+ | в toolchainfile.cmake указаны пути к компилятору. библиотекам и includ-ам | ||
</ | </ | ||
- | Результат: |