On 28-Oct-2009, Ben Finney wrote:
> The symbols *do* appear in the kernel symbol table, but they are named
> with a leading period (I don't know why), so the following regex
> succeeds in matching the symbols:
>
> =====
> $ needed_symbols='sys_inotify_init sys_signalfd'
> $ for symbol in $needed_symbols; do egrep "^[a-fA-F0-9]+ T \.${symbol}$"
> /proc/kallsyms; done
> c000000000170e00 T .sys_inotify_init
> c000000000172e84 T .sys_signalfd
> $
> =====
>
> I would submit a patch for the ‘preinst’ script, but presumably
> changing the regex this way would cause it to fail on other machines.For the record, I have succeeded in installing and running a modified version of ‘udev’ that detects the kernel symbols on my machine. The patch is: === modified file 'debian/changelog' --- debian/changelog 2009-10-29 04:17:52 +0000 +++ debian/changelog 2009-10-29 04:23:11 +0000 @@ -1,3 +1,9 @@ +udev (146-5+whitetree1) unstable; urgency=low + + * Match kernel symbols per this machine. + + -- Ben Finney <[email protected]> Thu, 29 Oct 2009 15:22:24 +1100 + udev (146-5) unstable; urgency=medium * Abort upgrades in preinst instead of postinst if the kernel lacks === modified file 'debian/udev.preinst' --- debian/udev.preinst 2009-10-29 04:17:52 +0000 +++ debian/udev.preinst 2009-10-29 04:20:13 +0000 @@ -94,7 +94,7 @@ local needed_symbols='sys_inotify_init sys_signalfd' local missing_symbol=0 for symbol in $needed_symbols; do - if ! egrep -q "^[a-fA-F0-9]+ T ${symbol}$" /proc/kallsyms; then + if ! egrep -q "^[a-fA-F0-9]+ T \.${symbol}$" /proc/kallsyms; then missing_symbol=1 break fi -- \ “This world in arms is not spending money alone. It is spending | `\ the sweat of its laborers, the genius of its scientists, the | _o__) hopes of its children.” —Dwight Eisenhower, 1953-04-16 | Ben Finney <[email protected]>
signature.asc
Description: Digital signature

