Здравствуй, желчный, острый на язык, скорый на расправу, но все-же уважаемый Лор;)
У меня возник вопрос, ответ на который позволит продвиться на пути познания.
Опишу предысторию.
Поставил я на свой маленький (однако от того не менее любимый) ноутбук Debian testing. Все шло хорошо, однако в подчиненных у моего главнюка (ну у працессора. Ты же понял, Лор, правда?) числится печально известная wifi-карточка broadcom 4313.
Я не долго думая сделал все как по вики.
- установил linux-headers соответствующие ядру
- стал ставить модуль broadcom-sta-dkms.
Вроде бы все хорошо, но в консоли я прочел следующее:
Module build for the currently running kernel was skipped since the kernel source for this kernel does not seem to be installed.
Как ты, Лор, безусловно понимаешь, ничего не заработало.
Я не стал отчаиваться. Скачал исходнники драйвера и стал их собирать. После команды `make` мне немедленно был дан резкий ответ:
make: *** /lib/modules/3.9-1-amd64/build: Нет такого файла или каталога. Останов.
Тогда я решил заглянуть в указанное место. Очевидно, папки build действительно не оказалось на месте, а команда `ls /lib/modules` выдала:
3.10-2-amd64 3.9-1-amd64
Быстрый мониторинг показал, что разыскиваемая папка build есть в папке 3.10-2-amd64, которая, кстати сказать, появилась в результате выполнения команды:
apt-get install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,')
Сначала я подумал, что произошла ошибка и сделал `uname -r`, которая выдала:
3.9-1-amd64
«Ничего» - подумал я - «поставлю нужные». Однако, к моему изумлению, команда `aptitude search linux-headers` выдала:
v linux-headers -
p linux-headers-3.10-2-all - All header files for Linux 3.10 (meta-package)
p linux-headers-3.10-2-all-amd64 - All header files for Linux 3.10 (meta-package)
i A linux-headers-3.10-2-amd64 - Header files for Linux 3.10-2-amd64
i A linux-headers-3.10-2-common - Common header files for Linux 3.10-2
p linux-headers-3.10-2-common-rt - Common header files for Linux 3.10-2-rt
p linux-headers-3.10-2-rt-amd64 - Header files for Linux 3.10-2-rt-amd64
i A linux-headers-amd64 - Header files for Linux amd64 configuration (meta-package)
p linux-headers-rt-amd64 - Header files for Linux rt-amd64 configuration (meta-package)
И снова я не отчаялся. Сделал `ln -s /lib/modules/3.10-2-amd64/build /lib/modules/3.9-1-amd64/build` и собрал драйвер из исходников (кстати версия из репозитория отказалсь собираться ;)). Хак, как наверное ты, многоуважаемый Лор, уже догадался, не помог - modprobe написал что-то там про ошибку формата.
И снова я не отчаился!
Прочел про ndiswrapper, поставил нужный драйвер. И! Вот он счастливый миг сладкой победы!! modprobe ndiswrapper!!! И...
FATAL: Module ndiswrapper not found.
О, мудрый Лор, прости мне, недостойному, обилие серого на черном и, молю, просвети! Как вышло так что у меня в папке /lib/modules оказалось две папки для разных ядер? Как это вообще возможно? Ясно, что теперь все, что собирается - собирается для 3.10-2-amd64 и простое копирование *.ko файлов не помогает (ошибка формата). Как мне разрешить эту странную двойственность моей системы?
PS Прошу, Лор, не суди строго своего юного (не в смысле возраста, а в смысле опыта;)) подавана:).
PPS И научи меня правильному форматированию сообщений ибо все смешалось в непонятную кашу.
PPPS Вроде бы кое что с форматированием сделать удалось, но наверное, можно лучше.