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

Sergey Vlasov =?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Пт Дек 5 10:04:38 MSK 2003


On Fri, Dec 05, 2003 at 01:08:05AM +0300, Вячеслав Диконов wrote:
> В Срд, 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, собрать драйвер.

Это будет фактически кусок сборки kernel-image-* - причём нужно не
просто взять исходник ядра, но и применить к нему все те патчи,
которые использовались при сборке соответствующего kernel-image-*.

> Драйвер хочет исходник в /lib/modules/kernel-xxx/build.

Вот там он явно ничего не получит из-за прав на /lib/modules.

> При установке модулей надо модифицировать /etc/modules.conf, иначе
> будет трудно их загрузить.

На это есть /etc/modutils.d (только файлы туда будет класть dvb-utils,
поскольку пакетов kernel-modules-dvb-* может быть установлено
несколько - для разных сборок ядра).

Где можно взять этот драйвер?  Я посмотрю, что там можно допилить для
его сборки.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20031205/cb0103bd/attachment-0001.bin>


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