@MrakLula

Нету структуры file_operation, в хедере fs.h, как исправить? как установить полные хедеры ядра?

Здравствуйте,изучаю разработку модулей ядра,попытался скомпилировать модуль использующий структуру file_operation - ошибка,как оказалось в моих хедерах ядра(/usr/include/linux/) нету данной структуры,они обрезанны по сравнению с тем что представленно в https://git.kernel.org/pub/scm/linux/kernel/git/st... .
Ну подумал что не беда - установил дебиан на виртуалку(в нем тоже оказались обрезанные хедеры),попробовал перекомпилировать ядро с дефолтным конфигом - но это ситуацию не поменяло, по итогу пробовал скомпилить ядро на других дистрибутивах - результата не было

Была идея просто скачать полноценные хедеры и заменить ими обрезанные,но мне кажется данная идея ни к чему кроме как к поломке системы и трате времени не приведет, кто то сталкивался с данной проблемой? есть идеи как решить?
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
изучаю разработку модулей ядра,попытался скомпилировать модуль использующий структуру file_operation - ошибка,как оказалось в моих хедерах ядра(/usr/include/linux/) нету данной структуры

Хедеры ядра которые устанавливаются в системе -- это интерфейс между ядром и юзерспейсом (uapi). Хедер который тебе нужен -- внутренний хедер ядра. Чтобы собрать модуль ядра нужно иметь сконфигурированные исходники этого ядра. Почитать можно здесь.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
15432
@15432
Системный программист ^_^
sudo apt-get install linux-headers-$(uname -r)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы