Я внёс некоторые изменения в исходный код ядра, чтобы я мог использовать собственный логотип на заставке ядра. В частности, внесенные мной изменения позволяют выбрать собственный логотип в качестве параметра конфигурации ядра, когда я запускаю следующую команду bitbake:
bitbake -c menuconfig virtual/kernel
, а затем перейдите к Драйверы устройств> Поддержка графики -> Логотип загрузки. Я установил логотип Bootup на собственный логотип, сохранил свои изменения и завершил настройку меню. На данный момент сгенерированный файл .config находится по адресу tmp / work / imx6ul_var_dart-fslc-linux-gnueabi / linux-variscite / 4.9.88-r0 / build / .config, и я подтверждаю, что мой логотип был настроен в качестве логотипа загрузки в следующей строке из файла .config:
CONFIG_LOGO_CUSTOM_CLUT224=y
Все хорошо до этого момента. Теперь я хочу сохранить файл .config в формате defconfig, чтобы я мог перезаписать конфигурацию по умолчанию в исходном дереве и заменить ее созданным файлом defconfig. Для этого я запускаю следующую команду:
bitbake -c savedefconfig virtual/kernel
На данный момент сгенерированный файл defconfig находится по адресу tmp / work / imx6ul_var_dart-fslc-linux-gnueabi / linux-variscite / 4.9.88-r0 / build / defconfig. Но при поиске в сгенерированном файле defconfig ... я не нахожу следующую строку:
CONFIG_LOGO_CUSTOM_CLUT224=y
Почему я не вижу этот параметр конфигурации в файле defconfig, хотя он был задан в файле .config, из которого он генерируется?
Редактировать (добавить дополнительную информацию):
Я опишу точные изменения, внесенные в исходный код ядра. Во-первых, я добавил логотип (logo_custom_clut224.ppm) в драйверы / видео / логотип. Затем я изменил драйверы / видео / логотип / Kconfig, добавив следующую запись в if LOGO
и соответствующую endif
:
config LOGO_CUSTOM_CLUT224
bool "224-color Custom logo"
default y
Затем я добавил следующую логику в drivers / video / logo / logo.c внутри блока if (depth >= 8)
:
#ifdef CONFIG_LOGO_CUSTOM_CLUT224
logo = &logo_custom_clut224;
#endif
Затем я добавил следующее выражение для включения / linux / linux_logo.h:
extern const struct linux_logo logo_custom_clut224;
Наконец, я изменил драйверы / видео / логотип / Makefile, добавив запись для собственного логотипа:
obj-$(CONFIG_LOGO_CUSTOM_CLUT224 += logo_custom_clut224.o
Я также хотел бы отметить, что я пытаюсь использовать логотип 800x480.