LINUX.ORG.RU

Проблемы с ядром FC4


0

0

Процессор Mobile Athlon 64
Установил по умолчанию FC4. Надо перебрать ядро.
1) Не собирается. Пишет, что нет правила для сборки main.o и ещё чего-то. Проблема похоже не у одного меня, но как решить не нашёл
2) При попытке сборки драйвера для WiFI карты выдаёт, что
нет поля slot_name в структуре dev_pci в файле linux/pci.h
Проверял - действительно такого поля нет. В ядре FC3 такое поле есть и драйвер собирается и работает нормально.

Что делать?

anonymous

>Установил по умолчанию FC4. Надо перебрать ядро.

А надо ли? ;-)

>1) Не собирается. Пишет, что нет правила для сборки main.o и ещё чего-то. Проблема похоже не у одного меня, но как решить не нашёл

А как ты его собираешь? Оно не может не собираться - иначе не получился бы rpm, который у тебя установлен.

>2) При попытке сборки драйвера для WiFI карты выдаёт, что нет поля slot_name в структуре dev_pci в файле linux/pci.h

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

alt-x ★★★★★
()
Ответ на: комментарий от alt-x

Перебрать надо :)

Собирал как обычно
поставил из rpm: kernel-devel, kernel.src (хотя .src вроде даже и не надо)

make menuconfig
make

Читал, что не собирается из-за того, что в дистрибутиве некое "vanilla" ядро. Но что в связи с этим делать, не очень понятно.


В драйвере поле используется при выдаче вот таких сообщений об ошибке:

DMESG("%s: region #0 not a PIO resource, aborting",
pdev->slot_name);

DMESG("%s: region #1 not a MMIO resource, aborting",
pdev->slot_name);

Не знаю, насколько они важны, но как-то странно...

anonymous
()

1) rm linux/include/asm; ln -s linux/include/asm-x85_64 linux/include/asm

Так должно решиться.

2) Это в 2.6.12 выкинули slot_name, откатывайся на 2.6.11 или патчи драйвер.

SK
()
Ответ на: комментарий от anonymous

>Перебрать надо :)

А зачем? Мне за последние три года перебирать ядро целиком было надо только то время, что я уже сидел на федоре, но упорно пользовался веткой 2.4, поскольку дрова для моего adsl модема глючили нипадеццки под 2.6. Если тебе нужны только доп модули - собирай только их.

>Собирал как обычно поставил из rpm: kernel-devel, kernel.src (хотя .src вроде даже и не надо)

make menuconfig make

В каком каталоге ты это делал? Эти пакеты ставятся в разные места, причем kernel.src.rpm - не нужен, если ты не собираешь rpm. Если хочешь rpm, надо собирать посредством rpmbuild и будет это несколько сложнее, если тебе нужны свои патчи. Кстати, до make рекомендуется еще make dep делать.

>Читал, что не собирается из-за того, что в дистрибутиве некое "vanilla" ядро. Но что в связи с этим делать, не очень понятно.

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

>DMESG("%s: region #0 not a PIO resource, aborting", pdev->slot_name);

Это - отладочная информация. Можешь смело выкидывать.

alt-x ★★★★★
()
Ответ на: комментарий от SK

с драйверами для WiFi разобрался, даже заработал
А вот с ядром никак
замена ссылки asm ничего не дала
обновил up2dateом ядро до 2.6.12 эффект тот же
вот что конкретно выдаёт:

[root@core-m 2.6.12-1.1398_FC4-i686]# make
CHK include/linux/version.h
CHK include/asm-i386/asm_offsets.h
make[1]: *** No rule to make target `init/main.o', needed by `init/built-in.o'. Stop.
make: *** [init] Error 2
[root@core-m 2.6.12-1.1398_FC4-i686]#

anonymous
()
Ответ на: комментарий от jackill

Точно. Я и забыл. Они же в devel вынесли только хедеры, а пакета kernel-source они больше не собирают. Кстати, если много раз ядро пересобирать, можно последущие разы делать это в /usr/src/redhat/BUILD/kernel..., так быстрее получится.

alt-x ★★★★★
()
Ответ на: комментарий от jackill

Уже откатаный - да. А так, на каждый эксперимент создавать патчи... Но, если не лень, то конечно.

alt-x ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.