Only for a test, and only for a test computer, I am trying to backport a kernel.org proposed change to a previous kernel version. I can not get it to compile.
Compiling an unaltered kernel works fine, as does compiling several other test versions, but with only simple changes within the existing structure. The difference between this version and the others is the deletion and replacement of one procedure.
The error:
Code:
CC [M] fs/xfs/xfs_sysctl.o
CC [M] fs/xfs/xfs_ioctl32.o
LD [M] fs/xfs/xfs.o
LD fs/built-in.o
make[1]: *** [sub-make] Error 2
make[1]: Leaving directory `/home/doug/temp-kernel/linux-3.2.0'
make: *** [/home/doug/temp-kernel/linux-3.2.0/debian/stamps/stamp-build-generic] Error 2
The kernel I am working with: 3.2.0-24-generic #37, which is structured quite differently than the most recent kernel.org kernels. In the file /kernel/sched.c the function update_cpu_load is deleted and a new function update_idle_cpu_load is added. There is also a call change in sched_fair.c. I have searched the entire file structure and can not find where kernel 3.2.0.24 has the equivalent of this part of the kernel.org changes:
Code:
diff --git a/kernel/sched/sched.h b/kernel/sched/sched.h
index 7282e7b..ba9dccf 100644
--- a/kernel/sched/sched.h
+++ b/kernel/sched/sched.h
@@ -876,7 +876,7 @@ extern void resched_cpu(int cpu);
extern struct rt_bandwidth def_rt_bandwidth;
extern void init_rt_bandwidth(struct rt_bandwidth *rt_b, u64 period, u64 runtime);
-extern void update_cpu_load(struct rq *this_rq);
+extern void update_idle_cpu_load(struct rq *this_rq);
i.e. I didn't expect my compile to work just yet, but I at least hoped to get a more insightful error message.
Any suggestions as to how I can get further with this? Or just how to increase verbose information?
Reference:
http://www.serverphorums.com/read.php?12,495685,495685
My compile kernel script (since I can never remember the commands):
Code:
doug@s15:~/temp-kernel/linux-3.2.0$ cat compile_kernel
#! /bin/bash
time fakeroot debian/rules clean
AUTOBUILD=1 NOEXTRAS=1
time fakeroot debian/rules binary-generic
Edit: I tried just leaving the name "update_cpu_load" for what should be "update_idle_cpu_load", so kernel/sched_fair.c becomes unchanged and there are only changes in kernel/sched.c. However, the compile error is the same. So I have some issue in my backport edit.
Bookmarks