Ivanovo Linux Users Group - Not logged in
Forum Help Search Login
Previous Next Up Topic Программирование / Ядро / сборка не ядра а модулей (32578 hits)
- By Bercut Date 25.12.06 12:46
мне тут пригорело собрать модуль для девайса
приэтом не хочется собирать ядро и модули занова

посмотрел пач с дровоми там тупо добавляется пару файлов
и потом они компилятся со всем остальным добром заново тока строчка в .config добавляется
нельзя ли его (их) отдельно скомпилить и проинсталить а то както ломает даже модули пересобирать
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent - By LOE (Site/forum admin) Date 29.12.06 23:12
Можно

1. Патчим ядро (если модуль добавляется патчем)
2. make menuconfig -> активируем модуль
3. make modules (и внимательно смотрим - а не перекомпилировались ли еще какие-то модули)
4a. если откомпилился только нужный модуль, то копируем его модуль.ko в нужный подкаталог в /lib
4b. если еще что-то затронулось - копируем и это. Или делаем make modules_install (чтоб все модули обновить)
5. запускаем depmod
6. подгружаем модуль modprobe модуль

Всё это при условии, что в /usr/src лежат исходники и объектники текущего реально работающего ядра.
Если работает другое ядро (не вручную откомпилированное), то надо полностью компилить и ядро, и модули.
Однако, если совпадают версии работающего ядра и откомпилированное (только что) из исходников, то достаточно выполнить пункт 4a и скопировать только новый модуль.
Перезагрузки не должно потребоваться (если новый модуль не трогает других внутренних структур)
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By Bercut Date 09.01.07 08:26
однако а откуда make знает какой модуль компилить а какой уже по его мнению закомпилен?
но всеже спасиба буду грызть дальше
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent - By LOE (Site/forum admin) Date 10.01.07 09:45
Если (_если_) в наличии исходники плюс результат предыдущей компиляции ядра, то make знает, что необходимо перекомпилировать.
Собственно, make и создан для того, чтобы облегчить процедуру компиляции. make умеет проверять зависимости и перекомпилировать только то, что необходимо.
А вот когда необходимо всё скомпилировать с нуля, то предварительно надо отдать команду make clean

PS. такая работа make осуществляется при наличии грамотно составленного Makefile файла. Разумеется, в исходниках ядра всё уже создано.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By Bercut Date 10.01.07 10:17
вобщем не вышло

ну я решил х. с ним занова перекомпилю всё равно изменилось много весьма

ну и вот ядро компильнулось

а модули собаки
компилили компилились а потом и вот так

In file included from drivers/media/common/saa7146_i2c.c:2:
include/media/saa7146_vv.h:187: warning: "struct video_device" declared inside parameter list
include/media/saa7146_vv.h:187: warning: its scope is only this definition or declaration, which is probably not what you want
include/media/saa7146_vv.h:188: warning: "struct video_device" declared inside parameter list
drivers/media/common/saa7146_i2c.c:397: error: unknown field `name' specified in initializer
drivers/media/common/saa7146_i2c.c:397: warning: initialization from incompatible pointer type
drivers/media/common/saa7146_i2c.c:398: error: unknown field `id' specified in initializer
drivers/media/common/saa7146_i2c.c:398: error: `I2C_ALGO_SAA7146' undeclared here (not in a function)
drivers/media/common/saa7146_i2c.c:398: error: initializer element is not constant
drivers/media/common/saa7146_i2c.c:398: error: (near initialization for `saa7146_algo.smbus_xfer')
drivers/media/common/saa7146_i2c.c: In function `saa7146_i2c_adapter_prepare':
drivers/media/common/saa7146_i2c.c:428: error: `I2C_ADAP_CLASS_TV_ANALOG' undeclared (first use in this function)
drivers/media/common/saa7146_i2c.c:428: error: (Each undeclared identifier is reported only once
drivers/media/common/saa7146_i2c.c:428: error: for each function it appears in.)
make[3]: *** [drivers/media/common/saa7146_i2c.o] Error 1
make[2]: *** [drivers/media/common] Error 2
make[1]: *** [drivers/media] Error 2
make: *** [drivers] Error 2


чё делать куда рыть чё курить
ой мама роди меня обратно
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent - By LOE (Site/forum admin) Date 10.01.07 14:33
I2C при конфигурировании ядра включил?
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By Bercut Date 11.01.07 06:21
ну ясен перец иначе оно и не далобы то что надо включать

#
# I2C support
#
CONFIG_I2C=y
CONFIG_I2C_CHARDEV=m

#
# I2C Algorithms
#
CONFIG_I2C_ALGOBIT=y
CONFIG_I2C_ALGOPCF=m
CONFIG_I2C_ALGOPCA=m

