Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: Drakula в Dec 16, 2006, 19:58



Титла: Автоматично зареждане на модули в gentoo
Публикувано от: Drakula в Dec 16, 2006, 19:58
Здравейте,

Имам един тв тунер, за който са необходими 2 модула - cx88xx и cx8800. Първия от двата трябва да се зареди с параметър card=6.

Във файла /etc/modules.autoload.d/kernel-2.6 има:
Цитат
# /etc/modules.autoload.d/kernel-2.6:  kernel modules to load when system boots.
#
# Note that this file is for 2.6 kernels.
#
# Add the names of modules that you'd like to load when the system
# starts into this file, one per line.  Comments begin with # and
# are ignored.  Read man modules.autoload for additional details.

# For example:
# aic7xxx
# 3c59x
cx88xx  card=6
cx8800
fuse


Въпреки това при стартиране на системата в dmesg намирам съобщение за липсващ параметър card и респективно тунера не работи. Когато разкарам модулите с rmmod и ги заредя наново с
Примерен код
modprobe cx88xx card=6
modprobe cx8800

проблемът се решава.

В man modules.autoload пише:
Цитат
Arguments can be given on the same line as the module name.

Да, ама... не става. Да не би символа "=" да прави проблеми за зареждащия скрипт? Ако да, с какво трябва да се замести?

Преди време с така конфигуриран /etc/modules.autoload.d/kernel-2.6 всичко работеше и изведнъж престана. Като бързо решение на проблема тогава в /etc/conf.d/local.start вкарах
Примерен код
/sbin/modprobe cx88xx card=6
/sbin/modprobe cx8800


обаче вече и това не върви (което е много странно).

Дистрибуцията е Gentoo, update-вана преди 2-3 седмици, ядро 2.6.18.


Титла: Автоматично зареждане на модули в gentoo
Публикувано от: NikDaPhreak в Dec 17, 2006, 12:18
moin,
опитай с
options cx88xx card=6
в /etc/modprobe.conf
Освен това може да се заиграеш и да зареждаш 88хх като изискване за зареждането на 8800. Разгледай man modprobe.conf за повече информация и идеи в тази посока.


Титла: Автоматично зареждане на модули в gentoo
Публикувано от: SRG в Dec 17, 2006, 13:54
В Gentoo мисля,че правилното изпълнение би трябвало да е:

1.В /etc/modules.autoload.d/kernel-2.6
Примерен код

#/etc/modules.autoload.d/kernel-2.6:  kernel modules to load when system boots.
#
# Note that this file is for 2.6 kernels.
#
# Add the names of modules that you'd like to load when the system
# starts into this file, one per line.  Comments begin with # and
# are ignored.  Read man modules.autoload for additional details.

# For example:
# aic7xxx
# 3c59x
cx88xx
cx8800
fuse


2.Създава се файл cx88xx в /etc/modules.d със съдържание:
Примерен код

options cx88xx card=6


По принцип в линукс доста неща могат да се направят по няколко начина и всичките работещи,но само един от тях е правилния.Кофти е,че в почти всяка дистрибция подобни неща са реализирани по различни начини и ако трябва да говорим конкретно за Gentoo примера горе е как става това в тази дистрибуция.


Титла: Автоматично зареждане на модули в gentoo
Публикувано от: Drakula в Dec 18, 2006, 00:44
@SRG
Направих каквото беше предложил, ама ефект никакъв. Т.е. същите съобщения в dmesg. Този подход описан ли е някъде по документацията/форумите на Gentoo? Може аз да не правя нещо както трябва. :huh:

@NikDaPhreak
Редактирах modprobe.conf като добавих "options cx88xx card=6" и работи. Благодарско за съвета!  :ok:

И все пак, защо задаването на параметрите в /etc/modules.autoload.d/kernel-2.6 не работи? Все пак това е "native" Gentoo начина...


Титла: Автоматично зареждане на модули в gentoo
Публикувано от: SRG в Dec 18, 2006, 08:17
За съжаление в Gentoo човек може доста неща да не направи както трябва,а и това нещо го няма описано по документациите,но от личен опит смея да го твърдя,че е така.Не знам какво си инсталирал на твоята машина,но при мен примерно на лаптопа като сложа ipw3945,alsa,nvidia,etc. и при един поглед по файловете в директория /etc/modules.d се вижда ,че при нужда там се задават необходимите параметри към модулите.Аз се учудвам и от това,че udev не ти хваща тунера и съответно не се опитва да зареди макар и грешен модул  :huh: Ти hotplug сложил ли си?


Титла: Автоматично зареждане на модули в gentoo
Публикувано от: Drakula в Dec 21, 2006, 00:05
Цитат (SRG @ Дек. 18 2006,08:17)
Ти hotplug сложил ли си?

Ами има...
Примерен код
$ emerge --search hotplug
Searching...
[ Results for search key : hotplug ]
[ Applications found : 2 ]

*  sys-apps/hotplug
      Latest version available: 20040923-r2
      Latest version installed: 20040923-r2
      Size of files: 43 kB
      Homepage:      http://linux-hotplug.sourceforge.net
      Description:   USB and PCI hotplug scripts
      License:       GPL-2

*  sys-apps/hotplug-base
      Latest version available: 20040401
      Latest version installed: 20040401
      Size of files: 40 kB
      Homepage:      http://linux-hotplug.sourceforge.net
      Description:   Base Hotplug framework
      License:       GPL-2


Има ли връзка с проблема?


Титла: Автоматично зареждане на модули в gentoo
Публикувано от: buboleck в Dec 21, 2006, 04:18
Съвсем правилно си си описал зареждането на модулите... Проблема е в udev по-точно версия >sys-fs/udev-089-r1 прецаква хотплъг, като зарежда модулите автоматично (с параметри по подразбиране) и не отчита каквото има в /etc/modules.autoload.d/kernel.2.x. И аз имах проблем с тунера заради това. Реших го като маскирах >sys-fs/udev-089-r1.