[d-kernel] rtlinux package

Sergey Vlasov vsu at altlinux.ru
Thu Jan 1 12:49:17 MSK 2004


On Thu, Jan 01, 2004 at 12:09:49PM +0300, Evgeny Sinelnikov wrote:
> Есть готовое решение в плане реализации пакета RTLinux.
> Задержка связана с крайней нестабильностью ядра rtlinux c определённым набором
> патчей (тех, что изменяют содержимое include/asm-i386/), а также с некоторыми
> "опциями" ядра (APM, ACPI, Kernel hacking features). Но даже это не было
> главным препятствием. На текущий момент выяснилась причина, весьма странная,
> многих нестабильностей на моей машине. Оказалось, что проблема была в выборе
> процессора для при сборке ядра. i586 ядра на моём P4 (1.4GHz) падают при
> загрузке модулей rtlinux (а именно, rtl.o), хотя ядра, с той же конфигурацией,
> но для P4 идут:
[ужасы skip]

Похоже, где-то что-то портится в памяти.  Возможно, причина в том, что
где-то происходит переполнение буфера, но при сборке для P4 из-за
большего значения CONFIG_X86_L1_CACHE_SHIFT (7, вместо 5 для 586) эти
данные попадают в неиспользуемые области для выравнивания, поэтому
ошибка остаётся незамеченной.

Можно попробовать собрать ядро с CONFIG_DEBUG_SLAB (Debug memory
allocations) и посмотреть, что будет - возможно, ошибка при этом будет
отловлена ближе к месту её возникновения.

> Меня интересует вопрос по поводу размещения модулей и библиотек
> rtlinux (для каждого из ядер они свои).
> Текущее разделение на пакеты следущее:
> 1) стандартное ядро с дополнительным патчем: kernel-feat-rtl-2003.10.28-alt1.src.rpm
> 2) модули kernel-rtlinux-2.4.22-rtl-up-3.2-alt1 (может быть стоит kernel-modules-rtlinux-2.4.22-rtl-up-3.2-alt1 ):

Вообще-то при нашей системе сборки это будет
kernel-modules-rtlinux-rtl-up-3.2-alt1.1 (это если собирать
автоматизированно из CVS - в release добавляется номер сборки ядра).
Версия ядра там не нужна - при смене ядра придётся увеличить первую
часть release.

