Большинство (все?) Основных дистрибутивов Linux не только распространяют ядро linux, но и применяют к нему многочисленные патчи. Тем самым улучшается стабильность и добавляется множество функций. Итак, вы захотите использовать систему пакетов Ubuntu, чтобы получить исправленный исходный код ядра Ubuntu!
Вам, вероятно, НЕ необходимо перестроить ядро! Скорее всего, вам просто нужен пакет kernel-headers для вашего текущего ядра, чтобы скомпилировать драйвер USB. Предполагая, что вы собираете его как модуль ядра, вы можете загрузить его с помощью modprobe или insmod. (lsmod & rmmod также полезны.)
Если вам нужно пересобрать ядро, это легко. ( Так просто, я использую сборки ядра для тестирования своего оборудования.) В сети есть множество Kernel Building HOWTO . Вы получите массу удовольствия, пытаясь выяснить, какие опции вы хотите использовать в качестве модулей, что вы хотите скомпилировать и что вы хотите опустить. Вы можете уменьшить ядро, но можете пропустить некоторые из этих вещей.
Изменено, чтобы добавить:
Я помню, что делал "sudo apt-get install linux-headers-eeepc", мне нужно больше? Если нет, то где эти заголовки, потому что мой тестовый код, включающий «linux / module.h», не компилируется
Там должен быть способ перечислить все файлы в этом пакете linux-headers-eeepc. Я из мира RedHat / RPM. Но я бы предположил что-то вроде dpkg --contents linux-headers-eeepc или dpkg --listfiles linux-headers-eeepc . Возможно, вам придется немного поиграть с этим.
В качестве альтернативы, судя по http://packages.ubuntu.com/, пакетам, таким как linux-headers-2.6.27-7, содержится файл /usr/src/linux-headers-2.6.27-7/include/linux/module.h. Так что вы можете просто посмотреть в / usr / src / * / include / linux / module.h.
Или попробуйте:
% найдите linux / module.h | grep 'linux / module.h $'
Или
% find / -path '* / linux / module.h'
(что find может занять некоторое время для завершения ...)