Как сгенерировать Image.elf из buildroot? - PullRequest
0 голосов
/ 12 января 2019

make menuconfig -> kernel -> Kernel Binary format У меня есть только «uImage, zImage, vmlinux и настраиваемая цель». нет опции для Image.elf. Есть ли способ создать Image.elf?

В чем разница между vmlinux и Image.elf?

1 Ответ

0 голосов
/ 13 января 2019

Существует способ создания цели Image ядра Linux (то есть цели при обычной компиляции исходных кодов ядра Linux из командной строки через что-то вроде make -jN Image modules dtbs). В mainline buildroot параметры меню kconfig видны здесь:

buildroot menuconfig 1[1] buildroot menuconfig 2[2]

При непосредственном редактировании файла конфигурации buildroot (.config) символами конфигурации для целей Image и vmlinux являются BR2_LINUX_KERNEL_IMAGE и BR2_LINUX_KERNEL_VMLINUX соответственно.

Цель vmlinux - это статически связанный двоичный файл ядра в формате ELF. Это полезно, когда необходимо отладить собственно ядро, между прочим. Цель Image - это ядро ​​linux, не статически связанное и не в двоичном формате ELF. В приведенном выше конкретном примере Das U-boot передаст управление программой двоичному файлу Image при обычной инициализации платформы.

Видя, как опция двоичного формата ядра Image не отображается в вашем buildroot kconfig, вы сможете получить его, выбрав опцию пользовательской конфигурации цели и вручную набрав в строке ASCII Image. Вам также может повезти, если вы полностью отмените выбор всех элементов конфигурации ядра и начнете заново с частичного или полностью пустого набора конфигурации. Приведенные выше снимки экрана взяты из экземпляра buildroot, который синхронизирован с основной веткой master разработки примерно на дату этого ответа.

...