> Name        : kernel-rtlinux-2.4.22-rtl-up  Relocations: (not relocateable)
> Version     : 3.2                               Vendor: ALT Linux Team
> Release     : alt1                          Build Date: Вск 14 Дек 2003 03:22:29
> Install date: (not installed)               Build Host: localhost.localdomain
> Group       : Система/Ядро и оборудование   Source RPM: kernel-rtlinux-2.4.22-rtl-up-3.2-alt1.src.rpm
> Size        : 2310621                          License: GPL
> Packager    : Evgeny Sinelnikov <sin at altlinux.ru>
> URL         : http://www.rlinux-gpl.org/
> Summary     : Modules for the RTLinux kernel
> Description :
> This package contains the RTLinux modules that is used to
> extension your system with hard real time scheduler. Also it contains
> few specific real time modules and libraries like rtl_fifo.
> /lib/modules/2.4.22-rtl-up-alt12/misc 272 1071361292  040755 root root 0 0 0 X
> /lib/modules/2.4.22-rtl-up-alt12/misc/mbuff.o 48 1071361291  0120777 root root 0 0 0 /usr/rtlinux-2.4.22-rtl-up-alt12/modules/mbuff.o
> /lib/modules/2.4.22-rtl-up-alt12/misc/psc.o 46 1071361291  0120777 root root 0 0 0 /usr/rtlinux-2.4.22-rtl-up-alt12/modules/psc.o
> /lib/modules/2.4.22-rtl-up-alt12/misc/rtl.o 46 1071361291  0120777 root root 0 0 0 /usr/rtlinux-2.4.22-rtl-up-alt12/modules/rtl.o
> /lib/modules/2.4.22-rtl-up-alt12/misc/rtl_fifo.o 51 1071361291  0120777 root root 0 0 0 /usr/rtlinux-2.4.22-rtl-up-alt12/modules/rtl_fifo.o
> /lib/modules/2.4.22-rtl-up-alt12/misc/rtl_posixio.o 54 1071361291  0120777 root root 0 0 0 /usr/rtlinux-2.4.22-rtl-up-alt12/modules/rtl_posixio.o
> /lib/modules/2.4.22-rtl-up-alt12/misc/rtl_sched.o 52 1071361291  0120777 root root 0 0 0 /usr/rtlinux-2.4.22-rtl-up-alt12/modules/rtl_sched.o
> /lib/modules/2.4.22-rtl-up-alt12/misc/rtl_time.o 51 1071361292  0120777 root root 0 0 0 /usr/rtlinux-2.4.22-rtl-up-alt12/modules/rtl_time.o
> /lib/modules/2.4.22-rtl-up-alt12/misc/rtsock.o 49 1071361292  0120777 root root 0 0 0 /usr/rtlinux-2.4.22-rtl-up-alt12/modules/rtsock.o
> /usr/rtlinux-2.4.22-rtl-up-alt12/bin 104 1071361324  040755 root root 0 0 0 X
> /usr/rtlinux-2.4.22-rtl-up-alt12/bin/rtl-config 6329 1071361324 bb47120e4b44f0a08f52f464aa85f3ea 0100755 root root 0 0 0 X
> /usr/rtlinux-2.4.22-rtl-up-alt12/bin/rtlinux 24 1071361324  0120777 root root 0 0 0 /etc/rc.d/init.d/rtlinux
> /usr/rtlinux-2.4.22-rtl-up-alt12/modules 272 1071361292  040755 root root 0 0 0 X
> /usr/rtlinux-2.4.22-rtl-up-alt12/modules/mbuff.o 275582 1071361291 2dd35d3a7d4aced05c2108390f2d0a48 0100644 root root 0 0 0 X
> /usr/rtlinux-2.4.22-rtl-up-alt12/modules/psc.o 256796 1071361291 f5fb3bbf5d830069848912dabd939e87 0100644 root root 0 0 0 X
> /usr/rtlinux-2.4.22-rtl-up-alt12/modules/rtl.o 256338 1071361291 b0fbdbb35c47c6571beaef9ab737539a 0100644 root root 0 0 0 X
> /usr/rtlinux-2.4.22-rtl-up-alt12/modules/rtl_fifo.o 252000 1071361291 1977e83a58716c1cf6c9365f490d08c0 0100644 root root 0 0 0 X
> /usr/rtlinux-2.4.22-rtl-up-alt12/modules/rtl_posixio.o 244268 1071361291 15f84f66fbf75f136906520c3c605b03 0100644 root root 0 0 0 X
> /usr/rtlinux-2.4.22-rtl-up-alt12/modules/rtl_sched.o 414841 1071361291 65acbd6bdd7f0e906a497fdd772a8993 0100644 root root 0 0 0 X
> /usr/rtlinux-2.4.22-rtl-up-alt12/modules/rtl_time.o 240579 1071361291 a7617fa50e2a33f08e0ae3088fbfbeb0 0100644 root root 0 0 0 X
> /usr/rtlinux-2.4.22-rtl-up-alt12/modules/rtsock.o 363888 1071361292 53bc12c12ea03e435e9e4c5f74d6c7ca 0100644 root root 0 0 0 X
> 
> Здесь модули лежат /usr/rtlinux-2.4.22-rtl-up-alt12/modules/, как это сделано
> в при стандартной установке. Кроме того этот пакет требует
> kernel-rtlinux-common-3.2-alt1, который содержит общие файлы для данной версии
> rtlinux,а также скрипты, поправляющие ссылку /usr/rtlinux для текущего ядра,
> подобно kheaders-common.

Опять это не лезет в FHS :(

И обязательно ли класть модули в /usr?  Если уж скрипты так хотят их
там видеть, почему бы не сделать наоборот - реальные файлы в
/lib/modules, а в /usr/... - ссылки на них?

> 3) kernel-rtlinux-regression-rtl-up-2.4.22-3.2-alt1
> пакет минимального тестирования (лежит в /usr/rtlinux-2.4.22-rtl-up-alt12/regression)
> 4) kernel-rtlinux-devel-rtl-up-2.4.22-3.2-alt1
> пакет для разработки (лежит в /usr/rtlinux-2.4.22-rtl-up-alt12/{include,lib})

Если эти файлы действительно привязаны к конкретной сборке ядра,
вероятно, пакет должен называться как-то вроде
kernel-headers-rtlinux-rtl-up (см. пример в kernel-modules-v4l-*,
kernel-headers-v4l-*).

> Хотелось бы знать замечания тех, кто, может быть, ожидает этот пакет или
> использует rtlinux.
> Приму во внимание любые предложения.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : /pipermail/devel-kernel/attachments/20040101/c0993310/attachment.bin


More information about the devel-kernel mailing list