Buildroot не имеет опции uImage для ядра

0
задан Luca Ceresoli 21 January 2019 в 10:41
поделиться

1 ответ

В ядре Linux разные архитектуры имеют разные доступные форматы изображений. uImage доступно в Linux, но не включено в Buildroot.

Есть 2 способа производства uImage.


Ручной способ (ОК для предварительного тестирования):

  1. В menuconfig -> Kernel, установите:
    • Kernel binary format = пользовательский target
    • Kernel image target name = uImage
  2. make host-uboot-tools
  3. make linux

Шаг 2 требуется, потому что для сборки uImage вам нужен инструмент mkimage из host-uboot-tools. Использование «пользовательского образа». Buildroot не знает об этом, и сборка завершится неудачей без шага 2.


Правильный способ :

Просто включите формат uImage в Buildroot для архитектуры C-Sky. Этого простого патча должно быть достаточно:

diff --git a/linux/Config.in b/linux/Config.in
index 1a50958ea146..c89c12b433be 100644
--- a/linux/Config.in
+++ b/linux/Config.in
@@ -211,7 +211,7 @@ config BR2_LINUX_KERNEL_UIMAGE
        depends on BR2_arc || BR2_arm || BR2_armeb || \
                   BR2_powerpc || BR2_powerpc64 || BR2_powerpc64le || \
                   BR2_sh || BR2_mips || BR2_mipsel || \
-                  BR2_mips64 || BR2_mips64el || BR2_xtensa
+                  BR2_mips64 || BR2_mips64el || BR2_xtensa || BR2_csky
        select BR2_PACKAGE_HOST_UBOOT_TOOLS

 config BR2_LINUX_KERNEL_APPENDED_UIMAGE

Это позволяет выбрать Kernel binary format = uImage и собрать как обычно, без необходимости вручную собирать host-uboot-tools перед Linux.

0
ответ дан Luca Ceresoli 21 January 2019 в 10:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: