Я скачал исходный код драйвера (tun 1.1) и планировал установить, когда получил следующую ошибку:

root@sergiosaturn-HP-Pavilion-dv6500-Notebook-PC:~/Documentos/Tese/tun-1.1# ./configure
loading cache ./config.cache
checking host system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking target system type... i686-pc-linux-gnu
checking build system type... i686-pc-linux-gnu
checking for gcc... (cached) gcc
checking whether the C compiler (gcc  ) works... yes
checking whether the C compiler (gcc  ) is a cross-compiler... no
checking whether we are using GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gawk... (cached) mawk
checking for a BSD compatible install... (cached) /usr/bin/install -c
creating ./config.status
creating Makefile
configuring in linux
running /bin/sh ./configure  --cache-file=.././config.cache --srcdir=.
loading cache .././config.cache
checking for gcc... (cached) gcc
checking whether the C compiler (gcc  ) works... yes
checking whether the C compiler (gcc  ) is a cross-compiler... no
checking whether we are using GNU C... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for kgcc... gcc
checking for gawk... (cached) mawk
checking for a BSD compatible install... (cached) /usr/bin/install -c
configure: error: Linux kernel source not found in /usr/src/linux 
configure: error: ./configure failed for linux

Для решения этой проблемы я использовал следующие команды:

apt-get source linux-image-$(uname -r)

make oldconfig

make

Это не только не решило мою проблему, но и разрушило мою установку Ubuntu. Я был вынужден сохранить свои файлы и заново установить Ubuntu. Если кто-нибудь знает, как решить эту проблему, не могли бы вы мне помочь.

Спасибо за ваше время.

1 ответ1

1

Вам не хватает исходных кодов ядра, а не образа ядра (который у вас уже есть, потому что вы его загрузили).

Попробуйте apt-cache search kernel | grep source чтобы увидеть список вероятных кандидатов. Это linux-source для меня, но в вашем дистрибутиве он может называться иначе. Также убедитесь, что версия соответствует той, которую вы используете прямо сейчас.

Использование apt-get source должно дать вам правильный исходный код, как правильно указано в комментариях.

Кстати: если драйверу нужны исходные коды ядра (а не только заголовки), похоже, что он будет собран не как модуль, а скомпилирован непосредственно в ядро. Это означает, что вы должны скомпилировать и установить все ядро (и повторять это каждый раз, когда ваше ядро будет автоматически обновлено). Это следует делать только в том случае, если вы точно знаете, что делаете, и водитель стоит усилий. Почти все распространенные драйверы доступны в виде модуля, и поэтому для сборки не нужны исходные коды ядра (а только заголовки).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .