Olaf Petzold wrote:

> These symbols are inside System.map!
> # cat /boot/System.map-2.2.17-rtl3 | grep console_drivers
> c01d4c40 D console_drivers
> # cat /boot/System.map-2.2.17-rtl3 | grep __start_rtlinux_funcs
> c01caf08 A __start_rtlinux_funcs
>

They should also appear in the output of ksysms (or /proc/ksyms). If they aren't, and 
you are
using an x86, look where your kernel patchfile is trying to export them (using the
EXPORT_SYMBOL(x)) macro and check if the patch applied sensibly. Also make sure that 
you
compiled your module with /usr/src/linux pointing at the correct kernel source tree.

>
> and inside vmlinux:
> src/linux# cat vmlinux | strings | grep console_drivers
> console_drivers
> src/linux# cat vmlinux | strings | grep __start_rtlinux_funcs
> __start_rtlinux_funcs
>
> What is going on here ???
>

Just because the symbols appear in the object files doesn't mean that a module can 
find them
when it is loaded. insmod looks for kernel symbols in a special table. The ksysms 
utility and
/proc/ksyms show the symbols in this table. Or maybe you already knew this.

>
> Another: the script rtl-config is working fine, the only problem seems to
> be the parsed? rtl.config inside  /usr/include/rtlinux/rtl.config:
>
> There isn't a
> RTLINUX_DIR="/usr/rtlinux_kernel_2.2.17-rtl3b9"
> nor
> INCLUDE_DIR="/usr/rtlinux_kernel_2.2.17-rtl3b9/include:...
>
> A simple grep over the Makefile gives that there should be such directory but,
> it's not created. Imo it doesn't make sense to use such dir because you have
> to link /usr/src/linux to the kernel tree, which is the only hard part, not the
> includes of rtl.
>

In general, it could be useful to not have to link /usr/src/linux. Like when 
cross-compiling,
for example.

--Gordon


-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
---
For more information on Real-Time Linux see:
http://www.rtlinux.org/rtlinux/

Reply via email to