Я новичок в написании модулей ядра, поэтому сталкиваюсь с несколькими нетехническими проблемами.
Создание модулей ядра для разных версий Linux
Поскольку для создания модуля ядра для конкретной версии ядра (например, 3.0.0-10, 10 является номером патча) требуется одинаковые заголовки ядра, поэтому он выглядит прямо, чтобы установить заголовки ядра и начать разработку там. Но заголовки ядра для исправленной версии ядра недоступны. Поскольку у меня есть гостевое ядро vmlinuz-3.0.0-10, работающее на машине, и после загрузки заголовков ядра это говорит, что не найден.
другой подход, чтобы получить источник для этого конкретного ядра, но опять-таки проблема в том же источник для ядра не доступен (его не нужно, чтобы получить источники Linux-ядра-3.0.0-10 или даже linux-kernel-3.0.0 и 10-й патч). В некоторой ситуации можно получить источник запущенного ядра, но не всегда это возможно.
другой - это создание ядра, отличного от работающего ядра, и помещение встроенного ядра в машину. Но для этого требуется, чтобы модули этого ядра занимали много времени и занимали много места.
Поэтому намерение просить об этом - узнать, какие предпочтения разработчиков драйверов ядра. Существуют ли другие альтернативы?
Можно ли скомпилировать модуль ядра в одной версии и работать в другой версии (хотя это будет давать ошибку, но есть ли обходной путь для этого?)
После перехода к исходному коду модуля -> Моя команда: make -C/androidsourcecode/common M = 'pwd' modules -------- Ошибка :::::::::::: ПРЕДУПРЕЖДЕНИЕ: отсутствует версия dump dump /androidsourcecode/common/Module.symvers; модули не будут иметь никаких зависимостей и модификаций ./ scripts/Makefile.build: 44/androidsourcecode/common/pwd/Makefile: нет такого файла или каталога –