[d-kernel] rtlinux package
Evgeny Sinelnikov
sin at altlinux.ru
Thu Jan 1 12:09:49 MSK 2004
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Здравствуйте.
Есть готовое решение в плане реализации пакета RTLinux.
Задержка связана с крайней нестабильностью ядра rtlinux c определённым набором
патчей (тех, что изменяют содержимое include/asm-i386/), а также с некоторыми
"опциями" ядра (APM, ACPI, Kernel hacking features). Но даже это не было
главным препятствием. На текущий момент выяснилась причина, весьма странная,
многих нестабильностей на моей машине. Оказалось, что проблема была в выборе
процессора для при сборке ядра. i586 ядра на моём P4 (1.4GHz) падают при
загрузке модулей rtlinux (а именно, rtl.o), хотя ядра, с той же конфигурацией,
но для P4 идут:
- ------------------------------------------------------------------------
- ------------------------------------------------------------------------
Kernel BUG at page_alloc.c:95!
invalid operand: 0000
ksymoops 2.4.9 on i686 2.4.22-rts3-up-alt13. Options used
-v /usr/src/RPM/BUILD/kernel-image-rts3-up-2.4.22-alt13/kernel-source-2.4.22/vmlinux (specified)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.4.22-rts3-up-alt13/ (default)
-m /boot/System.map-2.4.22-rts3-up-alt13 (default)
Warning (compare_ksyms_lsmod): module reiserfs is in lsmod but not in ksyms, probably no symbols exported
CPU: 0
EIP: 0010:[<c012df04>] Not Tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010248
eax: 00000000 ebx: c1284ff0 ecx: c1284ff0 edx: 00000000
esi: 00000000 edi: 00021000 ebp: ceb755b4 esp: cd951ee4
ds: 0018 es: 0018 ss: 0018
Process insmod (pid: 1475, stackpage=cd951ee4)
Stack: c1284ff0 0d6ff067 00021000 ceb755b4 cd951efc d0d02b96 cd951efc c01088a7
00032000 c1284ff0 0000d6ff 0d6ff067 00021000 c012e855 c012ec7b c1284ff0
c01237a9 c1284ff0 00032000 c0123bc6 0d6ff067 cdd69ec0 cffeb8a0 4014c000
Call Trace: [<d0d02b96>] [<c01088a7>] [<c012e855>] [<c012ec7b>] [<c01237a9>]
[<c0123bc6>] [<c01261e5>] [<c011622e>] [<c011a355>] [<c011a52f>] [<c0108877>]
Code: 0f 0b 5f 00 35 5a 20 c0 89 d8 e8 f1 f1 ff ff 83 7b 28 00 74
>>EIP; c012df04 <__free_pages_ok+24/2fc> <=====
>>ebx; c1284ff0 <_end+faf240/1093b2b0>
>>ecx; c1284ff0 <_end+faf240/1093b2b0>
>>ebp; ceb755b4 <_end+e89f804/1093b2b0>
>>esp; cd951ee4 <_end+d67c134/1093b2b0>
Trace; d0d02b96 <.data.end+2b63/????>
Trace; c01088a7 <restore_all+b/24>
Trace; c012e855 <__free_pages+1d/20>
Trace; c012ec7b <free_page_and_swap_cache+33/38>
Trace; c01237a9 <__free_pte+59/60>
Trace; c0123bc6 <zap_page_range+1b6/26c>
Trace; c01261e5 <exit_mmap+b5/118>
Trace; c011622e <mmput+4a/60>
Trace; c011a355 <do_exit+a1/254>
Trace; c011a52f <sys_exit+f/10>
Trace; c0108877 <system_call+47/50>
Code; c012df04 <__free_pages_ok+24/2fc>
00000000 <_EIP>:
Code; c012df04 <__free_pages_ok+24/2fc> <=====
0: 0f 0b ud2a <=====
Code; c012df06 <__free_pages_ok+26/2fc>
2: 5f pop %edi
Code; c012df07 <__free_pages_ok+27/2fc>
3: 00 35 5a 20 c0 89 add %dh,0x89c0205a
Code; c012df0d <__free_pages_ok+2d/2fc>
9: d8 e8 fsubr %st(0),%st
Code; c012df0f <__free_pages_ok+2f/2fc>
b: f1 icebp
Code; c012df10 <__free_pages_ok+30/2fc>
c: f1 icebp
Code; c012df11 <__free_pages_ok+31/2fc>
d: ff (bad)
Code; c012df12 <__free_pages_ok+32/2fc>
e: ff 83 7b 28 00 74 incl 0x7400287b(%ebx)
<0>Kernel panic: Aiee, killing interrupt handler!
1 warning issued. Results may not be reliable.
- ------------------------------------------------------------------------
ksymoops 2.4.9 on i686 2.4.22-rts3-up-alt13. Options used
-v /usr/src/RPM/BUILD/kernel-image-rts3-up-2.4.22-alt13/kernel-source-2.4.22/vmlinux (specified)
-k /proc/ksyms (default)
-l /proc/modules (default)
-o /lib/modules/2.4.22-rts3-up-alt13/ (default)
-m /boot/System.map-2.4.22-rts3-up-alt13 (default)
Warning (compare_ksyms_lsmod): module reiserfs is in lsmod but not in ksyms, probably no symbols exported
Oops: 0007
CPU: 0
EIP: 0023:[<08070b6e>] Not Tainted
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010246
eax: 00000d3d ebx: 00000d57 ecx: 00000000 edx: 00000000
esi: bffff2a0 edi: 00000000 ebp: bffff3b8 esp: bffff290
ds: 002b es: 002b ss: 002b
Process regression.sh (pid: 3389, stackpage=c9813000)
<0>Kernel panic: Aiee, killing interrupt handler!
Warning (Oops_read): Code line not seen, dumping what data is available
>>EIP; 08070b6e Before first symbol <=====
2 warnings issued. Results may not be reliable.
- ------------------------------------------------------------------------
- ------------------------------------------------------------------------
Меня интересует вопрос по поводу размещения модулей и библиотек
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 ):
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.
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})
Хотелось бы знать замечания тех, кто, может быть, ожидает этот пакет или
использует rtlinux.
Приму во внимание любые предложения.
- --
Sin
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)
iD8DBQE/8+PmHC/AO6kh2soRAnfeAJ0RskBHNavSDcjAeEprQw6T9ySEuQCgn+BK
YHwmAgWUyTHCeqWosh5au8A=
=lN9F
-----END PGP SIGNATURE-----
More information about the devel-kernel
mailing list