Cnet Pro200 и прочие забавы с ядром :-)
gormih 9 октября, 2011 - 11:37
6 лет назад уже поднималась тема.
У меня та же проблема, но решил пересоздать тему потому что она ближе к данному разделу и потому, что:
1) В ядре 2.6.39-r3 куда то пропало "Network device support"/"Ethernet (10 or 100Mbit)"/"EISA, VLB, PCI, and on board controllers"/"Davicom DM910x/DM980x support".
Раньше точно было.
2) Так же не нашел в ядре dmfe...
3) При загрузке с minimal все прекрасно работает...
Куда копать?
UPD.: Обнаружил, что lspci все таки выводит карточку, однако у меня в системе 1 адаптер из двух... eth0 - встроенная на материнке сетевка, ожидаю, что eth1 должна быть Davicom, однако ifconfig eth1 говорит что нету такого интерфейса
»
- Для комментирования войдите или зарегистрируйтесь
Зайдите в "Tulip" family
Зайдите в "Tulip" family network device support -->
это там же где EISA, VLB,.....
Оно самое. И еще вопросики.
Да, уже сам 4 раза ядро пересобрал, понял.. :-)
Все равно спасибо за ответ.
Вопрос еще такой:
Если я знаю спецификацию своего оборудования - как понять какие модули ядра нужно для него подключить?
Например... есть у меня после
lspci |grep Eth
две сетевых карты. Одна например nVidia MCP 65, другая указанная выше...
если я сделаю так:
lspci -k | less
увижу модули ядра, но если они уже подключены... Причем в make menuconfig их найти через команду "/" не получается...
Куда копать то?
Отчасти помогает вот что.
Вот порылся в официальных доках... Скудненько.
Хотелось бы более систематизированно...
gormih написал(а): Куда
К сожалению универсальных методов нет и возможно не будет.
Ядро постоянно развивается, появляются новые устройства, новые платформы.
Я считаю это нормальный процесс.
Если встает вопрос: поддерживает ядро что-то экзотическое (старое)? то лезу в исходники /usr/src/linux
Например ваша карточка nVidia MCP 65 может быть найдена последовательным уточнением результатов текстового поиска по части drivers в исходниках ядра
Ну вот и драйвер нарисовался forcedeth. Теперь идем в make menuconfig и ищем FORCEDETH.
Внимательно в поиске анализируем поля Depends on: - это зависимости, которые Вам надо соблюсти, чтобы данный пункт стал активным и появился в меню. В моем случае потребовалось включить NET_PCI (EISA, VLB, PCI and onboard controllers).
Находим nForce Ethernet support, включаем собираем, если надо - перегружаемся.
Пробуем dmesg | grep eth[0-9], смотрим какие интерфейсы появились.
Собственно все.
Спасибо!
Спасибо за развернутый ответ.
Интересно, кто нибудь задумывался написать что то типа автоконфигуратора...
Или хотя бы систематизировать список соответствия драйверов/модулей ядра... Пусть не на каждое ядро, хотя бы раз в 5 версий :-)
В принципе, известно genkernel должен делать что то подобное, но делает и еще много лишнего.. :-)
gormih написал(а): В
Что например?
_SerEga_ написал(а): gormih
1) Сборка ядра через genkernel мне сразу не понравилась - во первых это намного дольше.
2) Во вторых, как мне сказал один продвинутый гентушник - "для подстраховки" добавляет лишние модули. Типа, "чтобы уж точно все работало" :-)
Не могу сказать, что я сам много лишнего не добавил... Но процесс сборки ядра, компоненты которого ты выбрал сам ручками гораздо более захватывающий, нежели "на автомате"... особенно, когда вот не работает, не работает... потом бац и "вуаля" :-))
1) время зависит от
1) время зависит от включенных модулей
2) Генкернел добавляет только необходимое для initrd и т.е. почти ничего
на автомате=используешь и вручную=сам конфигуришь ядро. оба способа возможны как с genkernel так и без него.