śr., 13 lut 2019 o 17:45 Paweł Chmiel <pawel.mikolaj.chmiel@xxxxxxxxx> napisał(a): > > śr., 13 lut 2019 o 17:33 H. Nikolaus Schaller <hns@xxxxxxxxxxxxx> napisał(a): > > > > Hi Pawel, > > > > > Am 13.02.2019 um 08:36 schrieb Paweł Chmiel <pawel.mikolaj.chmiel@xxxxxxxxx>: > > > > > > Do You have strace of pvrsrvinit run ? They should be almost identical to one which i have. > > > > I have digged out a version where pvrsrvinit succeeds on our omap3530 based gta04 board (kernel 4.15.17). > > > > oot@letux:~# strace pvrsrvctl --start --no-module > > execve("/usr/local/bin/pvrsrvctl", ["pvrsrvctl", "--start", "--no-module"], [/* 14 vars */]) = 0 > > brk(0) = 0x12000 > > uname({sys="Linux", node="letux", ...}) = 0 > > access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) > > mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6efd000 > > access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) > > open("/usr/local/XSGX/lib/tls/v7l/neon/vfp/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) > > stat64("/usr/local/XSGX/lib/tls/v7l/neon/vfp", 0xbeb3d420) = -1 ENOENT (No such file or directory) > > open("/usr/local/XSGX/lib/tls/v7l/neon/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) > > stat64("/usr/local/XSGX/lib/tls/v7l/neon", 0xbeb3d420) = -1 ENOENT (No such file or directory) > > open("/usr/local/XSGX/lib/tls/v7l/vfp/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) > > stat64("/usr/local/XSGX/lib/tls/v7l/vfp", 0xbeb3d420) = -1 ENOENT (No such file or directory) > > open("/usr/local/XSGX/lib/tls/v7l/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) > > stat64("/usr/local/XSGX/lib/tls/v7l", 0xbeb3d420) = -1 ENOENT (No such file or directory) > > open("/usr/local/XSGX/lib/tls/neon/vfp/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) > > stat64("/usr/local/XSGX/lib/tls/neon/vfp", 0xbeb3d420) = -1 ENOENT (No such file or directory) > > open("/usr/local/XSGX/lib/tls/neon/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) > > stat64("/usr/local/XSGX/lib/tls/neon", 0xbeb3d420) = -1 ENOENT (No such file or directory) > > open("/usr/local/XSGX/lib/tls/vfp/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) > > stat64("/usr/local/XSGX/lib/tls/vfp", 0xbeb3d420) = -1 ENOENT (No such file or directory) > > open("/usr/local/XSGX/lib/tls/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) > > stat64("/usr/local/XSGX/lib/tls", 0xbeb3d420) = -1 ENOENT (No such file or directory) > > open("/usr/local/XSGX/lib/v7l/neon/vfp/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) > > stat64("/usr/local/XSGX/lib/v7l/neon/vfp", 0xbeb3d420) = -1 ENOENT (No such file or directory) > > open("/usr/local/XSGX/lib/v7l/neon/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) > > stat64("/usr/local/XSGX/lib/v7l/neon", 0xbeb3d420) = -1 ENOENT (No such file or directory) > > open("/usr/local/XSGX/lib/v7l/vfp/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) > > stat64("/usr/local/XSGX/lib/v7l/vfp", 0xbeb3d420) = -1 ENOENT (No such file or directory) > > open("/usr/local/XSGX/lib/v7l/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) > > stat64("/usr/local/XSGX/lib/v7l", 0xbeb3d420) = -1 ENOENT (No such file or directory) > > open("/usr/local/XSGX/lib/neon/vfp/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) > > stat64("/usr/local/XSGX/lib/neon/vfp", 0xbeb3d420) = -1 ENOENT (No such file or directory) > > open("/usr/local/XSGX/lib/neon/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) > > stat64("/usr/local/XSGX/lib/neon", 0xbeb3d420) = -1 ENOENT (No such file or directory) > > open("/usr/local/XSGX/lib/vfp/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) > > stat64("/usr/local/XSGX/lib/vfp", 0xbeb3d420) = -1 ENOENT (No such file or directory) > > open("/usr/local/XSGX/lib/libsrv_init.so", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No such file or directory) > > stat64("/usr/local/XSGX/lib", 0xbeb3d420) = -1 ENOENT (No such file or directory) > > open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 > > fstat64(3, {st_mode=S_IFREG|0644, st_size=45046, ...}) = 0 > > mmap2(NULL, 45046, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb6ef2000 > > close(3) = 0 > > access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) > > open("/usr/lib/libsrv_init.so", O_RDONLY|O_CLOEXEC) = 3 > > read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0<\7\0\0004\0\0\0"..., 512) = 512 > > lseek(3, 94656, SEEK_SET) = 94656 > > read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1040) = 1040 > > lseek(3, 94346, SEEK_SET) = 94346 > > read(3, "A6\0\0\0aeabi\0\1,\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 55) = 55 > > fstat64(3, {st_mode=S_IFREG|0755, st_size=95696, ...}) = 0 > > mmap2(NULL, 127076, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6eb8000 > > mprotect(0xb6ecf000, 28672, PROT_NONE) = 0 > > mmap2(0xb6ed6000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x16000) = 0xb6ed6000 > > close(3) = 0 > > access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) > > open("/lib/arm-linux-gnueabihf/libc.so.6", O_RDONLY|O_CLOEXEC) = 3 > > read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0Mw\1\0004\0\0\0"..., 512) = 512 > > lseek(3, 908188, SEEK_SET) = 908188 > > read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 2880) = 2880 > > lseek(3, 904740, SEEK_SET) = 904740 > > read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\3\f"..., 53) = 53 > > fstat64(3, {st_mode=S_IFREG|0755, st_size=911068, ...}) = 0 > > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6ef1000 > > mmap2(NULL, 980392, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6dc8000 > > mprotect(0xb6ea3000, 61440, PROT_NONE) = 0 > > mmap2(0xb6eb2000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xda000) = 0xb6eb2000 > > mmap2(0xb6eb5000, 9640, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6eb5000 > > close(3) = 0 > > access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) > > open("/usr/lib/libsrv_um.so", O_RDONLY|O_CLOEXEC) = 3 > > read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\340#\0\0004\0\0\0"..., 512) = 512 > > lseek(3, 168544, SEEK_SET) = 168544 > > read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1120) = 1120 > > lseek(3, 168210, SEEK_SET) = 168210 > > read(3, "A6\0\0\0aeabi\0\1,\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 55) = 55 > > fstat64(3, {st_mode=S_IFREG|0755, st_size=169664, ...}) = 0 > > mmap2(NULL, 200992, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6d96000 > > mprotect(0xb6dbe000, 28672, PROT_NONE) = 0 > > mmap2(0xb6dc5000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x27000) = 0xb6dc5000 > > close(3) = 0 > > access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) > > open("/lib/arm-linux-gnueabihf/libdl.so.2", O_RDONLY|O_CLOEXEC) = 3 > > read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\240\t\0\0004\0\0\0"..., 512) = 512 > > lseek(3, 8664, SEEK_SET) = 8664 > > read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1160) = 1160 > > lseek(3, 8328, SEEK_SET) = 8328 > > read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 53) = 53 > > fstat64(3, {st_mode=S_IFREG|0644, st_size=9824, ...}) = 0 > > mmap2(NULL, 73912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6d83000 > > mprotect(0xb6d85000, 61440, PROT_NONE) = 0 > > mmap2(0xb6d94000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1000) = 0xb6d94000 > > close(3) = 0 > > access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) > > open("/lib/arm-linux-gnueabihf/libpthread.so.0", O_RDONLY|O_CLOEXEC) = 3 > > read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0EQ\0\0004\0\0\0"..., 512) = 512 > > lseek(3, 100684, SEEK_SET) = 100684 > > read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1520) = 1520 > > lseek(3, 65940, SEEK_SET) = 65940 > > read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 53) = 53 > > fstat64(3, {st_mode=S_IFREG|0755, st_size=102204, ...}) = 0 > > mmap2(NULL, 139836, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6d60000 > > mprotect(0xb6d70000, 61440, PROT_NONE) = 0 > > mmap2(0xb6d7f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0xb6d7f000 > > mmap2(0xb6d81000, 4668, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb6d81000 > > close(3) = 0 > > access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) > > open("/lib/arm-linux-gnueabihf/librt.so.1", O_RDONLY|O_CLOEXEC) = 3 > > read(3, "\177ELF\1\1\1\3\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0@\30\0\0004\0\0\0"..., 512) = 512 > > lseek(3, 21260, SEEK_SET) = 21260 > > read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1320) = 1320 > > lseek(3, 20868, SEEK_SET) = 20868 > > read(3, "A4\0\0\0aeabi\0\1*\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 53) = 53 > > fstat64(3, {st_mode=S_IFREG|0644, st_size=22580, ...}) = 0 > > mmap2(NULL, 86588, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6d4a000 > > mprotect(0xb6d4f000, 61440, PROT_NONE) = 0 > > mmap2(0xb6d5e000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x4000) = 0xb6d5e000 > > close(3) = 0 > > access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory) > > open("/lib/arm-linux-gnueabihf/libgcc_s.so.1", O_RDONLY|O_CLOEXEC) = 3 > > read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\230\321\0\0004\0\0\0"..., 512) = 512 > > lseek(3, 99900, SEEK_SET) = 99900 > > read(3, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1120) = 1120 > > lseek(3, 99568, SEEK_SET) = 99568 > > read(3, "A2\0\0\0aeabi\0\1(\0\0\0\0057-A\0\6\n\7A\10\1\t\2\n\4\22"..., 51) = 51 > > fstat64(3, {st_mode=S_IFREG|0644, st_size=101020, ...}) = 0 > > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6ef0000 > > mmap2(NULL, 165160, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb6d21000 > > mprotect(0xb6d3a000, 61440, PROT_NONE) = 0 > > mmap2(0xb6d49000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x18000) = 0xb6d49000 > > close(3) = 0 > > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6d20000 > > set_tls(0xb6d204c0, 0xb6f00058, 0xb6d20ba8, 0xb6d204c0, 0xb6f00058) = 0 > > mprotect(0xb6eb2000, 8192, PROT_READ) = 0 > > mprotect(0xb6d7f000, 4096, PROT_READ) = 0 > > mprotect(0xb6d5e000, 4096, PROT_READ) = 0 > > mprotect(0xb6d94000, 4096, PROT_READ) = 0 > > mprotect(0xb6dc5000, 8192, PROT_READ) = 0 > > mprotect(0xb6ed6000, 4096, PROT_READ) = 0 > > mprotect(0x10000, 4096, PROT_READ) = 0 > > mprotect(0xb6eff000, 4096, PROT_READ) = 0 > > munmap(0xb6ef2000, 45046) = 0 > > set_tid_address(0xb6d20068) = 2672 > > set_robust_list(0xb6d20070, 12) = 0 > > rt_sigaction(SIGRTMIN, {0xb6d64d9d, [], SA_RESTORER|SA_SIGINFO, 0xb6deeb01}, NULL, 8) = 0 > > rt_sigaction(SIGRT_1, {0xb6d64cbd, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0xb6deeb01}, NULL, 8) = 0 > > rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 > > getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0 > > brk(0) = 0x12000 > > brk(0x33000) = 0x33000 > > open("/dev/pvrsrvkm", O_RDWR) = 3 > > fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 > > ioctl(3, 0xc01c670c, 0xbeb3e9bc) = 0 > > ioctl(3, 0xc01c6744, 0xbeb3e9fc) = 0 > > ioctl(3, 0xc01c6700, 0xbeb3e8a4) = 0 > > ioctl(3, 0xc01c6701, 0xbeb3e90c) = 0 > > ioctl(3, 0xc01c6763, 0xbeb3e614) = 0 > > ioctl(3, 0xc01c6706, 0xbeb3e824) = 0 > > ioctl(3, 0xc01c670b, 0xbeb3e7e4) = 0 > > mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000005000) = 0xb6efb000 > > ioctl(3, 0xc01c6706, 0xbeb3e824) = 0 > > ioctl(3, 0xc01c670b, 0xbeb3e7e4) = 0 > > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000006000) = 0xb6efa000 > > ioctl(3, 0xc01c6706, 0xbeb3e824) = 0 > > ioctl(3, 0xc01c670b, 0xbeb3e7e4) = 0 > > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000007000) = 0xb6ef9000 > > ioctl(3, 0xc01c6706, 0xbeb3e824) = 0 > > ioctl(3, 0xc01c670b, 0xbeb3e7e4) = 0 > > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000008000) = 0xb6ef8000 > > ioctl(3, 0xc01c6706, 0xbeb3e824) = 0 > > ioctl(3, 0xc01c670b, 0xbeb3e7e4) = 0 > > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000009000) = 0xb6ef7000 > > ioctl(3, 0xc01c6706, 0xbeb3e824) = 0 > > ioctl(3, 0xc01c670b, 0xbeb3e7e4) = 0 > > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x8000000a000) = 0xb6ef6000 > > ioctl(3, 0xc01c6706, 0xbeb3e80c) = 0 > > ioctl(3, 0xc01c670b, 0xbeb3e7cc) = 0 > > mmap2(NULL, 28672, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x8000000b000) = 0xb6d19000 > > open("/etc/powervr.ini", O_RDONLY) = -1 ENOENT (No such file or directory) > > open("powervr.ini", O_RDONLY) = -1 ENOENT (No such file or directory) > > ioctl(3, 0xc01c6706, 0xbeb3e80c) = 0 > > ioctl(3, 0xc01c670b, 0xbeb3e7cc) = 0 > > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x8000000c000) = 0xb6ef5000 > > ioctl(3, 0xc01c6706, 0xbeb3e80c) = 0 > > ioctl(3, 0xc01c670b, 0xbeb3e7cc) = 0 > > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x8000000d000) = 0xb6ef4000 > > ioctl(3, 0xc01c6706, 0xbeb3e7fc) = 0 > > ioctl(3, 0xc01c670b, 0xbeb3e7bc) = 0 > > mmap2(NULL, 24576, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x8000000e000) = 0xb6d13000 > > ioctl(3, 0xc01c6706, 0xbeb3e7fc) = 0 > > ioctl(3, 0xc01c670b, 0xbeb3e7bc) = 0 > > mmap2(NULL, 24576, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x8000000f000) = 0xb6d0d000 > > ioctl(3, 0xc01c6706, 0xbeb3e7fc) = 0 > > ioctl(3, 0xc01c670b, 0xbeb3e7bc) = 0 > > mmap2(NULL, 20480, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000010000) = 0xb6d08000 > > ioctl(3, 0xc01c6706, 0xbeb3e7fc) = 0 > > ioctl(3, 0xc01c670b, 0xbeb3e7bc) = 0 > > mmap2(NULL, 24576, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000011000) = 0xb6d02000 > > ioctl(3, 0xc01c6706, 0xbeb3e824) = 0 > > ioctl(3, 0xc01c670b, 0xbeb3e7e4) = 0 > > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000012000) = 0xb6ef3000 > > ioctl(3, 0xc01c6706, 0xbeb3e824) = 0 > > ioctl(3, 0xc01c670b, 0xbeb3e7e4) = 0 > > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000013000) = 0xb6ef2000 > > ioctl(3, 0xc01c6706, 0xbeb3e824) = 0 > > ioctl(3, 0xc01c670b, 0xbeb3e7e4) = 0 > > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000014000) = 0xb6d01000 > > ioctl(3, 0xc01c6706, 0xbeb3e824) = 0 > > ioctl(3, 0xc01c670b, 0xbeb3e7e4) = 0 > > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000015000) = 0xb6d00000 > > ioctl(3, 0xc01c6706, 0xbeb3e824) = 0 > > ioctl(3, 0xc01c670b, 0xbeb3e7e4) = 0 > > mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000016000) = 0xb6cff000 > > ioctl(3, 0xc01c6706, 0xbeb3e824) = 0 > > ioctl(3, 0xc01c6706, 0xbeb3e824) = 0 > > ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 > > munmap(0xb6efb000, 8192) = 0 > > ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 > > munmap(0xb6efa000, 4096) = 0 > > ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 > > munmap(0xb6ef9000, 4096) = 0 > > ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 > > munmap(0xb6ef7000, 4096) = 0 > > ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 > > munmap(0xb6ef8000, 4096) = 0 > > ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 > > munmap(0xb6ef6000, 4096) = 0 > > ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 > > munmap(0xb6d19000, 28672) = 0 > > ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 > > munmap(0xb6ef5000, 4096) = 0 > > ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 > > munmap(0xb6ef4000, 4096) = 0 > > ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 > > munmap(0xb6d13000, 24576) = 0 > > ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 > > munmap(0xb6d0d000, 24576) = 0 > > ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 > > munmap(0xb6d02000, 24576) = 0 > > ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 > > munmap(0xb6d08000, 20480) = 0 > > ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 > > munmap(0xb6ef3000, 4096) = 0 > > ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 > > munmap(0xb6ef2000, 4096) = 0 > > ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 > > munmap(0xb6d01000, 4096) = 0 > > ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 > > munmap(0xb6d00000, 4096) = 0 > > ioctl(3, 0xc01c671b, 0xbeb3e8dc) = 0 > > munmap(0xb6cff000, 4096) = 0 > > ioctl(3, 0xc01c6764, 0xbeb3e91c) = 0 > > ioctl(3, 0xc01c6745, 0xbeb3e9ec) = 0 > > ioctl(3, 0xc01c670d, 0xbeb3e9c4) = 0 > > close(3) = 0 > > exit_group(0) = ? > > +++ exited with 0 +++ > > root@letux:~# > > > > root@letux:~# ls -l /dev/pvrsrvkm > > crw------- 1 root root 240, 0 Jan 1 00:06 /dev/pvrsrvkm > > root@letux:~# uname -a > > Linux letux 4.15.17-letux+ #3337 SMP PREEMPT Wed Feb 13 16:56:27 CET 2019 armv7l GNU/Linux > > root@letux:~# ./gpu-demo > > autodetected driver package: omap3630-sgx530-125 > > compatible driver: omap3630_sgx530_125 > > System Version String: SGX revision = 125 > > ----------------- SGX CLipBlit test ----------------- > > ---------------------- Start ------------------------ > > Call PVRSRVConnect with a valid argument: > > OK > > Get number of devices from PVRSRVEnumerateDevices: > > OK > > .... Reported 1 devices > > .... Device Number | Device Type > > 0000 | PVRSRV_DEVICE_ID_SGX > > Attempt to acquire device 0: > > OK > > Getting SGX Client info > > OK > > .... ui32ProcessID:2691 > > Display Class API: enumerate devices > > OK > > PVRSRVEnumerateDeviceClass() returns 0 display device(s) > > FAIL - PVRSRV_ERROR_NO_DC_DEVICES_FOUND(134) > > ./gpu-demo: line 71: 2691 Aborted sgx_clipblit_test > > root@letux:~# > > > Where i could find that SGX_ClipBlit test (source or binary)? > > As you can see the firmware is loaded and connected successfully. Then it just fails to enumerate > > a display which is the missing/unfixed omaplfb. > > > > Some newer kernels did fail with > > > > rt_sigaction(SIGRTMIN, {0xb6e07d9d, [], SA_RESTORER|SA_SIGINFO, 0xb6e91b01}, NULL, 8) = 0 > > rt_sigaction(SIGRT_1, {0xb6e07cbd, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0xb6e91b01}, NULL, 8) = 0 > > rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0 > > getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_INFINITY}) = 0 > > brk(0) = 0x12000 > > brk(0x33000) = 0x33000 > > open("/dev/pvrsrvkm", O_RDWR) = -1 ENOMEM (Cannot allocate memory) > > write(2, "pvrsrvctl: SrvInit failed (alrea"..., 57pvrsrvctl: SrvInit failed (already initialized?) (err=4) > > ) = 57 > > exit_group(1) = ? > > +++ exited with 1 +++ > > > > So I have to check what did break in between. And when. Most likely something with memory allocation. > For mainline You will probably need > https://github.com/PabloPL/linux/commit/de0f7e299d94f5dfdcf15375ec2d3ace54ac4a24 > because powervr is using some strange pointers. root@aries:~# uname -a Linux aries 5.0.0-rc4+ #246 PREEMPT Wed Feb 13 17:51:02 CET 2019 armv7l armv7l armv7l GNU/Linux root@aries:~# cat /proc/pvr/version Version CustomerGoogle_Android_ogles1_ogles2_GPL sgxddk 18 1.8.GOOGLENEXUS.ED945322@2112805 (debug) smdkc110_android System Version String: None root@aries:~# strace /system/bin/pvrsrvinit execve("/system/bin/pvrsrvinit", ["/system/bin/pvrsrvinit"], 0x7ecb26e0 /* 22 vars */) = 0 set_tls(0x76fc7584) = 0 set_tid_address(0x76fc753c) = 2931 mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76f5f000 madvise(0x76f5f000, 12288, MADV_MERGEABLE) = 0 mprotect(0x76f5f000, 4096, PROT_NONE) = 0 sigaltstack({ss_sp=0x76f60000, ss_flags=0, ss_size=8192}, NULL) = 0 prctl(PR_SET_VMA, 0, 0x76f60000, 0x2000, 0x76fb9c7d) = 0 prctl(PR_SET_VMA, 0, 0x76f5f000, 0x1000, 0x76fb9c91) = 0 mprotect(0x76fc1000, 8192, PROT_READ) = 0 mprotect(0x76fc6000, 4096, PROT_READ) = 0 mprotect(0x76fc6000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76fc6000, 4096, PROT_READ) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76fc0000 madvise(0x76fc0000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76fc0000, 0x1000, 0x76fb9bbb) = 0 mprotect(0x76fc0000, 4096, PROT_READ) = 0 mprotect(0x76fc0000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76fc0000, 4096, PROT_READ) = 0 mprotect(0x76fc0000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76fc0000, 4096, PROT_READ) = 0 mprotect(0x76fc0000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76fc0000, 4096, PROT_READ) = 0 mprotect(0x76fc0000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76fc0000, 4096, PROT_READ) = 0 mprotect(0x76fc0000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76fc0000, 4096, PROT_READ) = 0 mprotect(0x76fc0000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76fc0000, 4096, PROT_READ) = 0 mprotect(0x76fc0000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76fc0000, 4096, PROT_READ) = 0 mprotect(0x76fc0000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76fc0000, 4096, PROT_READ) = 0 openat(AT_FDCWD, "/dev/urandom", O_RDONLY|O_LARGEFILE|O_NOFOLLOW|O_CLOEXEC) = 3 fstat64(3, {st_mode=S_IFCHR|0666, st_rdev=makedev(1, 9), ...}) = 0 ioctl(3, RNDGETENTCNT, 0x7ea723bc) = 0 read(3, "\357@~q\253\0344'/[#\214\31\231\277\340\320\20\243\1\1?\7\342-\210\207\224j2\310\231"..., 40) = 40 close(3) = 0 mmap2(NULL, 8, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76f5e000 madvise(0x76f5e000, 8, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f5e000, 0x8, 0x76fb9826) = 0 mmap2(NULL, 1088, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76f5d000 madvise(0x76f5d000, 1088, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f5d000, 0x440, 0x76fb983f) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f5c000 madvise(0x76f5c000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f5c000, 0x1000, 0x76fb5ec9) = 0 mmap2(NULL, 12, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f5b000 madvise(0x76f5b000, 12, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f5b000, 0xc, 0x76fb5f6f) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f5a000 madvise(0x76f5a000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f5a000, 0x1000, 0x76fb5ec9) = 0 mmap2(NULL, 12, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f59000 madvise(0x76f59000, 12, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f59000, 0xc, 0x76fb5f6f) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f58000 madvise(0x76f58000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f58000, 0x1000, 0x76fb5f83) = 0 personality(0xffffffff) = 0x800000 (PER_LINUX|ADDR_LIMIT_32BIT) personality(PER_LINUX32|ADDR_LIMIT_32BIT) = 0x800000 (PER_LINUX|ADDR_LIMIT_32BIT) fstatat64(AT_FDCWD, "/dev/__properties__", 0x7ea71380, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/dev/__properties__", O_RDONLY|O_LARGEFILE|O_NOFOLLOW|O_CLOEXEC) = -1 ENOENT (No such file or directory) sigaction(SIGABRT, {sa_handler=0x76f64805, sa_mask=[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x76fa9c3c}, NULL) = 0 sigaction(SIGBUS, {sa_handler=0x76f64805, sa_mask=[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x76fa9c3c}, NULL) = 0 sigaction(SIGFPE, {sa_handler=0x76f64805, sa_mask=[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x76fa9c3c}, NULL) = 0 sigaction(SIGILL, {sa_handler=0x76f64805, sa_mask=[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x76fa9c3c}, NULL) = 0 sigaction(SIGSEGV, {sa_handler=0x76f64805, sa_mask=[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x76fa9c3c}, NULL) = 0 sigaction(SIGSTKFLT, {sa_handler=0x76f64805, sa_mask=[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x76fa9c3c}, NULL) = 0 sigaction(SIGTRAP, {sa_handler=0x76f64805, sa_mask=[], sa_flags=SA_RESTORER|SA_ONSTACK|SA_RESTART|SA_SIGINFO, sa_restorer=0x76fa9c3c}, NULL) = 0 fstatat64(AT_FDCWD, "/proc/self/exe", {st_mode=S_IFREG|0755, st_size=13916, ...}, 0) = 0 mprotect(0x76fc0000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76fc0000, 4096, PROT_READ) = 0 futex(0x76fc4778, FUTEX_WAKE_PRIVATE, 2147483647) = 0 readlinkat(AT_FDCWD, "/proc/self/exe", "/system/bin/pvrsrvinit", 4096) = 22 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f57000 madvise(0x76f57000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f57000, 0x1000, 0x76fb5f83) = 0 fstatat64(AT_FDCWD, "/system", {st_mode=S_IFDIR|0755, st_size=4096, ...}, AT_SYMLINK_NOFOLLOW) = 0 fstatat64(AT_FDCWD, "/system/lib", {st_mode=S_IFDIR|0755, st_size=12288, ...}, AT_SYMLINK_NOFOLLOW) = 0 fstatat64(AT_FDCWD, "/vendor", 0x7ea6e368, AT_SYMLINK_NOFOLLOW) = -1 ENOENT (No such file or directory) mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f56000 madvise(0x76f56000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f56000, 0x1000, 0x76fb5f83) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f55000 madvise(0x76f55000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f55000, 0x1000, 0x76fb5f83) = 0 openat(AT_FDCWD, "/system/lib/libc.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f53000 madvise(0x76f53000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f53000, 0x2000, 0x76fb5ee4) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f51000 madvise(0x76f51000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f51000, 0x2000, 0x76fb5ee4) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/system/lib/libc.so", 4096) = 19 munmap(0x76f51000, 8192) = 0 munmap(0x76f53000, 8192) = 0 fstat64(3, {st_mode=S_IFREG|0644, st_size=761948, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f54000 madvise(0x76f54000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f54000, 0x1000, 0x76fb5ec9) = 0 mmap2(NULL, 12, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f53000 madvise(0x76f53000, 12, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f53000, 0xc, 0x76fb5f6f) = 0 pread64(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0\0\0\0004\0\0\0"..., 52, 0) = 52 mmap2(NULL, 424, PROT_READ, MAP_PRIVATE, 3, 0) = 0x76f52000 mmap2(NULL, 7016, PROT_READ, MAP_PRIVATE, 3, 0xb9000) = 0x76f50000 mmap2(NULL, 1920, PROT_READ, MAP_PRIVATE, 3, 0x83000) = 0x76f4f000 mmap2(NULL, 25140, PROT_READ, MAP_PRIVATE, 3, 0x5000) = 0x76f48000 openat(AT_FDCWD, "/system/lib/libcutils.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 4 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f46000 madvise(0x76f46000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f46000, 0x2000, 0x76fb5ee4) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f44000 madvise(0x76f44000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f44000, 0x2000, 0x76fb5ee4) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/4", "/system/lib/libcutils.so", 4096) = 24 munmap(0x76f44000, 8192) = 0 munmap(0x76f46000, 8192) = 0 fstat64(4, {st_mode=S_IFREG|0644, st_size=100400, ...}) = 0 pread64(4, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0\0\0\0004\0\0\0"..., 52, 0) = 52 mmap2(NULL, 424, PROT_READ, MAP_PRIVATE, 4, 0) = 0x76f47000 mmap2(NULL, 2992, PROT_READ, MAP_PRIVATE, 4, 0x18000) = 0x76f46000 mmap2(NULL, 5880, PROT_READ, MAP_PRIVATE, 4, 0x17000) = 0x76f44000 mmap2(NULL, 14500, PROT_READ, MAP_PRIVATE, 4, 0x1000) = 0x76f40000 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f3f000 madvise(0x76f3f000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f3f000, 0x1000, 0x76fb5ec9) = 0 mmap2(NULL, 12, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f3e000 madvise(0x76f3e000, 12, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f3e000, 0xc, 0x76fb5f6f) = 0 openat(AT_FDCWD, "/system/lib/libc++.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 5 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f3c000 madvise(0x76f3c000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f3c000, 0x2000, 0x76fb5ee4) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f3a000 madvise(0x76f3a000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f3a000, 0x2000, 0x76fb5ee4) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/5", "/system/lib/libc++.so", 4096) = 21 munmap(0x76f3a000, 8192) = 0 munmap(0x76f3c000, 8192) = 0 fstat64(5, {st_mode=S_IFREG|0644, st_size=575132, ...}) = 0 pread64(5, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0\0\0\0004\0\0\0"..., 52, 0) = 52 mmap2(NULL, 392, PROT_READ, MAP_PRIVATE, 5, 0) = 0x76f3d000 mmap2(NULL, 2224, PROT_READ, MAP_PRIVATE, 5, 0x8c000) = 0x76f3c000 mmap2(NULL, 6432, PROT_READ, MAP_PRIVATE, 5, 0x8a000) = 0x76f3a000 mmap2(NULL, 110556, PROT_READ, MAP_PRIVATE, 5, 0x9000) = 0x76f1f000 openat(AT_FDCWD, "/system/lib/libm.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 6 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f1d000 madvise(0x76f1d000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f1d000, 0x2000, 0x76fb5ee4) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f1b000 madvise(0x76f1b000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f1b000, 0x2000, 0x76fb5ee4) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/6", "/system/lib/libm.so", 4096) = 19 munmap(0x76f1b000, 8192) = 0 munmap(0x76f1d000, 8192) = 0 fstat64(6, {st_mode=S_IFREG|0644, st_size=132884, ...}) = 0 pread64(6, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0\0\0\0004\0\0\0"..., 52, 0) = 52 mmap2(NULL, 424, PROT_READ, MAP_PRIVATE, 6, 0) = 0x76f1e000 mmap2(NULL, 2424, PROT_READ, MAP_PRIVATE, 6, 0x20000) = 0x76f1d000 mmap2(NULL, 6600, PROT_READ, MAP_PRIVATE, 6, 0x1f000) = 0x76f1b000 mmap2(NULL, 8839, PROT_READ, MAP_PRIVATE, 6, 0x1000) = 0x76f18000 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f17000 madvise(0x76f17000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f17000, 0x1000, 0x76fb5ec9) = 0 mmap2(NULL, 12, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f16000 madvise(0x76f16000, 12, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f16000, 0xc, 0x76fb5f6f) = 0 openat(AT_FDCWD, "/system/lib/libsrv_init.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 7 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f14000 madvise(0x76f14000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f14000, 0x2000, 0x76fb5ee4) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f12000 madvise(0x76f12000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f12000, 0x2000, 0x76fb5ee4) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/7", "/system/lib/libsrv_init.so", 4096) = 26 munmap(0x76f12000, 8192) = 0 munmap(0x76f14000, 8192) = 0 fstat64(7, {st_mode=S_IFREG|0644, st_size=106296, ...}) = 0 pread64(7, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\30\6\0\0004\0\0\0"..., 52, 0) = 52 mmap2(NULL, 232, PROT_READ, MAP_PRIVATE, 7, 0) = 0x76f15000 mmap2(NULL, 7232, PROT_READ, MAP_PRIVATE, 7, 0x19000) = 0x76f13000 mmap2(NULL, 5888, PROT_READ, MAP_PRIVATE, 7, 0x19000) = 0x76f11000 mmap2(NULL, 2074, PROT_READ, MAP_PRIVATE, 7, 0) = 0x76f10000 openat(AT_FDCWD, "/system/lib/libsrv_um.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 8 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f0e000 madvise(0x76f0e000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f0e000, 0x2000, 0x76fb5ee4) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f0c000 madvise(0x76f0c000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f0c000, 0x2000, 0x76fb5ee4) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/8", "/system/lib/libsrv_um.so", 4096) = 24 munmap(0x76f0c000, 8192) = 0 munmap(0x76f0e000, 8192) = 0 fstat64(8, {st_mode=S_IFREG|0644, st_size=150024, ...}) = 0 pread64(8, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0T\"\0\0004\0\0\0"..., 52, 0) = 52 mmap2(NULL, 232, PROT_READ, MAP_PRIVATE, 8, 0) = 0x76f0f000 mmap2(NULL, 4456, PROT_READ, MAP_PRIVATE, 8, 0x24000) = 0x76f0d000 mmap2(NULL, 2544, PROT_READ, MAP_PRIVATE, 8, 0x24000) = 0x76f0c000 mmap2(NULL, 2909, PROT_READ, MAP_PRIVATE, 8, 0x1000) = 0x76f0b000 openat(AT_FDCWD, "/system/lib/liblog.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 9 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f09000 madvise(0x76f09000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f09000, 0x2000, 0x76fb5ee4) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f07000 madvise(0x76f07000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f07000, 0x2000, 0x76fb5ee4) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/9", "/system/lib/liblog.so", 4096) = 21 munmap(0x76f07000, 8192) = 0 munmap(0x76f09000, 8192) = 0 fstat64(9, {st_mode=S_IFREG|0644, st_size=63428, ...}) = 0 pread64(9, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0\0\0\0004\0\0\0"..., 52, 0) = 52 mmap2(NULL, 392, PROT_READ, MAP_PRIVATE, 9, 0) = 0x76f0a000 mmap2(NULL, 2816, PROT_READ, MAP_PRIVATE, 9, 0xf000) = 0x76f09000 mmap2(NULL, 6504, PROT_READ, MAP_PRIVATE, 9, 0xe000) = 0x76f07000 mmap2(NULL, 6667, PROT_READ, MAP_PRIVATE, 9, 0x1000) = 0x76f05000 openat(AT_FDCWD, "/system/lib/libsrv_um.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 10 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f03000 madvise(0x76f03000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f03000, 0x2000, 0x76fb5ee4) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f01000 madvise(0x76f01000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f01000, 0x2000, 0x76fb5ee4) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/10", "/system/lib/libsrv_um.so", 4096) = 24 munmap(0x76f01000, 8192) = 0 munmap(0x76f03000, 8192) = 0 fstat64(10, {st_mode=S_IFREG|0644, st_size=150024, ...}) = 0 openat(AT_FDCWD, "/system/lib/libhardware.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 11 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f03000 madvise(0x76f03000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f03000, 0x2000, 0x76fb5ee4) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f01000 madvise(0x76f01000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f01000, 0x2000, 0x76fb5ee4) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/11", "/system/lib/libhardware.so", 4096) = 26 munmap(0x76f01000, 8192) = 0 munmap(0x76f03000, 8192) = 0 fstat64(11, {st_mode=S_IFREG|0644, st_size=13912, ...}) = 0 pread64(11, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0\0\0\0004\0\0\0"..., 52, 0) = 52 mmap2(NULL, 392, PROT_READ, MAP_PRIVATE, 11, 0) = 0x76f04000 mmap2(NULL, 2128, PROT_READ, MAP_PRIVATE, 11, 0x3000) = 0x76f03000 mmap2(NULL, 7680, PROT_READ, MAP_PRIVATE, 11, 0x2000) = 0x76f01000 mmap2(NULL, 2144, PROT_READ, MAP_PRIVATE, 11, 0) = 0x76f00000 munmap(0x76f17000, 4096) = 0 mmap2(NULL, 139264, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76ede000 madvise(0x76ede000, 139264, MADV_MERGEABLE) = 0 mmap2(0x76ede000, 105251, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 7, 0) = 0x76ede000 mmap2(0x76eff000, 3104, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 7, 0x19000) = 0x76eff000 mmap2(NULL, 184320, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76eb1000 madvise(0x76eb1000, 184320, MADV_MERGEABLE) = 0 mmap2(0x76eb1000, 144748, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 8, 0) = 0x76eb1000 mmap2(0x76edc000, 5724, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 8, 0x23000) = 0x76edc000 mmap2(NULL, 585728, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76e22000 madvise(0x76e22000, 585728, MADV_MERGEABLE) = 0 mmap2(0x76e22000, 525924, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x76e22000 mmap2(0x76ea3000, 22952, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x80000) = 0x76ea3000 mmap2(0x76ea9000, 32768, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x76ea9000 madvise(0x76ea9000, 32768, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76ea9000, 0x8000, 0x76fb677c) = 0 mmap2(NULL, 585728, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76d93000 madvise(0x76d93000, 585728, MADV_MERGEABLE) = 0 mmap2(0x76d93000, 557344, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 5, 0) = 0x76d93000 mmap2(0x76e1c000, 16409, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 5, 0x88000) = 0x76e1c000 mmap2(0x76e21000, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x76e21000 madvise(0x76e21000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76e21000, 0x1000, 0x76fb677c) = 0 mmap2(NULL, 20480, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76d8e000 madvise(0x76d8e000, 20480, MADV_MERGEABLE) = 0 mmap2(0x76d8e000, 11144, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 11, 0) = 0x76d8e000 mmap2(0x76d91000, 4100, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 11, 0x2000) = 0x76d91000 mmap2(NULL, 106496, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76d74000 madvise(0x76d74000, 106496, MADV_MERGEABLE) = 0 mmap2(0x76d74000, 90272, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 4, 0) = 0x76d74000 mmap2(0x76d8b000, 8564, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 4, 0x16000) = 0x76d8b000 mmap2(NULL, 139264, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76d52000 madvise(0x76d52000, 139264, MADV_MERGEABLE) = 0 mmap2(0x76d52000, 127684, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 6, 0) = 0x76d52000 mmap2(0x76d72000, 4204, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 6, 0x1f000) = 0x76d72000 mmap2(NULL, 69632, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76d41000 madvise(0x76d41000, 69632, MADV_MERGEABLE) = 0 mmap2(0x76d41000, 56276, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 9, 0) = 0x76d41000 mmap2(0x76d50000, 4428, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 9, 0xe000) = 0x76d50000 socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0) = 12 fcntl64(12, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 connect(12, {sa_family=AF_UNIX, sun_path="/dev/socket/logdw"}, 110) = -1 ENOENT (No such file or directory) close(12) = 0 openat(AT_FDCWD, "/dev/stderr", O_WRONLY|O_APPEND|O_LARGEFILE|O_CLOEXEC) = 12 writev(12, [{iov_base="linker", iov_len=6}, {iov_base=": ", iov_len=2}, {iov_base="/system/lib/libsrv_init.so: unus"..., iov_len=63}, {iov_base="\n", iov_len=1}], 4linker: /system/lib/libsrv_init.so: unused DT entry: type 0xf arg 0x1ae ) = 72 close(12) = 0 write(2, "WARNING: linker: ", 17WARNING: linker: ) = 17 write(2, "/system/lib/libsrv_init.so", 26/system/lib/libsrv_init.so) = 26 write(2, ": unused DT entry: type ", 24: unused DT entry: type ) = 24 write(2, "0xf", 30xf) = 3 write(2, " arg ", 5 arg ) = 5 write(2, "0x1ae", 50x1ae) = 5 write(2, "\n", 1 ) = 1 socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0) = 12 fcntl64(12, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 connect(12, {sa_family=AF_UNIX, sun_path="/dev/socket/logdw"}, 110) = -1 ENOENT (No such file or directory) close(12) = 0 openat(AT_FDCWD, "/dev/stderr", O_WRONLY|O_APPEND|O_LARGEFILE|O_CLOEXEC) = 12 writev(12, [{iov_base="linker", iov_len=6}, {iov_base=": ", iov_len=2}, {iov_base="/system/lib/libsrv_um.so: unused"..., iov_len=61}, {iov_base="\n", iov_len=1}], 4linker: /system/lib/libsrv_um.so: unused DT entry: type 0xf arg 0xb31 ) = 70 close(12) = 0 write(2, "WARNING: linker: ", 17WARNING: linker: ) = 17 write(2, "/system/lib/libsrv_um.so", 24/system/lib/libsrv_um.so) = 24 write(2, ": unused DT entry: type ", 24: unused DT entry: type ) = 24 write(2, "0xf", 30xf) = 3 write(2, " arg ", 5 arg ) = 5 write(2, "0xb31", 50xb31) = 5 write(2, "\n", 1 ) = 1 socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0) = 12 fcntl64(12, F_SETFL, O_RDONLY|O_NONBLOCK) = 0 connect(12, {sa_family=AF_UNIX, sun_path="/dev/socket/logdw"}, 110) = -1 ENOENT (No such file or directory) close(12) = 0 openat(AT_FDCWD, "/dev/stderr", O_WRONLY|O_APPEND|O_LARGEFILE|O_CLOEXEC) = 12 writev(12, [{iov_base="linker", iov_len=6}, {iov_base=": ", iov_len=2}, {iov_base="/system/lib/libsrv_um.so: unused"..., iov_len=61}, {iov_base="\n", iov_len=1}], 4linker: /system/lib/libsrv_um.so: unused DT entry: type 0xf arg 0xb31 ) = 70 close(12) = 0 write(2, "WARNING: linker: ", 17WARNING: linker: ) = 17 write(2, "/system/lib/libsrv_um.so", 24/system/lib/libsrv_um.so) = 24 write(2, ": unused DT entry: type ", 24: unused DT entry: type ) = 24 write(2, "0xf", 30xf) = 3 write(2, " arg ", 5 arg ) = 5 write(2, "0xb31", 50xb31) = 5 write(2, "\n", 1 ) = 1 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f17000 madvise(0x76f17000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f17000, 0x1000, 0x76fb5ec9) = 0 mprotect(0x4c7000, 4096, PROT_READ) = 0 munmap(0x76f17000, 4096) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f17000 madvise(0x76f17000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f17000, 0x1000, 0x76fb5ec9) = 0 munmap(0x76f17000, 4096) = 0 mprotect(0x76ea3000, 16384, PROT_READ) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f17000 madvise(0x76f17000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f17000, 0x1000, 0x76fb5ec9) = 0 mprotect(0x76d8b000, 8192, PROT_READ) = 0 munmap(0x76f17000, 4096) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f17000 madvise(0x76f17000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f17000, 0x1000, 0x76fb5ec9) = 0 mprotect(0x76e1c000, 16384, PROT_READ) = 0 munmap(0x76f17000, 4096) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f17000 madvise(0x76f17000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f17000, 0x1000, 0x76fb5ec9) = 0 mprotect(0x76d72000, 4096, PROT_READ) = 0 munmap(0x76f17000, 4096) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f17000 madvise(0x76f17000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f17000, 0x1000, 0x76fb5ec9) = 0 mprotect(0x76d50000, 4096, PROT_READ) = 0 munmap(0x76f17000, 4096) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f17000 madvise(0x76f17000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f17000, 0x1000, 0x76fb5ec9) = 0 mprotect(0x76d91000, 4096, PROT_READ) = 0 munmap(0x76f17000, 4096) = 0 close(3) = 0 close(4) = 0 close(5) = 0 close(6) = 0 close(7) = 0 close(8) = 0 close(9) = 0 close(10) = 0 close(11) = 0 munmap(0x76f05000, 6667) = 0 munmap(0x76f07000, 6504) = 0 munmap(0x76f09000, 2816) = 0 munmap(0x76f0a000, 392) = 0 munmap(0x76f00000, 2144) = 0 munmap(0x76f01000, 7680) = 0 munmap(0x76f03000, 2128) = 0 munmap(0x76f04000, 392) = 0 munmap(0x76f0b000, 2909) = 0 munmap(0x76f0c000, 2544) = 0 munmap(0x76f0d000, 4456) = 0 munmap(0x76f0f000, 232) = 0 munmap(0x76f18000, 8839) = 0 munmap(0x76f1b000, 6600) = 0 munmap(0x76f1d000, 2424) = 0 munmap(0x76f1e000, 424) = 0 munmap(0x76f1f000, 110556) = 0 munmap(0x76f3a000, 6432) = 0 munmap(0x76f3c000, 2224) = 0 munmap(0x76f3d000, 392) = 0 munmap(0x76f40000, 14500) = 0 munmap(0x76f44000, 5880) = 0 munmap(0x76f46000, 2992) = 0 munmap(0x76f47000, 424) = 0 munmap(0x76f10000, 2074) = 0 munmap(0x76f11000, 5888) = 0 munmap(0x76f13000, 7232) = 0 munmap(0x76f15000, 232) = 0 munmap(0x76f48000, 25140) = 0 munmap(0x76f4f000, 1920) = 0 munmap(0x76f50000, 7016) = 0 munmap(0x76f52000, 424) = 0 munmap(0x76f54000, 4096) = 0 mprotect(0x76f57000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76f58000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76eaa000, 4096, PROT_READ) = 0 mprotect(0x76eaa000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76eaa000, 4096, PROT_READ) = 0 fstatat64(AT_FDCWD, "/dev/__properties__", 0x7ea712d8, 0) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "/dev/__properties__", O_RDONLY|O_LARGEFILE|O_NOFOLLOW|O_CLOEXEC) = -1 ENOENT (No such file or directory) mprotect(0x76eaa000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76eaa000, 4096, PROT_READ) = 0 openat(AT_FDCWD, "/system/lib/libnetd_client.so", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f51000 madvise(0x76f51000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f51000, 0x2000, 0x76fb5ee4) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f4f000 madvise(0x76f4f000, 8192, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f4f000, 0x2000, 0x76fb5ee4) = 0 readlinkat(AT_FDCWD, "/proc/self/fd/3", "/system/lib/libnetd_client.so", 4096) = 29 munmap(0x76f4f000, 8192) = 0 munmap(0x76f51000, 8192) = 0 fstat64(3, {st_mode=S_IFREG|0644, st_size=18012, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f54000 madvise(0x76f54000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f54000, 0x1000, 0x76fb5f83) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f52000 madvise(0x76f52000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f52000, 0x1000, 0x76fb5ec9) = 0 pread64(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0(\0\1\0\0\0\0\0\0\0004\0\0\0"..., 52, 0) = 52 mmap2(NULL, 392, PROT_READ, MAP_PRIVATE, 3, 0) = 0x76f51000 mmap2(NULL, 2136, PROT_READ, MAP_PRIVATE, 3, 0x4000) = 0x76f50000 mmap2(NULL, 7624, PROT_READ, MAP_PRIVATE, 3, 0x3000) = 0x76f4e000 mmap2(NULL, 3829, PROT_READ, MAP_PRIVATE, 3, 0) = 0x76f4d000 mmap2(NULL, 24576, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76f47000 madvise(0x76f47000, 24576, MADV_MERGEABLE) = 0 mmap2(0x76f47000, 14616, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x76f47000 mmap2(0x76f4b000, 4100, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x3000) = 0x76f4b000 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, 0, 0) = 0x76f46000 madvise(0x76f46000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f46000, 0x1000, 0x76fb5ec9) = 0 mprotect(0x76f4b000, 4096, PROT_READ) = 0 munmap(0x76f46000, 4096) = 0 close(3) = 0 munmap(0x76f4d000, 3829) = 0 munmap(0x76f4e000, 7624) = 0 munmap(0x76f50000, 2136) = 0 munmap(0x76f51000, 392) = 0 munmap(0x76f52000, 4096) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 brk(NULL) = 0x4c9000 mmap2(NULL, 524288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76cc1000 madvise(0x76cc1000, 524288, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76cc1000, 0x80000, 0x76e9a71a) = 0 munmap(0x76cc1000, 524288) = 0 mmap2(NULL, 1044480, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76c42000 madvise(0x76c42000, 1044480, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76c42000, 0xff000, 0x76e9a71a) = 0 munmap(0x76c42000, 253952) = 0 munmap(0x76d00000, 266240) = 0 clock_gettime(CLOCK_MONOTONIC, {tv_sec=165, tv_nsec=410878102}) = 0 openat(AT_FDCWD, "/sys/devices/system/cpu/online", O_RDONLY|O_LARGEFILE|O_CLOEXEC) = 3 mmap2(NULL, 524288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76c00000 madvise(0x76c00000, 524288, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76c00000, 0x80000, 0x76e9a71a) = 0 fstat64(3, {st_mode=S_IFREG|0444, st_size=4096, ...}) = 0 read(3, "0\n", 4096) = 2 clock_gettime(CLOCK_MONOTONIC, {tv_sec=165, tv_nsec=414485599}) = 0 close(3) = 0 clock_gettime(CLOCK_MONOTONIC, {tv_sec=165, tv_nsec=415226182}) = 0 futex(0x76e20234, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e21a48, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e20234, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76e20234, FUTEX_WAKE_PRIVATE, 2147483647) = 0 futex(0x76eab078, FUTEX_WAKE_PRIVATE, 2147483647) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x76f52000 madvise(0x76f52000, 4096, MADV_MERGEABLE) = 0 prctl(PR_SET_VMA, 0, 0x76f52000, 0x1000, 0x76e9a0c9) = 0 mprotect(0x76f52000, 4096, PROT_READ) = 0 futex(0x76ea9018, FUTEX_WAKE_PRIVATE, 2147483647) = 0 mprotect(0x76f54000, 4096, PROT_READ) = 0 mprotect(0x76f57000, 4096, PROT_READ) = 0 mprotect(0x76f58000, 4096, PROT_READ) = 0 mprotect(0x76f52000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76f52000, 4096, PROT_READ) = 0 openat(AT_FDCWD, "/dev/pvrsrvkm", O_RDWR|O_LARGEFILE) = 3 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xc, 0x1c), 0x7ea724b4) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x44, 0x1c), 0x7ea724f4) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0, 0x1c), 0x7ea7239c) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1, 0x1c), 0x7ea7242c) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x63, 0x1c), 0x7ea72134) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea7233c) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722fc) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000005000) = 0x76f50000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea7233c) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722fc) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000006000) = 0x76f4f000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea7233c) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722fc) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000007000) = 0x76f4e000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea7233c) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722fc) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000008000) = 0x76f4d000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea7233c) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722fc) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000009000) = 0x76f46000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea7233c) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722fc) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x8000000a000) = 0x76f45000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea72324) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722e4) = 0 mmap2(NULL, 12288, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x8000000b000) = 0x76f42000 openat(AT_FDCWD, "/etc/powervr.ini", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "powervr.ini", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea72324) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722e4) = 0 mmap2(NULL, 28672, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x8000000c000) = 0x76f37000 openat(AT_FDCWD, "/etc/powervr.ini", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) openat(AT_FDCWD, "powervr.ini", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory) ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea72324) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722e4) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x8000000d000) = 0x76f41000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea72324) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722e4) = 0 mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x8000000e000) = 0x76f35000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea72314) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722d4) = 0 mmap2(NULL, 28672, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x8000000f000) = 0x76f2e000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea72314) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722d4) = 0 mmap2(NULL, 24576, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000010000) = 0x76f28000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea72314) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722d4) = 0 mmap2(NULL, 24576, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000011000) = 0x76f22000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea72314) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722d4) = 0 mmap2(NULL, 32768, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000012000) = 0x76f1a000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea7233c) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722fc) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000013000) = 0x76f40000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea7233c) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722fc) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000014000) = 0x76f19000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea7233c) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722fc) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000015000) = 0x76f18000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea7233c) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722fc) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000016000) = 0x76f17000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x6, 0x1c), 0x7ea7233c) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xb, 0x1c), 0x7ea722fc) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_SHARED, 3, 0x80000017000) = 0x76f15000 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f50000, 8192) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f4f000, 4096) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f4e000, 4096) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f46000, 4096) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f4d000, 4096) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f45000, 4096) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f37000, 28672) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f41000, 4096) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f35000, 8192) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f42000, 12288) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f2e000, 28672) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f28000, 24576) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f1a000, 32768) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f22000, 24576) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f40000, 4096) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f19000, 4096) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f18000, 4096) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f17000, 4096) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x1b, 0x1c), 0x7ea72404) = 0 munmap(0x76f15000, 4096) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x64, 0x1c), 0x7ea7243c) = 0 clock_gettime(CLOCK_MONOTONIC, {tv_sec=166, tv_nsec=844604195}) = 0 clock_gettime(CLOCK_MONOTONIC, {tv_sec=166, tv_nsec=845206447}) = 0 clock_gettime(CLOCK_MONOTONIC, {tv_sec=166, tv_nsec=845971827}) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0x45, 0x1c), 0x7ea724e4) = 0 ioctl(3, _IOC(_IOC_READ|_IOC_WRITE, 0x67, 0xd, 0x1c), 0x7ea724bc) = 0 close(3) = 0 clock_gettime(CLOCK_MONOTONIC, {tv_sec=166, tv_nsec=931130832}) = 0 mprotect(0x76f52000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76f52000, 4096, PROT_READ) = 0 mprotect(0x76f52000, 4096, PROT_READ|PROT_WRITE) = 0 mprotect(0x76f52000, 4096, PROT_READ) = 0 munmap(0x76f52000, 4096) = 0 exit_group(0) = ? > > I'm building my kernel and will get strace output of pvrsrvinit on my > device (where it's working) in few minutes. > For me it fails when trying to use egl programs (egl configurations = > 0). Of course on mainline (5.0-rc4). > > > > Hope this helps! > > > > BR, > > Nikolaus > > Log is a bit "strange" because i'm running android binaries (pvrsrvinit etc) under linux (ubuntu 18.04, booted from uboot), so there are references to android libs/properties/etc