[oe] HEADS UP: sys_accept4() syscall and recent udevs
Koen Kooi
koen at dominion.thruhere.net
Fri Jun 3 10:40:00 UTC 2011
Hi,
Last night I tried to help Tom R. debug boot failures and it turned out that he was missing the sys_accept4() syscall. This morning I helped a coworker with the same problem. So let's summarize the situation:
1) recent udevs (>165) depend on the accept4() syscall
2) kernel 2.6.28 added that syscall, but didn't wire it up for all archs
3) kernel 2.6.36 wired it up for ARM
So to get a working recent udev on ARM you need to do the following:
a) use >= 2.6.36 as linux libc headers or cherry-pick this one:
21d93e2e29722d7832f61cc56d73fb953ee6578e ARM: 6329/1: wire up sys_accept4() on ARM
b) cherry-pick the above into your kernel, cherry-pick works cleanly for at least the 2.6.32 and 2.6.35 kernels I tried it on
And if you want to use systemd:
c) cherry-pick 676db4af043014e852f67ba0349dae0071bd11f3 cgroupfs: create /sys/fs/cgroup to mount cgroupfs
If you're using a prebuilt toolchain, contact your toolchain vender to get a headerset and c library with that syscall and optionally things like signalfd(). OE-core users only need to check b) if they are using their own <2.6.36 kernels.
regards,
Koen
More information about the Openembedded-devel
mailing list