[学习记录]linux内核学习1-环境配置与内核安装与一点学习思路

最近开始往linux内核方向研究,苦于目前找到的资料与我个人学习习惯不同,所以就一遍啃骨头一遍整理思路,尝试整理一条适合自己的学习路线。

学习之前先整理下手头的资源吧

一个内核新人社区,有很多不错的东西https://kernelnewbies.org/

linux内核官方网站 https://www.kernel.org/

内核本质上也是一系列代码,因此绝不能脱离程序来学内核。为了对内核有一个大体的了解,先动手安装一下内核是个不错的选择。

 

首先去官方网站下载你想研究的内核版本,然后解压。内核中有一个Documentation的文件夹,里面就有各个模块的文档。

 

在内核源码目录(例如linux-X.X.X)下,复制一下本地的内核配置文件用来编译

cp /boot/config-`uname -r`* .config

 

然后make一下config

最简单的就是

make olddefconfig

据说使用下面的配置会快一点,能快多少我也不太清楚

make localmodconfig

 

然后

 

就可以make了,直接make

如果cpu有X个核的话可以  make -jX 从而加快一点速度

我自己虚拟机单核编译了4个小时

 

编译会在每个模块下生成对应的.ko文件,就是内核模块了

 

编译完成后需要把它们安装到本地

sudo make modules_install install

安装过程比编译会快很多,安装完之后需要对引导程序进行配置

sudo vim /etc/default/grub

如果这个文件里有下面两行内容的话,直接注释掉

GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true

然后进行如下修改

GRUB_TIMEOUT=10
GRUB_TIMEOUT_STYLE=menu

 

修改完毕后运行下面的指令刷新配置,然后重启来加载新内核

sudo update-grub2

使用uname -a就可以发现已经更换新内核了

 

 

posted @ 2019-11-09 11:15  冷血无情康纳酱  阅读(291)  评论(0编辑  收藏  举报