linux2.6.38内核源码树的建立

注意:以下步骤都要在root权限下执行,sudo

1.下载源码  linux-2.6.38.tar.bz2

Index of /kernel/linux/kernel/v2.6/

2.解压文件到/usr/src下,tar -xvf linux-2.6.38.tar.bz2 -C /usr/src

3.make menuconfig

选择最后一项,保存.config文件,然后退出

4.make

会报错,arch/x86/kernel/ptrace.c:1472:17: error: conflicting types for 'syscall_trace_enter'
说明ptrace.c 文件中第1472行的函数syscall_trace_leave和ptrace.h文件中该函数的声明有冲突,只要将ptrace.h文件中的函数声明改得和ptrace.c中的相同即可。另外,有人专门针对这个错误写了个补丁,地址为https://patchwork.kernel.org/patch/1301031/  。

gedit linux2638.patch

把代码拷进去,保存推出

然后cd到/usr/src 执行:patch -p0 < linux2638.patch的路径

安装好补丁成功会提示


重新sudo make,耗时比较长,耐心等待

5.make modules

6.make modultes_install

7.make install

至此,建立完成,重启,重启后的界面你能看到有2个内核版本给你选,我现在用的ubuntu是内核3.16,为了学习tiny6410才又建立了这个版本的内核树。

你可能感兴趣的:(linux2.6.38内核源码树的建立)