#
# I2C Hardware Bus support
#
CONFIG_I2C_ALI1535=m
CONFIG_I2C_ALI1563=m
CONFIG_I2C_ALI15X3=m
CONFIG_I2C_AMD756=m
CONFIG_I2C_AMD756_S4882=m
CONFIG_I2C_AMD8111=m
CONFIG_I2C_ELEKTOR=m
CONFIG_I2C_I801=m
CONFIG_I2C_I810=m
CONFIG_I2C_PIIX4=m
CONFIG_I2C_ISA=m
CONFIG_I2C_NFORCE2=m
# CONFIG_I2C_OCORES is not set
CONFIG_I2C_PARPORT=m
CONFIG_I2C_PARPORT_LIGHT=m
CONFIG_I2C_PROSAVAGE=m
CONFIG_I2C_SAVAGE4=m
CONFIG_SCx200_I2C=m
CONFIG_SCx200_I2C_SCL=12
CONFIG_SCx200_I2C_SDA=13
CONFIG_SCx200_ACB=m
CONFIG_I2C_SIS5595=m
CONFIG_I2C_SIS630=m
CONFIG_I2C_SIS96X=m
CONFIG_I2C_STUB=m
CONFIG_I2C_VIA=m
CONFIG_I2C_VIAPRO=m
CONFIG_I2C_VOODOO3=m
CONFIG_I2C_PCA_ISA=m

#
# Miscellaneous I2C Chip support
#
CONFIG_SENSORS_DS1337=m
CONFIG_SENSORS_DS1374=m
CONFIG_SENSORS_EEPROM=m
CONFIG_SENSORS_PCF8574=m
CONFIG_SENSORS_PCA9539=m
CONFIG_SENSORS_PCF8591=m
CONFIG_SENSORS_MAX6875=m
# CONFIG_I2C_DEBUG_CORE is not set
# CONFIG_I2C_DEBUG_ALGO is not set
# CONFIG_I2C_DEBUG_BUS is not set
# CONFIG_I2C_DEBUG_CHIP is not set
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent By Bercut Date 11.01.07 09:15
делать то чё теперь как дровато компилить
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent - By LOE (Site/forum admin) Date 11.01.07 18:15
Собираешь ванильное ядро? Значит что-то недовыбрал. Давай ssh на машинку ;-)
На крайняк приаттач сюда свой .config и укажи версию ядра - попробую собрать с твоим конфигом.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By Bercut Date 12.01.07 06:29
ядро 2.6.19
обработаное спомощью
это дрова sky star 2
в ядре их нет а то что есть походу не пашет

Attachment: config.zip (18.2k)
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent By Bercut Date 12.01.07 06:54
блин
приатачил конфиг который был до обработки
но воще собсно после обработки он станет тем кто был у меня
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent - By LOE (Site/forum admin) Date 12.01.07 08:04 Edited 12.01.07 08:07
Читаем страницу http://www.linuxtv.org/downloads/ :
If you have a recent 2.6.x kernel you already have the drivers
and probably only need to download the applications, and maybe
the firmware.

По любому, если патчишь ядро (а патч имеет дату 14-Nov-2004, с тех пор мноооого воды утекло и API  в ядре менялся), то бери более раннее ядро.
В ридми архива говорится
The DVB driver in 2.6.1 and above is regularly  kept  up-to-date,
so  it's   possible  that it's even newer than the latest release
tarball.
Начинай эксперименты с ядра 2.6.1 или на худой конец 2.6.16
Если драйвер включен в ядро, используй его. То, что он "не работает" может зависеть только от твоих рук.

Кстати, на download странице есть каталог patches_to_2.6.20
Если так хочешь экстрима, то бери патчи из этого каталога и ядро 2.6.20, барабан на шею, флаг в руки и вперед на баррикады! ;-)
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By Bercut Date 12.01.07 09:31
а при чем тут экстрим 2.6.19 вроде стабильное а 20 вроде в rc шках бегает

а то что дрова не работают дык это и без меня пишут
хотя про более ранние
а так сижу мучаю родные ядерные дрова
но чет не видно резултата
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent By LOE (Site/forum admin) Date 12.01.07 14:06
Именно при том, что ядро 2.6.20 еще не вышло.

А по теме, если разработчики дров говорят, что они работают, то значит работают. Да, может быть в _их_ конфигурации.
Но если работают, то используй ту-же конфигурацию. В частности, ту-же версию ядра. Гнаться за цифирьками в версии ядра совершенно не следует.
"No! Try not! Do. Or do not. There is no try." -- Yoda
Parent - By Bercut Date 10.01.07 10:31
и кстати откуда menuconfig знает какиее компонетты есть каких нет какие могут модулями а какие не могут и вконце концов откуда хелпы берутся
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Parent By Bercut Date 10.01.07 10:39
кажись сам понял
в kconfig
русский язык подобен искуству кун-фу, и великий мастер никогда не применит его без необходимости...
Previous Next Up Topic Программирование / Ядро / сборка не ядра а модулей (32578 hits)

Powered by mwForum 2.12.0 © 1999-2007 Markus Wichitill

Page created in 0.082s with 10 database queries.