I am trying to get eudev to work on an embedded system that previously used a very old udev version (107). So I am making quite a large jump in versions
Entered command ('udevadm trigger --action=add' results in same strace below)
echo "add" > /sys/devices/platform/serial8250.0/tty/ttyS1/uevent
strace output:
epoll_wait(10, [{EPOLLIN, {u32=4, u64=17179869184}}], 8, -1) = 1
stat64("/etc/udev/rules.d", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0
stat64("/lib/udev/rules.d", 0xbf901cb8) = -1 ENOENT (No such file or directory)
stat64("/run/udev/rules.d", {st_mode=S_IFDIR|0755, st_size=40, ...}) = 0
stat64("/lib/udev/rules.d", 0xbf901cb8) = -1 ENOENT (No such file or directory)
stat64("/lib/udev/rules.d", 0xbf901cb8) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/udev/rules.d", 0xbf901cb8) = -1 ENOENT (No such file or directory)
stat64("/etc/udev/hwdb.bin", {st_mode=S_IFREG|0444, st_size=105, ...}) = 0
recvmsg(4, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=0x000001}, msg_namelen=128->12, msg_iov=[{iov_base={{len=1633969216, type=0x2f64 /* NLMSG_??? */, flags=NLM_F_MULTI|NLM_F_ACK|NLM_F_DUMP_INTR|NLM_F_DUMP_FILTERED|0x6540, seq=1768121715, pid=795896929}, "\x74\x66\x6f\x72\x6d\x2f\x73\x65\x72\x69\x61\x6c\x38\x32\x35\x30\x2e\x30\x2f\x74\x74\x79\x2f\x74\x74\x79\x53\x31\x00\x41\x43\x54"...}, iov_len=8192}], msg_iovlen=1, msg_control=[{cmsg_len=24, cmsg_level=SOL_SOCKET, cmsg_type=SCM_CREDENTIALS, cmsg_data={pid=0, uid=0, gid=0}}], msg_controllen=24, msg_flags=0}, 0) = 174
writev(2, [{iov_base="seq 844 queued, 'add' 'tty'", iov_len=27}, {iov_base="\n", iov_len=1}], 2seq 844 queued, 'add' 'tty'
) = 28
socket(AF_NETLINK, SOCK_RAW|SOCK_CLOEXEC|SOCK_NONBLOCK, NETLINK_KOBJECT_UEVENT) = 11
bind(11, {sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, 12) = 0
getsockname(11, {sa_family=AF_NETLINK, nl_pid=-1692715106, nl_groups=00000000}, [12]) = 0
setsockopt(11, SOL_SOCKET, SO_PASSCRED, [1], 4) = 0
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7d06318) = 1392
close(11) = 0
writev(2, [{iov_base="seq 844 forked new worker [1392]", iov_len=32}, {iov_base="\n", iov_len=1}], 2seq 844 forked new worker [1392]
) = 33
openat(AT_FDCWD, "/run/udev/queue", O_WRONLY|O_CREAT|O_NOCTTY|O_LARGEFILE|O_CLOEXEC, 0644) = 11
utimensat(11, NULL, NULL, 0) = 0
close(11) = 0
epoll_wait(10, seq 844 running
handling device node '/dev/ttyS1', devnum=c4:65, mode=0600, uid=0, gid=0
can not stat() node '/dev/ttyS1' (No such file or directory)
created empty file '/run/udev/data/c4:65' for '/devices/platform/serial8250.0/tty/ttyS1'
passed 202 byte device to netlink monitor 0x10524d60
seq 844 processed
[{EPOLLIN, {u32=8, u64=34359738368}}], 8, 3000) = 1
recvmsg(8, {msg_name=NULL, msg_namelen=0, msg_iov=[{iov_base="", iov_len=0}], msg_iovlen=1, msg_control=[{cmsg_len=24, cmsg_level=SOL_SOCKET, cmsg_type=SCM_CREDENTIALS, cmsg_data={pid=1392, uid=0, gid=0}}], msg_controllen=24, msg_flags=0}, MSG_DONTWAIT) = 0
recvmsg(8, {msg_namelen=0}, MSG_DONTWAIT) = -1 EAGAIN (Resource temporarily unavailable)
unlink("/run/udev/queue") = 0
epoll_wait(10, [], 8, 3000) = 0
writev(2, [{iov_base="cleanup idle workers", iov_len=20}, {iov_base="\n", iov_len=1}], 2cleanup idle workers
) = 21
kill(1392, SIGTERM) = 0
stat64("/etc/udev/rules.d", {st_mode=S_IFDIR|0755, st_size=1024, ...}) = 0
stat64("/lib/udev/rules.d", 0xbf901cb8) = -1 ENOENT (No such file or directory
)
stat64("/run/udev/rules.d", {st_mode=S_IFDIR|0755, st_size=40, ...}) = 0
stat64("/lib/udev/rules.d", 0xbf901cb8) = -1 ENOENT (No such file or directory)
stat64("/lib/udev/rules.d", 0xbf901cb8) = -1 ENOENT (No such file or directory)
stat64("/usr/lib/udev/rules.d", 0xbf901cb8) = -1 ENOENT (No such file or directory)
stat64("/etc/udev/hwdb.bin", {st_mode=S_IFREG|0444, st_size=105, ...}) = 0
unlink("/run/udev/queue") = -1 ENOENT (No such file or directory)
epoll_wait(10, [{EPOLLIN, {u32=7, u64=30064771072}}], 8, 3000) = 1
read(7, "\0\0\0\21\0\0\0\0\0\0\0\1\0\0\5p\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 128) = 128
waitpid(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG) = 1392
writev(2, [{iov_base="worker [1392] exited", iov_len=20}, {iov_base="\n", iov_len=1}], 2worker [1392] exited
) = 21
waitpid(-1, 0xbf902160, WNOHANG) = -1 ECHILD (No child processes)
unlink("/run/udev/queue") = -1 ENOENT (No such file or directory)
With the most egregious line being: can not stat() node '/dev/ttyS1' (No such file or directory)
CONFIG_EPOLL=y
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
CONFIG_TMPFS=y
CONFIG_SYSFS=y
CONFIG_NET=y
CONFIG_TIMERFD=y
CONFIG_SIGNALFD=y
CONFIG_PROC_FS=y
CONFIG_INOTIFY_USER=y
CONFIG_FHANDLE=y
# CONFIG_UEVENT_HELPER is not set
# CONFIG_SYSFS_DEPRECATED is not set
Lastly, on the target I have also created a symlink from /run --> /var/run
Am I missing something obvious? Thank you in advance
I know this is deprecated, but I figured I would give this a shot anyway!
I have already read over https://github.com/gentoo/eudev/issues/60 and the linked issues without luck
I am trying to get eudev to work on an embedded system that previously used a very old udev version (107). So I am making quite a large jump in versions
Entered command ('udevadm trigger --action=add' results in same strace below)
echo "add" > /sys/devices/platform/serial8250.0/tty/ttyS1/uevent
strace output:
With the most egregious line being: can not stat() node '/dev/ttyS1' (No such file or directory)
config arguments and variables:
Relevant kernel config:
Lastly, on the target I have also created a symlink from /run --> /var/run
Am I missing something obvious? Thank you in advance