Linux 内核编译
在学习Linux内核的过程中,编译Linux内核可能是个或早或晚都要走的步骤。这里只对Linux内核编译过程做个记录。因为我只是学习用,所以对内核的版本并没有明确的需求。
编译环境的搭建
我用的是Virtualbox6.0,下载了一个Centos6.5的镜像,进行安装,安装的时候需要注意的事项:
- 预分配的硬盘大小不要太小,默认8G是不够的,第一次编译内核的时候,编译过程中报错磁盘空间用光了。我直接分了64G,网上说20-30G也是足够的。
- 安装的时候Centos会提示安装选项,选择software server development方式安装,这样的话,gcc等编译需要用到的工具就全部安装了。
Linux源码下载
源码下载网站: https://cdn.kernel.org/pub/linux/kernel/
源码版本的选择
具体使用哪个版本的内核取决于大家的需要,因为我只是学习用,最方便的版本就是跟当前Centos一样的版本。Centos6.5用到的版本是2.6.32。
编译不同版本内核时的相应gcc版本是不同的,我们需要根据自己需要编译的内核版本安装对应的gcc版本。
Linux 2.6.32 使用的gcc版本是gcc 4.4.7。
因为我安装的时候选择了安装相应的开发工具,gcc 4.4.7已经安装了。
cat /proc/version
Linux version 2.6.32 (root@johnsonz) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #3 SMP Thu Dec 1 16:47:03 CST 2022
[root@johnsonz log]# gcc --version
gcc (GCC) 4.4.7 20120313<