我最近的科研工作需要使用到对ubuntu内核源代码进行编译,因此我下载了最新的长期支持版本的ubuntu20.04,为什么使用最新版而不是16.04或者18.04呢?因为最新版本的内核支持最新的技术,更完善更好,并且20.04已经发布一年多,且是长期支持版本,兼容性和可靠性值得信赖。
当前时间最新版本是21.04,不太建议使用这么新的版本,一是可能没那么稳定,二是不是长期支持版本LST。
那些想要修改内核源代码或在读源码编译源码的人,都可以从本博客中学习到一点我总结的知识。我的信息都来自互联网,只不过是对前人工作的总结。
本文没有进行内核编译,只是下载源代码,查看分析!
这个不是本博客的重点内容,详细步骤请参考互联网。
我安装的过程没有参考哪些文章,20.04安装非常简单,只需要输入用户名和密码就好了,基本的配置都会给默认弄好。
查看ubuntu版本信息
Ubuntu安装包和依赖都需要apt工具,国内可以更改apt源为阿里云镜像或者清华镜像。
更改apt源为阿里云镜像。
首先备份原来的apt源文件
更改sources.list文件内容为:
需要注意的是,不同版本的源是不一样的,Ubuntu20.04版本名称为focal,如果使用了错误的版本,那么会造成apt很多下载没法使用。
默认的Ubuntu20.04好多包都没有安装,包括vim,git等,可以根据自己的需要进行安装,这里不再描述。
使用上面的查看内核信息,可以看到内核版本号,我的版本是5.11.0
内核代码都放置在:
进入该目录,发现并没有Linux内核源代码,只有四个头文件包header,因为默认安装的Ubuntu20.04没有将源文件保留,对于大多数用户,不需要源代码包。我们可以去网上下载,我找到了一个下载速度比较快的网站:
Linux内核源代码下载
进入网页,往下拉,上面都是补丁内容,下面是内核源码,找一个5.10版本开头的,tar.gz结尾的,下载下来就好,速度很快的。
然后进行解压缩,进入压缩包的目录,输入下面的shell命令
在目录/usr/src/linux-5.10下执行命令:
发现是报错的,无法正常进入那个编译内核的界面。
需要安装一系列的包,中间我踩了很多坑,只需要照着做就行了,包是什么,什么功能现在也不必知道。
安装好之后就可以成功进入那个配置界面了。
编译进内核的tcp拥塞控制算法只有reno(reno其实就是new reno)和cubic,并且默认的拥塞控制算法是cubic
我进入内核配置界面,发现其实是有很多拥塞控制算法的,只是其他拥塞控制算法编译为模块,不是编译进内核。
想要使用所有的拥塞控制算法,来做科研测试等,需要安装模块,或者编译进内核。
值得我注意到是,我发现新版本的内核已经支持了mptcp,在net包下有一个mptcp的目录,并且使用下面的指令,值为1,可以发现启用了mptcp:
我很好奇内核代码的传输层协议为mptcp和tcp的性能差别,因此我进行了简单的测试。
我是用mininet进行的网络测试,发现多个端口情况下,mptcp和tcp的性能一样,普通情况下mptcp性能竟然还要比tcp低一点。
代码和过程就不放了,现在我也不想研究mptcp,tcp就够我喝一壶了!
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/qdvuejs/58465.html