----------------------------------------------------------------------
本文主要讲述,如何根据当前运行的Ubuntu版本,找到对应的内核源码。
首先,按照下面链接里的内容,下载对应的内核源码仓库。
https://wiki.ubuntu.com/Kernel/Dev/KernelGitGuide
如果觉得链接里的内容太长了,可以试下如下命令。
git clone git://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/$(lsb_release -cs)
该命令会根据你当前的Ubuntu版本下载对应的内核代码。
如果这个命令没报错,说明一切顺利,只要等待下载完成就行了。
Ubuntu内核代码下载完成之后,默认为master分支。该分支通常并不是精确对应到我们当前运行的Ubuntu版本,所以我们要切换分支。
先通过如下命令,找到当前运行的Ubuntu的精确版本号。
➜ bionic git:(master) cat /proc/version_signature
Ubuntu 4.15.0-45.48-generic 4.15.18
其中,-generic之前的信息就对应为Ubuntu内核源码的tag,不过要把Ubuntu后的空格换成中划线。比如上面命令输出对应的tag就是 Ubuntu-4.15.0-45.48 。
然后,我们进入到下载好的内核源码目录,执行如下命令,把源码切换到该tag对应的版本。
➜ bionic git:(master) git checkout Ubuntu-4.15.0-45.48
HEAD is now at ffdd392b8196 UBUNTU: Ubuntu-4.15.0-45.48
好了,现在我们就拥有了当前运行的Ubuntu版本的内核源码,可以开始尽情读源码,做实验了。
搞定。