Узнайте, какие исходные файлы ядра были использованы при компиляции ядра

Я компилирую ядро ​​Linux для своего конкретного оборудования, и я выбираю только те драйверы / опции, которые мне действительно нужны. Это контрастирует с типичным ядром распределения, где они собирают почти все, чтобы быть совместимыми с максимально возможной конфигурацией оборудования.

Я полагаю, для моего ядра я использую только 1% от общего кода ядра (оценка по порядку величины).

Есть ли способ узнать, какие файлы из исходного кода ядра я использовал, когда я создаю свое ядро?

Это не академический вопрос. Предположим, что я скомпилировал мое ядро ​​3.18.1. Теперь появляется обновление для системы безопасности, и выпущено 3.18.2. В моем другом вопросе я узнал, как найти, какие файлы имеют изменения между релизами. Если бы я знал, изменился ли какой-либо из файлов, которые я использую, я бы перекомпилировал мое ядро ​​в новую версию. Если, с другой стороны, изменения влияют только на файлы, которые я пока не использую, я могу сохранить текущую версию ядра.

  • Виртуальная память ядра в ядре dmesg linux 2.6.31
  • Проблемы с отрицательным каналом мониторинга запугивают!
  • Что произойдет, если жесткий диск не сработает при запуске ядра Linux?
  • Почему группы распределены по-разному на этих двух системах с помощью systemd
  • Найти ядро ​​с определенным фиксацией
  • Как / почему пакеты Firefox могут работать на всех Linux?
  • Как я могу подтвердить, что `nice` работает?
  • «Сообщения об ошибках памяти, обнаруженные в низкоуровневой памяти»?
  • One Solution collect form web for “Узнайте, какие исходные файлы ядра были использованы при компиляции ядра”

    В качестве продолжения моего комментария:

    1. Выполните следующую команду в одной оболочке. Вы можете сделать сценарий оболочки или демонизировать с помощью опции -d .

       inotifywait -m -r -e open --format '%f' /kernel_sources/directory/in_use/ -o /home/user/kernel_build.log 
    2. На другой оболочке выполните make

    3. Файл журнала /home/user/kernel_build.log будет иметь список файлов, которые были открыты (операция чтения) во время процесса сборки.
    Linux и Unix - лучшая ОС в мире.