Сборка модуля ядра из исходников под Linux 4.4
Собираю модуль ядра на linux 3.8.0-19-generic - успех. На 4.4.0-133-generic не собирается, что, собственно, и рекомендуется:
Kernel == 3.8. Due to tree function changes this version of can-eth-gw will only compile at this Kernel version. But it should be modifiable for other verions.
Пытался определить зависимости (strace make) при сборке на обоих ядрах (слева 4.4, справа 3.8):
execve("/usr/bin/make", ["make"], [/* 62 vars */]) = 0 | execve("/usr/bin/make", ["make"], [/* 52 vars */]) = 0
brk(NULL) = 0x250e000 | brk(0) = 0x16e2000
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such
> mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYM
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3 open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=113782, ...}) = 0 | fstat(3, {st_mode=S_IFREG|0644, st_size=69923, ...}) = 0
mmap(NULL, 113782, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f8d9cb8 | mmap(NULL, 69923, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f6487c14
close(3) = 0 close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such
open("/lib/x86_64-linux-gnu/libdl.so.2", O_RDONLY|O_CLOEXEC) | open("/lib/x86_64-linux-gnu/librt.so.1", O_RDONLY|O_CLOEXEC)
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240\r | read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20#\0
fstat(3, {st_mode=S_IFREG|0644, st_size=14608, ...}) = 0 | fstat(3, {st_mode=S_IFREG|0644, st_size=31760, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYM | mmap(NULL, 2128984, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENY
mmap(NULL, 2109680, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENY | mprotect(0x7f6487805000, 2093056, PROT_NONE) = 0
mprotect(0x7f8d9c776000, 2093056, PROT_NONE) = 0 | mmap(0x7f6487a04000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|
mmap(0x7f8d9c975000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE| <
close(3) = 0 close(3) = 0
access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such
open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) = open("/lib/x86_64-linux-gnu/libc.so.6", O_RDONLY|O_CLOEXEC) =
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0P\t\2\ | read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\3
fstat(3, {st_mode=S_IFREG|0755, st_size=1868984, ...}) = 0 | fstat(3, {st_mode=S_IFREG|0755, st_size=1848024, ...}) = 0
mmap(NULL, 3971488, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENY | mmap(NULL, 3961912, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENY
mprotect(0x7f8d9c569000, 2097152, PROT_NONE) = 0 | mprotect(0x7f64875f4000, 2093056, PROT_NONE) = 0
mmap(0x7f8d9c769000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE | mmap(0x7f64877f3000, 24576, PROT_READ|PROT_WRITE, MAP_PRIVATE
mmap(0x7f8d9c76f000, 14752, PROT_READ|PROT_WRITE, MAP_PRIVATE | mmap(0x7f64877f9000, 17464, PROT_READ|PROT_WRITE, MAP_PRIVATE
close(3) = 0 | close(3) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYM | access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYM | open("/lib/x86_64-linux-gnu/libpthread.so.0", O_RDONLY|O_CLOE
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYM | read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\20m\0
arch_prctl(ARCH_SET_FS, 0x7f8d9cb7d700) = 0 | fstat(3, {st_mode=S_IFREG|0755, st_size=135175, ...}) = 0
mprotect(0x7f8d9c769000, 16384, PROT_READ) = 0 | mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYM
mprotect(0x7f8d9c975000, 4096, PROT_READ) = 0 | mmap(NULL, 2212936, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENY
mprotect(0x630000, 4096, PROT_READ) = 0 | mprotect(0x7f6487231000, 2093056, PROT_NONE) = 0
mprotect(0x7f8d9cb9c000, 4096, PROT_READ) = 0 | mmap(0x7f6487430000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|
munmap(0x7f8d9cb80000, 113782) = 0 | mmap(0x7f6487432000, 13384, PROT_READ|PROT_WRITE, MAP_PRIVATE
getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM64_ | close(3) = 0
setrlimit(RLIMIT_STACK, {rlim_cur=RLIM64_INFINITY, rlim_max=R | mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYM
brk(NULL) = 0x250e000 | mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYM
brk(0x252f000) = 0x252f000 | arch_prctl(ARCH_SET_FS, 0x7f6487c10740) = 0
> mprotect(0x7f64877f3000, 16384, PROT_READ) = 0
> mprotect(0x7f6487430000, 4096, PROT_READ) = 0
> mprotect(0x7f6487a04000, 4096, PROT_READ) = 0
> mprotect(0x627000, 4096, PROT_READ) = 0
> mprotect(0x7f6487c28000, 4096, PROT_READ) = 0
> munmap(0x7f6487c14000, 69923) = 0
> set_tid_address(0x7f6487c10a10) = 2717
> set_robust_list(0x7f6487c10a20, 0x18) = 0
> futex(0x7fffad445fac, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_R
> rt_sigaction(SIGRTMIN, {0x7f648721f800, [], SA_RESTORER|SA_SI
> rt_sigaction(SIGRT_1, {0x7f648721f880, [], SA_RESTORER|SA_RES
> rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
> getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_IN
> getrlimit(RLIMIT_STACK, {rlim_cur=8192*1024, rlim_max=RLIM_IN
> setrlimit(RLIMIT_STACK, {rlim_cur=RLIM_INFINITY, rlim_max=RLI
> brk(0) = 0x16e2000
> brk(0x1703000) = 0x1703000
open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) = open("/usr/lib/locale/locale-archive", O_RDONLY|O_CLOEXEC) =
fstat(3, {st_mode=S_IFREG|0644, st_size=4230720, ...}) = 0 | fstat(3, {st_mode=S_IFREG|0644, st_size=8460064, ...}) = 0
mmap(NULL, 4230720, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f8d9bf | mmap(NULL, 8460064, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f6486a
close(3) = 0 close(3) = 0
rt_sigaction(SIGHUP, {0x409b80, [HUP], SA_RESTORER|SA_RESTART | rt_sigaction(SIGHUP, {0x405c40, [HUP], SA_RESTORER|SA_RESTART
rt_sigaction(SIGQUIT, {0x409b80, [QUIT], SA_RESTORER|SA_RESTA | rt_sigaction(SIGQUIT, {0x405c40, [QUIT], SA_RESTORER|SA_RESTA
rt_sigaction(SIGINT, {0x409b80, [INT], SA_RESTORER|SA_RESTART | rt_sigaction(SIGINT, {0x405c40, [INT], SA_RESTORER|SA_RESTART
rt_sigaction(SIGTERM, {0x409b80, [TERM], SA_RESTORER|SA_RESTA | rt_sigaction(SIGTERM, {0x405c40, [TERM], SA_RESTORER|SA_RESTA
rt_sigaction(SIGXCPU, {0x409b80, [XCPU], SA_RESTORER|SA_RESTA | rt_sigaction(SIGXCPU, {0x405c40, [XCPU], SA_RESTORER|SA_RESTA
rt_sigaction(SIGXFSZ, {0x409b80, [XFSZ], SA_RESTORER|SA_RESTA | rt_sigaction(SIGXFSZ, {0x405c40, [XFSZ], SA_RESTORER|SA_RESTA
rt_sigaction(SIGCHLD, {SIG_DFL, [CHLD], SA_RESTORER|SA_RESTAR | rt_sigaction(SIGCHLD, {SIG_DFL, [CHLD], SA_RESTORER|SA_RESTAR
fcntl(1, F_GETFL) = 0x8402 (flags O_RDW | getcwd("/home/reddyard/Downloads/can_eth_gw-master", 4096) =
fcntl(1, F_SETFL, O_RDWR|O_APPEND|O_LARGEFILE) = 0 | stat("/usr/include", {st_mode=S_IFDIR|0755, st_size=4096, ...
fcntl(2, F_GETFL) = 0x8402 (flags O_RDW | stat("/usr/gnu/include", 0x7fffad4446c0) = -1 ENOENT (No such
fcntl(2, F_SETFL, O_RDWR|O_APPEND|O_LARGEFILE) = 0 <
getcwd("/home/reddyard/\320\227\320\260\320\263\321\200\321\2 <
ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0 <
ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0 <
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...} <
readlink("/proc/self/fd/1", "/dev/pts/1", 4095) = 10 <
stat("/dev/pts/1", {st_mode=S_IFCHR|0620, st_rdev=makedev(136 <
ioctl(2, TCGETS, {B38400 opost isig icanon echo ...}) = 0 <
ioctl(2, TCGETS, {B38400 opost isig icanon echo ...}) = 0 <
fstat(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...} <
readlink("/proc/self/fd/2", "/dev/pts/1", 4095) = 10 <
stat("/dev/pts/1", {st_mode=S_IFCHR|0620, st_rdev=makedev(136 <
stat("/usr/include", {st_mode=S_IFDIR|0755, st_size=12288, .. <
stat("/usr/gnu/include", 0x7ffccdc67620) = -1 ENOENT (No such <
stat("/usr/local/include", {st_mode=S_IFDIR|0755, st_size=409 stat("/usr/local/include", {st_mode=S_IFDIR|0755, st_size=409
stat("/usr/include", {st_mode=S_IFDIR|0755, st_size=12288, .. | stat("/usr/include", {st_mode=S_IFDIR|0755, st_size=4096, ...
rt_sigaction(SIGCHLD, {0x412dd0, [CHLD], SA_RESTORER|SA_RESTA | rt_sigaction(SIGCHLD, {0x40e130, [CHLD], SA_RESTORER|SA_RESTA
rt_sigaction(SIGUSR1, {0x4165c0, [USR1], SA_RESTORER|SA_RESTA | rt_sigaction(SIGUSR1, {0x4108c0, [USR1], SA_RESTORER|SA_RESTA
brk(0x2550000) = 0x2550000 <
stat(".", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0 stat(".", {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0
open(".", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC) = 3 | openat(AT_FDCWD, ".", O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEX
fstat(3, {st_mode=S_IFDIR|0775, st_size=4096, ...}) = 0 | getdents(3, /* 16 entries */, 32768) = 472
getdents(3, /* 17 entries */, 32768) = 512 <
getdents(3, /* 0 entries */, 32768) = 0 getdents(3, /* 0 entries */, 32768) = 0
close(3) = 0 close(3) = 0
open("Makefile", O_RDONLY) = 3 open("Makefile", O_RDONLY) = 3
fcntl(3, F_SETFD, FD_CLOEXEC) = 0 <
fstat(3, {st_mode=S_IFREG|0664, st_size=1991, ...}) = 0 fstat(3, {st_mode=S_IFREG|0664, st_size=1991, ...}) = 0
> mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYM
read(3, " ###############################"..., 4096) = 1991 read(3, " ###############################"..., 4096) = 1991
pipe([4, 5]) = 0 pipe([4, 5]) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_S | vfork() = 2718
close(5) = 0 close(5) = 0
read(4, "4.4.0-133-generic\n", 200) = 18 | read(4, "3.8.0-19-generic\n", 200) = 17
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=264 | --- SIGCHLD (Child exited) @ 0 (0) ---
rt_sigreturn({mask=[]}) = 18 | rt_sigreturn(0xffffffff) = 17
read(4, "", 182) = 0 | read(4, "", 183) = 0
close(4) = 0 close(4) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = | wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) =
pipe([4, 5]) = 0 pipe([4, 5]) = 0
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_S | vfork() = 2719
close(5) = 0 close(5) = 0
read(4, "/home/reddyard/\320\227\320\260\320\263\321\200\321\ | read(4, "/home/reddyard/Downloads/can_eth"..., 200) = 43
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=264 | --- SIGCHLD (Child exited) @ 0 (0) ---
rt_sigreturn({mask=[]}) = 50 | rt_sigreturn(0xffffffff) = 43
read(4, "", 150) = 0 | read(4, "", 157) = 0
close(4) = 0 close(4) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) = | wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) =
read(3, "", 4096) = 0 read(3, "", 4096) = 0
close(3) = 0 close(3) = 0
stat("RCS", 0x7ffccdc675d0) = -1 ENOENT (No such | munmap(0x7f6487c25000, 4096) = 0
stat("SCCS", 0x7ffccdc675d0) = -1 ENOENT (No such | stat("RCS", 0x7fffad444670) = -1 ENOENT (No such
> stat("SCCS", 0x7fffad444670) = -1 ENOENT (No such
stat("Makefile", {st_mode=S_IFREG|0664, st_size=1991, ...}) = stat("Makefile", {st_mode=S_IFREG|0664, st_size=1991, ...}) =
stat("modules", 0x7ffccdc653e0) = -1 ENOENT (No such | stat("modules", 0x7fffad442550) = -1 ENOENT (No such
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...} | fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}
write(1, "make -C /lib/modules/4.4.0-133-g"..., 105) = 105 | mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYM
> write(1, "make -C /lib/modules/3.8.0-19-ge"..., 97) = 97
pipe([3, 4]) = 0 pipe([3, 4]) = 0
close(4) = 0 close(4) = 0
fcntl(3, F_SETFD, FD_CLOEXEC) = 0 fcntl(3, F_SETFD, FD_CLOEXEC) = 0
rt_sigprocmask(SIG_BLOCK, [HUP INT QUIT TERM XCPU XFSZ], NULL rt_sigprocmask(SIG_BLOCK, [HUP INT QUIT TERM XCPU XFSZ], NULL
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_S | vfork() = 2720
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 2}], 0, NULL) = | wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0, NULL) =
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=264 | --- SIGCHLD (Child exited) @ 0 (0) ---
rt_sigreturn({mask=[]}) = 26428 | rt_sigreturn(0xffffffff) = 2720
open("/usr/share/locale/locale.alias", O_RDONLY|O_CLOEXEC) = <
fstat(4, {st_mode=S_IFREG|0644, st_size=2995, ...}) = 0 <
read(4, "# Locale name alias data base.\n#"..., 4096) = 2995 <
read(4, "", 4096) = 0 <
close(4) = 0 <
open("/usr/share/locale/ru/LC_MESSAGES/make.mo", O_RDONLY) = <
open("/usr/share/locale-langpack/ru/LC_MESSAGES/make.mo", O_R <
fstat(4, {st_mode=S_IFREG|0644, st_size=55696, ...}) = 0 <
mmap(NULL, 55696, PROT_READ, MAP_PRIVATE, 4, 0) = 0x7f8d9cb8e <
close(4) = 0 <
open("/usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache", O <
fstat(4, {st_mode=S_IFREG|0644, st_size=26258, ...}) = 0 <
mmap(NULL, 26258, PROT_READ, MAP_SHARED, 4, 0) = 0x7f8d9cb870 <
close(4) = 0 <
write(1, "Makefile:51: \320\276\321\210\320\270\320\261\320\2 <
write(2, "make: *** [modules] \320\236\321\210\320\270\320\26 <
rt_sigprocmask(SIG_BLOCK, [HUP INT QUIT TERM XCPU XFSZ], NULL rt_sigprocmask(SIG_BLOCK, [HUP INT QUIT TERM XCPU XFSZ], NULL
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
chdir("/home/reddyard/\320\227\320\260\320\263\321\200\321\20 | stat("modules", 0x7fffad4425e0) = -1 ENOENT (No such
> chdir("/home/reddyard/Downloads/can_eth_gw-master") = 0
close(1) = 0 close(1) = 0
exit_group(2) = ? | munmap(0x7f6487c25000, 4096) = 0
+++ exited with 2 +++ | exit_group(0) = ?