Cnet Pro200 и прочие забавы с ядром :-)

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 написал(а):
Причем в make menuconfig их найти через команду "/" не получается...

Куда копать то?

Вот порылся в официальных доках... Скудненько.
Хотелось бы более систематизированно...

gormih написал(а): Куда

gormih написал(а):
Куда копать то?

К сожалению универсальных методов нет и возможно не будет.
Ядро постоянно развивается, появляются новые устройства, новые платформы.
Я считаю это нормальный процесс.

Если встает вопрос: поддерживает ядро что-то экзотическое (старое)? то лезу в исходники /usr/src/linux

Например ваша карточка nVidia MCP 65 может быть найдена последовательным уточнением результатов текстового поиска по части drivers в исходниках ядра

linux # grep -r "MCP" drivers/* | grep net | grep 65
drivers/net/forcedeth.c:	{	/* MCP65 Ethernet Controller */
drivers/net/forcedeth.c:	{	/* MCP65 Ethernet Controller */
drivers/net/forcedeth.c:	{	/* MCP65 Ethernet Controller */
drivers/net/forcedeth.c:	{	/* MCP65 Ethernet Controller */
drivers/net/myri10ge/myri10ge_mcp_gen_header.h:#define MCP_TYPE_PCIE 0x70636965	/* "PCIE" pcie-only MCP */

Ну вот и драйвер нарисовался 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 написал(а): В

gormih написал(а):
В принципе, известно genkernel должен делать что то подобное, но делает и еще много лишнего.. :-)

Что например?

_SerEga_ написал(а): gormih

_SerEga_ написал(а):
gormih написал(а):
В принципе, известно genkernel должен делать что то подобное, но делает и еще много лишнего.. :-)

Что например?

1) Сборка ядра через genkernel мне сразу не понравилась - во первых это намного дольше.
2) Во вторых, как мне сказал один продвинутый гентушник - "для подстраховки" добавляет лишние модули. Типа, "чтобы уж точно все работало" :-)

Не могу сказать, что я сам много лишнего не добавил... Но процесс сборки ядра, компоненты которого ты выбрал сам ручками гораздо более захватывающий, нежели "на автомате"... особенно, когда вот не работает, не работает... потом бац и "вуаля" :-))

1) время зависит от

1) время зависит от включенных модулей
2) Генкернел добавляет только необходимое для initrd и т.е. почти ничего

на автомате=используешь и вручную=сам конфигуришь ядро. оба способа возможны как с genkernel так и без него.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".