Я занимаюсь разработкой ядра Linux и пытался создать свои собственные модули для целей тестирования. Однако для последних исходных кодов ядра заголовки linux не существуют. Он существует только для 4.9.0-7.
Я гуглил и нашел 1 метод, в котором мы make
используем модуль по дереву исходного кода ядра, которое нам нужно (например, 4.18)
make -C /home/prasad/linux-4.18/ M=$(PWD)
который генерирует .ko для моего модуля. Однако, когда я загружаю свое ядро и insmod
оно, оно говорит
insmod: ERROR: could not insert module test.ko: Unknown symbol in module
Итак, как именно с моего хост-компьютера сгенерировать файл .ko, который можно вставить для ядра 4.18?
PS: Мое сомнение не является дубликатом , так как я не могу "установить" ядро 4.18 в свой виртуальный компьютер, я пытаюсь избежать этого. Мой вопрос более специфичен для генерации вставляемого модуля .ko и не нашел другого способа вставить его в 4.18.