Как отследить изменения конфигурации ядра Linux?
Я работаю над модулем ядра Linux и хотел бы отслеживать изменения конфигурации моего ядра (например, включение других модулей, активацию динамической отладки и т. Д.) Для дальнейшего использования.
git add .config
не чувствует себя хорошо.
Есть ли лучший способ сделать это?
2 ответа
Имеющий .config
под Git плохая идея, как вы правильно заметили (в основном потому, что после make distclean
, так что это решение не является производимым). Кроме того, если у вас уже есть defconfig
файл для вашей доски, вы не должны создавать другой, это может считаться плохой практикой.
Вместо этого взгляните на скрипт scripts / kconfig / merge_config.sh. Вы можете создать свой собственный файл конфигурации, который будет содержать только изменения в существующем файле defconfig, а затем объединить ваш файл с некоторыми основными defconfig
файл, который вы используете.
Посмотрите на ветку ядра TI, например, они просто создают другой каталог (ti_config_fragments/
) с конфигурационными блоками и скриптами для генерации финала .config
файл.
Еще один способ использования merge_config.sh
Сценарий должен изменить Makefile
для вашей архитектуры, добавив новое правило, чтобы объединить ваш фрагмент конфигурации с уже существующим .config
файл, как будто это сделано для kvmconfig
правило в arch / x86 / Makefile.
В любом случае, основная идея заключается в том, чтобы сохранить дельту конфигурации в отдельном файле (где-то в arch/.../configs/
или в совершенно новом каталоге), а затем объединить фрагмент конфигурации с существующим .config
файл (который обычно генерируется из некоторых defconfig
файл). И, конечно, вы можете отследить ваш файл с фрагментами конфигурации в Git
Добавьте новый defconfig для вашей платы (аппаратное обеспечение).
ПУТЬ: арка / рука / конфиги / для архитектуры ARM.
Вы можете добавить новый через make menuconfig -> Сохранить. Чтобы применить свой собственный конфиг, просто запустите make your_board_defconfig