Прошу помочь. Вопрос должно быть распространенный, но ответа толкового найти не могу. Хочу поставить два драйвера под Red Hat 9.0, на звуковую плату(SoundMAX встроенная в маму) и для сетевой платы(Marvell встроенная), скачал дрова с сайта асуса, но дальше проблема, а именно как я понимаю необходимо при помощи утилиты insmod подключить модули к ядру, указав соответствующие параметры железа, а затем перекомпилировать само ядро, но проблема в том, что ни одного файла модуля ядра .о нет, текстовых файлов по теме тоже нет. Пожалуйста помогите, поставьте на верный путь и подскажите что я делаю не так?
>подскажите что я делаю не так?все.
ну разве что кроме скачивания дров с асуса :)
1) перекомпилировать само ядро не надо, по крайней мере для марвел-юкона.
2) сборка (не ядра, а этого самого модуля) делается до insmod'a, а не после
3) для того, чтобы хоть что-то собрать, нужен компилятор и девелоперские пакеты (glibc-devel,...) а также файлы заголовков ядра (kernel-headers). скорее всего у вас ничего из этого не установленопоэтому:
1)
rpm -qa | grep gcc
rpm -qa | grep glibc
rpm -qa | grep kernel-head
недостающее (подскажем по ходу дела) доустановить2) распаковать дрова марвел-юкона. в головной директории запустить:
./configure
make
make install3) depmod -a (хотя, возможно, make install сделает это за вас)
и после этого пытаться делать insmod, а лучше - modprobe.со звуковой, думаю, аналогично...
\^P^/
Во-первых спасибо за отклик. Теперь хотелось бы уточнить пару вещей.
1)Зачем создавать следующие rpm пакеты?
rpm -qa | grep gcc
rpm -qa | grep glibc
rpm -qa | grep kernel-head
2)Что делают следующие команды?
>Во-первых спасибо за отклик. Теперь хотелось бы уточнить пару вещей.
>1)Зачем создавать следующие rpm пакеты?
>rpm -qa | grep gcc
>rpm -qa | grep glibc
>rpm -qa | grep kernel-head
>
>2)Что делают следующие команды?они ничего не создают, только показывают есть ли в системе эти пакте: man rpm
распакуй скаченное. Там д.б. файлик INSTALL или README - следуй инструкциям
Там ни INSTALL или README нет. Сделал сказанное. ./configure скрипт выполнился, вроде запустил компилятор C и сделал исполняемый файл, вопрос в том какой должен быть результат и как его проверить? Потому что в результате make и make install я думал будет создан в этой директории модуль .о, но его нет.
>Там ни INSTALL или README нет. Сделал сказанное. ./configure скрипт выполнился, вроде
>запустил компилятор C и сделал исполняемый файл, вопрос в том какой
>должен быть результат и как его проверить? Потому что в результате
>make и make install я думал будет создан в этой директории
>модуль .о, но его нет.6) не пропускай "не прелюбодействуй" :)
1й пункт выполнен не был. запусти указанные rpm -qa | grep ... и скопипасти их ответ сюда.
\^P^/
Прошу прощения за спешку. Вот выкладываю результат rpm
[root@localhost alsa-driver-0.9.6]# rpm -qa | grep gcc
gcc-g77-3.2.2-5
gcc-java-3.2.2-5
libgcc-3.2.2-5
compat-gcc-7.3-2.96.118
gcc-3.2.2-5
gcc-gnat-3.2.2-5
compat-gcc-c++-7.3-2.96.118
gcc-c++-3.2.2-5
[root@localhost alsa-driver-0.9.6]# rpm -qa | grep glibc
glibc-devel-2.3.2-11.9
glibc-common-2.3.2-11.9
glibc-2.3.2-11.9
glibc-kernheaders-2.4-8.10
[root@localhost alsa-driver-0.9.6]# rpm -qa | grep kernel-head
хм. вродк все есть. дальше... чем еончилось дело? появился ли после
./configure
файлик Makefile ?
Да makefile есть. Просто интересно как проверить результат ./configure? Кстати вот результат команды[root@localhost alsa-driver-0.9.6]# ./configure
checking for gcc... gcc
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for executable suffix...
checking for object suffix... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for ranlib... ranlib
checking for a BSD compatible install... /usr/bin/install -c
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for gcc option to accept ANSI C... none needed
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking whether time.h and sys/time.h may both be included... yes
checking whether gcc needs -traditional... no
checking for current directory... /mnt/E/programs/Distributiv/drivers_p5/????_Linux/alsa-driver-0.9.6
checking cross compile...
checking for directory with kernel source... /lib/modules/2.4.20-8smp/build
checking for kernel version... 2.4.20-8smp
checking for GCC version... Kernel compiler: Used compiler: gcc (GCC) 3.2.2 20030222 (Red Hat Linux 3.2.2-5)*** NO PREDEFINED KERNEL COMPILER IS DETECTED
*** Assuming the same compiler is used with the current system compiler.*** Please make sure that the same compiler version was used for building kernel.
checking for kernel linux/compiler.h... "yes"
checking for kernel linux/pm.h... "yes"
checking for kernel linux/spinlock.h... "yes"
checking for kernel linux/irq.h... "yes"
checking for kernel linux/threads.h... "yes"
checking for kernel linux/rwsem.h... "yes"
checking for kernel linux/gameport.h... "yes"
checking for kernel linux/devfs_fs_kernel.h... "yes"
checking for kernel linux/highmem.h... "yes"
checking for kernel linux/workqueue.h... "yes"
checking for redhat kernel... "no"
./configure: line 3151: test: =: unary operator expected
checking for kernel asm/hw_irq.h... "yes"
checking for kernel linux/jiffies.h... "no"
checking for kernel linux/compat.h... "no"
checking for kernel linux/adb.h... "yes"
checking for kernel linux/cuda.h... "yes"
checking for kernel linux/pmu.h... "yes"
checking for kernel module symbol versions... "yes"
checking for PCI support in kernel... "yes"
checking for SGI/MIPS (HAL2) architecture... "no"
checking for directory to store kernel modules... /lib/modules/2.4.20-8smp/kernel/sound
checking for verbose printk... on
checking for debug level... none
checking for ISA support in kernel... "yes"
checking for processor type... i686
checking for SMP... "yes"
checking for ISA PnP driver in kernel... yes
checking for PnP driver in kernel... no
checking for Kernel ISA-PnP support... "yes"
checking for strlcpy... "no"
checking for snprintf... "yes"
checking for vmalloc_to_page... "yes"
checking for old kmod... "yes"
checking for driver version... 0.9.6
checking for sequencer support... yes
checking for OSS/Free emulation... yes
checking for RTC callback support in kernel... "no"
checking for USB support... "no"
checking for USB module support... "yes"
checking for kernel PCMCIA
checking for PCMCIA support... "no"
checking for PCMCIA module support... "yes"
checking for PC9800 support in kernel... "no"
checking for which soundcards to compile driver for... all
configure: creating ./config.status
config.status: creating version
config.status: creating Makefile.conf
config.status: creating snddevices
config.status: creating utils/alsa-driver.spec
config.status: creating utils/buildrpm
config.status: creating toplevel.config
config.status: creating include/config.h
config.status: include/config.h is unchanged
config.status: creating include/config1.h
config.status: include/config1.h is unchanged
config.status: creating include/version.h
config.status: include/version.h is unchanged
Вроде прошло создание модулей после make, но на make install есть ошибка в конце. В чем здесь проблема?/sbin/depmod -a 2.4.20-8smp
depmod: *** Unresolved symbols in /lib/modules/2.4.20-8smp/kernel/sound/acore/snd.o
if [ -L /usr/include/sound ]; then \
rm -f /usr/include/sound; \
ln -sf /root/Desktop/alsa-driver-0.9.6/include/sound /usr/include/sound; \
else \
rm -rf /usr/include/sound; \
install -d -m 755 -g root -o root /usr/include/sound; \
for f in include/sound/*.h; do \
install -m 644 -g root -o root $f /usr/include/sound; \
done \
fi
if [ -d /sbin/init.d ]; then \
install -m 755 -g root -o root utils/alsasound /sbin/init.d/alsasound; \
elif [ -d /etc/rc.d/init.d ]; then \
install -m 755 -g root -o root utils/alsasound /etc/rc.d/init.d/alsasound; \
elif [ -d /etc/init.d ]; then \
install -m 755 -g root -o root utils/alsasound /etc/init.d/alsasound; \
fi
cat WARNING
cat: WARNING: No such file or directory
make: *** [install] Error 1
Подскажите как можно теперь проверить правильность создания модулей и как проверить все-ли модули созданы?
>Подскажите как можно теперь проверить правильность создания модулей и как проверить все-ли
>модули созданы?я так понимаю, make install запускался стоя в этой директории
/root/Desktop/alsa-driver-0.9.6
?
и судя по всему, распаковывал в "графическом режиме" прямо на рабочий стол...
ай-яяй... как нехорошо запускать десктопсервисы от рута.. особенно когда не понимаешь, чем именно это грозитну да ладно. стоя там же:
find . -name \*.oпотом, если файл найдется:
find /lib/modules/2.4.20 -name {тут_то_что_найдено}\^P^/
>потом, если файл найдется:
>find /lib/modules/2.4.20 -name {тут_то_что_найдено}пардон, /lib/modules/2.4.20-8smp у тебя там
\^P^/
>>потом, если файл найдется:
>>find /lib/modules/2.4.20 -name {тут_то_что_найдено}
>
>пардон, /lib/modules/2.4.20-8smp у тебя тамЗначит ситуация такая. Это я все ставил звуковую плату. Модули находятся и в инстоляторе, и в модулях ядра, их очень много. Звуковая определена, но как только жму тест, пишет, что драйвер возможно не совместим с данной операционкой, хотя качал с асуса все как надо. Где можно пошарить нормальные дрова под эту звуковую?
Хочу теперь попробывать поставить сетевую, но там дрова выглядят для меня очень странно, потому что там только один файл с описанием и дальше дрова для Solaris, но чего-то похожего на дрова как для звуковой нет. Где можно взять дрова?
Где можно посмотреть настройки по аппаратной части прерывание, порты вв/выв?
perece ты извини за назоиливость, но все таки хочется это дело добить. Короче звуковая ругается, а вот в патче для сетевой написано, что нужно ставить драйвер sk98lin. Все нормально он есть, его поставил, но когда выбираю его в настройках сетевой, ругается мол не могу выполнить insmod из-за неверного прерывания(irq) в винде она висит на 22 irq, а здесь modprobe выдает ошибку с этим прерыванием. Как быть, в чем проблема, почему под линукс так с трудом идут дрова?
>perece ты извини за назоиливость, но все таки хочется это дело добить.
>Короче звуковая ругается, а вот в патче для сетевой написано, что
>нужно ставить драйвер sk98lin. Все нормально он есть, его поставил, но
>когда выбираю его в настройках сетевой, ругается мол не могу выполнить
>insmod из-за неверного прерывания(irq) в винде она висит на 22 irq,
>а здесь modprobe выдает ошибку с этим прерыванием. Как быть, в
>чем проблема, почему под линукс так с трудом идут дрова?Зачем тебе в эти дебри лезть? Линух не такой страшный как кажется:)
Ты дрова для solaris ставил?
Если ты установил правильный драйвер: далее -
depmod -a
kudzu(PS. я этих sk98lin уже десяток на разные машины поставил (like-redhat. С прерываниями никаких проблем не бывало.)