Вопрос

Я пытаюсь следовать руководству по созданию пользовательского USB-драйвера в Linux, и я надеюсь разработать эту штуку на моем Eee PC с Ubuntu Eee, используя g ++.К сожалению, чтобы следовать руководству, мне нужен файл заголовка linux /module.h.Насколько я понимаю, мне нужно будет скомпилировать ядро, чтобы заставить это работать.Я никогда раньше не компилировал ядро, и все инструкции, которые я нахожу, предназначены для настольной Ubuntu.

Я делаю это на своем Eee, так как я получу дополнительный зачет в классе, если смогу это сделать и использовать в классном проекте.

Учебные пособия, которым я следую, находятся здесь: http://www.linuxjournal.com/article/7353 и здесь: http://www.linuxjournal.com/article/4786

Это было полезно?

Решение

Большинство (все?) основных дистрибутивов Linux не только распространяют ядро Linux, но и применяют к нему многочисленные исправления.Тем самым повышая стабильность и добавляя множество функций. Итак, вы захотите использовать систему пакетов Ubuntu, чтобы загрузить исправленный исходный код ядра Ubuntu!

Вы, вероятно, знаете НЕ нужно перестроить ядро! Скорее всего, вам просто нужен пакет kernel-headers для вашего текущего ядра, чтобы скомпилировать ваш USB-драйвер.Предполагая, что вы создаете его как модуль ядра, затем вы можете загрузить его с помощью modprobe или insmod.(lsmod и rmmod также полезны.)

Если вам действительно нужно перестроить ядро, что ж, это несложно.(Так просто, что я использую сборки ядра для тестирования своего оборудования.) Там есть много Руководство по созданию ядра в Интернете.Вам предстоит получить массу удовольствия, пытаясь выяснить, какие параметры вы хотите использовать в качестве модулей, что вы хотите скомпилировать, а что вы хотите исключить.Вы можете сделать ядро меньше, но вы можете пропустить кое-что из этого.



Изменено, чтобы добавить:

Я помню, как делал "sudo apt-get install linux-headers-eeepc", нужно ли мне больше, чем это?Если нет, то где эти заголовки, потому что мой тестовый код, который включает "linux / module.h", не компилируется

Там должен быть способ перечислить все файлы в этом пакете linux-headers-eeepc.Я родом из мира RedHat / RPM.Но я бы предположил что-то вроде dpkg --содержимое linux-заголовки-eeepc или dpkg --список файлов linux-заголовки-eeepc.Возможно, вам придется немного с этим поиграться.

В качестве альтернативы, судя по http://packages.ubuntu.com/, пакеты, подобные linux-headers-2.6.27-7, содержат файл /usr/src/linux-headers-2.6.27-7/ включают в себя/linux/module.h.Так что, возможно, вы просто захотите осмотреться в /usr/src/*/включить/linux/module.h.

В качестве альтернативы, попробуйте:

% найдите linux/module.h | grep 'linux/module.h$'

Или

% найдите / -path '*/linux/module.h'

(Это Найти может потребоваться некоторое время, чтобы завершить ...)

Другие советы

Отсюда:Ядро Ubuntu / Компиляция Для начала:sudo apt-get установить linux-ядро-создать сборку fakeroot-необходимый файл makedumpfile

Наверное, только что прочитал это Ссылка.

Более подробная информация здесь

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top