Как исправить “Нет правила для создания цели ‘arch/arm64/boot/dts/kona-rumi.dtb’, необходимой для ‘__build’. Остановка.

Вопрос или проблема

Ранее у меня была та же ошибка, связанная с файлом: arch/arm64/boot/dts/qcom/apq8016-sbc.dtb, но я решил ее, удалив строку subdir-y += qcom из arch/arm64/boot/dts/Makefile. Теперь появляется новая аналогичная ошибка, и я не знаю, как ее исправить. Совет в интернете не помог.

Ошибка:

make[3]: *** Нет правила для создания цели 'arch/arm64/boot/dts/kona-rumi.dtb', необходимой для '__build'. Остановка.
make[3]: *** Ожидание незавершенных заданий....
make[2]: *** [../scripts/Makefile.build:642: arch/arm64/boot/dts] Ошибка 2
make[1]: *** [arch/arm64/Makefile:172: dtbs] Ошибка 2
make[1]: *** Ожидание незавершенных заданий....

Ошибка с make V=1:

make -f ../scripts/Makefile.build obj=arch/arm64/boot/dts/ti need-builtin=
(cat /dev/null; ) > arch/arm64/boot/dts/ti/modules.order
make -f ../scripts/Makefile.build obj=arch/arm64/boot/dts/vendor need-builtin=
make -f ../scripts/Makefile.build obj=arch/arm64/boot/dts/vendor/qcom need-builtin=
(cat /dev/null; ) > arch/arm64/boot/dts/vendor/qcom/modules.order
make[4]: *** Нет правила для создания цели 'arch/arm64/boot/dts/vendor/qcom/kona-rumi.dtb', необходимой для '__build'. Остановка.
make[4]: *** Ожидание незавершенных заданий....
make[3]: *** [../scripts/Makefile.build:642: arch/arm64/boot/dts/vendor/qcom] Ошибка 2
make[2]: *** [../scripts/Makefile.build:642: arch/arm64/boot/dts/vendor] Ошибка 2
make[1]: *** [arch/arm64/Makefile:172: dtbs] Ошибка 2
make[1]: *** Ожидание незавершенных заданий....

MyKernel:

ядро

Мой код сборки:

export ARCH=arm64
export SUBARCH=arm64
export HEADER_ARCH=arm64
export DTC_EXT=dtc
PATH="/home/hehe/Downloads/clang/bin:/home/hehe/Downloads/aarch64-linux-android-4.9/bin:/home/hehe/Downloads/arm-linux-androideabi-4.9/bin:${PATH}"
rm -rf out
make O=out clean && make mrproper
make O=out ARCH=arm64 kona_defconfig
make -j$(nproc --all) O=out ARCH=arm64 CC=clang CLANG_TRIPLE=aarch64-linux-gnu- CROSS_COMPILE=aarch64-linux-android- CROSS_COMPILE_ARM32=arm-linux-androideabi-

вам нужен дерево устройств для устройства kona/sm8250, посмотрите в oneplus oss, как и другие вендоры, они не включают это в ядро, а в другом репозитории, как дерево устройств, после этого дерево устройств вендора было перемещено в kernelsource/arch/arm64/boot/dts (вендор) здесь

Ответ или решение

Ошибка "No rule to make target ‘arch/arm64/boot/dts/kona-rumi.dtb’, needed by ‘__build’. Stop" возникает в процессе сборки ядра, когда система не может найти необходимый файл Device Tree Blob (DTB). Эта проблема подобна предыдущей ошибке, связанной с файлом apq8016-sbc.dtb, но в данном случае отсутствует файл kona-rumi.dtb. Рассмотрим шаги по устранению этой ошибки.

1. Проверка наличия файла Device Tree

Первоначально убедитесь, что файл kona-rumi.dtb действительно отсутствует в каталоге arch/arm64/boot/dts/vendor/qcom. Если его нет, следует проверить репозитории, чтобы понять, где он может находиться. В большинстве случаев файлы Device Tree находятся в отдельных репозиториях, таких как device tree или vendor.

2. Получение файлов Device Tree

Как указано в предоставленной информации, необходимо получить файлы Device Tree для устройства kona/SM8250. Это можно сделать одним из следующих способов:

  • Найдите подходящий репозиторий на GitHub или другом хостинге кода, где разработчики сохранили необходимые файлы для ваших устройств.
  • Например, проверьте официальные репозитории OnePlus или другие проекты с поддержкой вашей платформы на GitHub. Обратите внимание на наличие папок, относящихся к vendor или device tree для устройств SM8250.

3. Корректировка Makefile

Если у вас нет возможности найти необходимый файл DTB, вы можете удалить соответствующую строку из Makefile, аналогично тому, как вы это сделали с apq8016-sbc.dtb. Найдите строку, где указывается kona-rumi.dtb, возможно, в arch/arm64/boot/dts/Makefile или в соответствующем subdir-y в Makefile. Удалите или закомментируйте эту строку, чтобы избежать ошибок при сборке:

# subdir-y += qcom

4. Завершение сборки

После выполнения вышеописанных действий, выполните полную очистку сборки и повторите процесс. Команды:

make O=out clean && make mrproper
make O=out ARCH=arm64 kona_defconfig
make -j$(nproc --all) O=out ARCH=arm64 CC=clang CLANG_TRIPLE=aarch64-linux-gnu- CROSS_COMPILE=aarch64-linux-android- CROSS_COMPILE_ARM32=arm-linux-androideabi-

5. Проверка других зависимостей

Если ошибка сохраняется, стоит проверить дополнительные зависимые файлы и их наличие. Убедитесь, что у вас установлены все необходимые инструменты и библиотеки, которые могут требоваться для компиляции ядра с использованием Clang.

6. Заключение

Ошибки компиляции могут быть сложными, но следуя этим шагам, вы сможете устранить большинство проблем, связанных с отсутствующими целевыми файлами. Если проблема не удается решить, рекомендуется обратиться на специализированные форумы, такие как XDA Developers, где вы можете получить помощь от сообщества разработчиков, работающих над аналогичными проектами.

Оцените материал
Добавить комментарий

Капча загружается...