У меня получилось скомпилировать модуль! Ваши советы помогли.
Я бы хотел написать небольшую пошаговую инструкцию для тех, кто хочет научиться компилировать модули. Я знаю, что в интернете их уже много, но по-моему не помешает еще одна. Итак, компилируем модуль ядра в Debian Linux. Модуль будет компилироваться на системе, для которой предназначен. В моем случае это live система, которая грузится с флешки. 1. Загружаемся в live систему, подключаем интернет. 2. sudo apt-get install module-assistant 3. sudo m-a prepare Getting source for kernel version: 3.16.0-4-586 Kernel headers available in /lib/modules/3.16.0-4-586/build Creating symlink... После этой команды мы видим, что module-assistant скачал заголовки, которые подходят к нашему ядру, и теперь указывает, в какой папке они доступны. Затем он устанавливает пакет build-essential со всяким необходимым барахлом. 4. Дальше мы будем скачивать код ядра, чтобы потом заново скомпилировать один из модулей. Важно установить исходники именно той версии ядра, которое сейчас запущено. uname -r Эта команда выдает версию ядра. sudo apt-get install linux-source-3.16 После этой команды в папке /usr/src появится архивный файл. Его можно распаковать куда-нибудь, можно в домашнюю папку, можно куда-нибудь на жесткий диск. Распаковку можно делать от имени обычного пользователя. Откройте терминал на той папке, куда хотите распаковать, и выполните: tar -xf /usr/src/linux-source-3.16.tar.gz Затем перейдите в появившуюся папку: cd linux-source-3.16 5. Находясь в папке с деревом исходных кодов, в терминале выполните: make oldconfig Затем make prepare Потом нужно еще make scripts 6. Если сейчас начать компилировать модули, то make будет ругаться, что потерян файл Module.symvers Этот файл лежит там же где и заголовки ядра. Его надо аккуратно скопировать в наше дерево исходников. 7. Пора компилировать модули. Не все сразу, а те, которые нужны. Для себя я компилирую драйвер аудиокарты snd-echo3g, исходники к которому лежат в sound/pci/echoaudio Люблю читать исходный код! Особенно, если в нем есть хорошие комментарии, заботливо оставленные автором драйвера. make modules SUBDIRS=sound/pci/echoaudio Эту команду нужно запускать в корне дерева исходников. Если все пройдет без ошибок, то рядом с исходным кодом появятся файлы драйверов. 8. Перед тем как редактировать исходный код, полезно выполнить make clean SUBDIRS=sound/pci/echoaudio Скомпилированные файлы исчезнут. После редактирования снова запустите команду из седьмого пункта, и они снова скомпилируются. 9. Вы наверное уже умеете пользоваться командами modprobe, lsmod, modinfo. С помощью команды modinfo snd-echo3g мы узнаем подробности модуля из работающей системы, узнаем точное местонахождение файла. Можно заменить этот файл на наш модернизированный, затем выгрузить модуль, и сразу же загрузить. modprobe -r snd-echo3g && modprobe snd-echo3g Я надеюсь, что моя инструкция поможет кому-нибудь не запутаться во всем этом. А если запутались, то пишите в мэйл листы, кто-нибудь обязательно поможет.

