[devel] Сборка модулей ядра "для чайников"

Вячеслав Вячеслав
Пт Дек 5 01:08:05 MSK 2003


В Срд, 03.12.2003, в 12:45, Sergey Vlasov пишет:
> On Wed, Dec 03, 2003 at 12:56:32AM +0300, Вячеслав Диконов wrote:
> > В Втр, 02.12.2003, в 11:19, Andrey Rahmatullin пишет: 
> > > On Tue, Dec 02, 2003 at 10:49:21AM +0300, Вячеслав Диконов wrote:
> > > > Как в текущем Сизифе гарантированно получить сконфигурированные
> > > > исходники установленного ядра, если я его ставлю из пакета (std-up)?
> > > > Cборка siemens-dvb требует исходник именно используемого системой ядра и
> > > > именно с теми настройками, что применялись во время его сборки.
> > > 
> > > apt-get install kernel-headers
> > Нет.
> > > По идее ему должно хватить.
> > Не хватает. По инструкции положено иметь полный и скофигурированный
> > исходник работающего ядра. По крайней мере без make dep ничего не
> > выходит. Если просто распаковать ядро, настроить самостоятельно и
> > сделать "make dep", то соберётся, но в установленное из пакета ядро не
> > загрузится. Если поставить kernel-headers-modules-std-up-2.4.22-alt12,
> > то компиляция драйвера не проходит с жалобами на синтаксис (?).

> > saa7146_core.c:349: warning: missing braces around initializer
> > saa7146_core.c:349: warning: (near initialization for
> > `saa7146_algo.name')
> > saa7146_core.c:349: warning: overflow in implicit constant conversion
> > saa7146_core.c:350: warning: initialization makes integer from pointer
> > without a cast
> > saa7146_core.c:350: initializer element is not computable at load time
> > saa7146_core.c:350: (near initialization for `saa7146_algo.name[1]')
> 
> Там используется i2c?  Тогда этот драйвер нужно патчить для
> совместимости с i2c-2.8.x (в этой версии сменился API).
Да. Но модифицировать его не надо, поскольку он собирается вручную и
работает у меня нормально. Проблема эта выскакивает лишь в том случае,
если я пытаюсь подсунуть сборке содержимое kernel-headers-modules.
Я не представляю как это можно упаковать.

Возможно надо установить исходники ядра, получить конфигурацию ядра
std-up, aw и т.п. (КАК?), сделать make dep, собрать драйвер. Драйвер
хочет исходник в /lib/modules/kernel-xxx/build. При установке модулей
надо модифицировать /etc/modules.conf, иначе будет трудно их загрузить.

В общем мне вырисовывается следующая схема (пока только для ТВ):
kernel-modules-dvb
kernel-modules-dvb-devel (его заголовки нужны для сборки vdr и т.п.)
dvb-utils ("пользовательская" часть драйвера)
vdr (программный приёмник-декодер-цифровой видеомагнитофон)
vdr-sc
vdr-scanner
vdr-clock
vdr-mplayer
vdr-xine
vdr-games
...
vdr-full
xawtv (как альтернативный телевизору интерфейс к vdr)





Подробная информация о списке рассылки Devel