Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум разработчиков электроники ELECTRONIX.ru _ Linux _ Компиляция Linux для Variscite VAR-SoM-AM33

Автор: Zlumd Aug 10 2018, 07:53

Компилирую по инструкции: http://electronix.ru/redirect.php?http://variwiki.com/index.php?title=VAR-SOM-AM33_Yocto_Krogoth_Build
Всё хорошо компилируется, но долго - 3 часа.
Потом хочу поменять разрешение экрана.
Для этого надо исправить файл ~/yocto_varsomam33/tisdk/build/arago-tmp-external-linaro-toolchain/work-shared/varsomam33/kernel-source/arch/arm/boot/dts/var-som-am33.dts
После компиляции этот файл должен скомпилироваться в ~/yocto_varsomam33/tisdk/build/arago-tmp-external-linaro-toolchain/deploy/images/varsomam33/zImage-var-som-am33.dtb
Запускаю команду MACHINE=varsomam33 bitbake tisdk-rootfs-image
После этой команды dtb-файл не меняется.
Если удалить dtb-файл, то он снова не появляется.
Рядом с dtb-файлом лежит файл README_DONT_DELETE_FILES_IN_THIS_DIRECTORY.txt
В нём написано следующее:

Цитата
Files in the deploy directory will not be re-created automatically if you
delete them. If you do delete a file, you will need to run:

bitbake -c clean TARGET
bitbake TARGET

where TARGET is the name of the appropriate package or target e.g.
"virtual/kernel" for the kernel, an image, etc.

Но эти команды не работают.
Пробовал запускать
Цитата
bitbake -c clean tisdk-rootfs-image

Выдаётся ошибка
Цитата
ERROR: Nothing PROVIDES 'tisdk-rootfs-image'
ERROR: tisdk-rootfs-image was skipped: incompatible with machine arago (not in COMPATIBLE_MACHINE)

Пробую по-другому:
Цитата
MACHINE=varsomam33 bitbake -c clean tisdk-rootfs-image
MACHINE=varsomam33 bitbake tisdk-rootfs-image

Это проходит без ошибок, но dtb-файл не появляется.

Как получить вновь скомпилированный dtb-файл?
Под виндой я обычно удаляю старый файл ил жму Rebuild. Под Линуксом же я не могу понять, как это сделать.

Нашёл один вариант.
Удалить полностью папку ~/yocto_varsomam33/
Пройти по шагам с самого начала по инструкции http://electronix.ru/redirect.php?http://variwiki.com/index.php?title=VAR-SOM-AM33_Yocto_Krogoth_Build
После команды MACHINE=varsomam33 bitbake tisdk-rootfs-image примерно через три минуты появляется dts-файл. Его надо быстренько подредактировать.
Ещё через час примерно появляется уже скомпилированный dtb-файл.
Но каждый раз тратить на это три часа довольно утомительно.

Автор: Jury093 Aug 10 2018, 12:08

Цитата(Zlumd @ Aug 10 2018, 10:53) *
Как получить вновь скомпилированный dtb-файл?

такое пробовали (отсюда http://electronix.ru/redirect.php?https://stackoverflow.com/questions/38917745/quick-rebuild-of-device-tree-only-with-yocto-bitbake)?
Код
AFAIK there are two different ways of doing this.

The kernel way: Using the scripts provided by the kernel

Change to your kernel source directory (<build dir>/tmp/work/<machine>/<kernel-name>/<kernel-version>/git/)
Execute the device-tree-compiler: ./scripts/dtc/dtc -I dts -O dtb -o ./devicetree.dtb path/to/devicetree.dts

The bitbake way: Using the the kernel's deploy job

Call $ bitbake <kernel-name> -f -c deploy
The generated device-tree-blob then can be found in <build dir>/tmp/work/<machine>/<kernel-name>/<kernel-version>/build/arch/arm/boot/dts/)

Автор: Zlumd Aug 13 2018, 01:49

Цитата(Jury093 @ Aug 10 2018, 19:08) *
такое пробовали (отсюда http://electronix.ru/redirect.php?https://stackoverflow.com/questions/38917745/quick-rebuild-of-device-tree-only-with-yocto-bitbake)?
Код
AFAIK there are two different ways of doing this.

The kernel way: Using the scripts provided by the kernel

Change to your kernel source directory (<build dir>/tmp/work/<machine>/<kernel-name>/<kernel-version>/git/)
Execute the device-tree-compiler: ./scripts/dtc/dtc -I dts -O dtb -o ./devicetree.dtb path/to/devicetree.dts

The bitbake way: Using the the kernel's deploy job

Call $ bitbake <kernel-name> -f -c deploy
The generated device-tree-blob then can be found in <build dir>/tmp/work/<machine>/<kernel-name>/<kernel-version>/build/arch/arm/boot/dts/)
Да. dtc не работает. Выдаёт syntax error. Вроде в Yocto формат dts-файлов отличается от стандарта.
bitbake tisdk-rootfs-image -f -c deploy не работает. Выдаёт
Цитата
ERROR: Nothing PROVIDES 'tisdk-rootfs-image'
ERROR: tisdk-rootfs-image was skipped: incompatible with machine arago (not in COMPATIBLE_MACHINE)
MACHINE=varsomam33 bitbake tisdk-rootfs-image -f -c deploy тоже не работает. Выдаёт:
Цитата
ERROR: Task do_deploy does not exist for target tisdk-rootfs-image

Автор: aaarrr Aug 13 2018, 05:20

Соберите http://electronix.ru/redirect.php?http://variwiki.com/index.php?title=VAR-SOM-AM33_Yocto_Krogoth_Build_Linux_out_of_tree.

Русская версия Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)