内核

Linux 内核测试和调试(4)

自动测试工具 这里列出一些能满足不同需求的测试工具供你选择。本小节只是简单介绍个大概,并不提供详细操作指南。 AuToTest AuToTest 是一个全自动测试框架,存在的主要目的就是测试 Linux 内核,当然也可以用来测试其他东西,比如测试一块新硬件是否能稳定工作。AuToTest 是开源软件,以 GPL 方式授权,运行于 server-client 架构(即 C/S 架构)。你可以通过配置 server 端来对运行了 client 端的系统执行初始化、运行与监测工作,也可以自己在目标系统上让 client 运行起来。另外你可以为这个测试框架添加测试用例,详情请参考AuToTe
2014-08-26
7分钟阅读时长

Linux 内核测试与调试(3)

基本测试 安装好内核后,试试能不能启动它。能启动的话,检查 dmesg 看看有没有隐藏的错误。试试下面的功能: 网络(Wifi 或者网线)是否可用? ssh 是否可用? 使用 ssh 远程传输文件。 使用 git clone 和 git pull 命令。 用用网络浏览器。 查看 email。 使用 ftp, wget 等软件下载文件。 播放音频视频文件。 连上 USB 鼠标等设备。 检查内核日志 使用 dmesg 查看隐藏的问题,对于定位新代码带来的 bug 是一个好方法。一般来说,dmesg 不会输出新的 crit, alert, emerg 级别的错误信息,也不应该出现新的 err 级别的信息。你要注意的
2014-08-19
5分钟阅读时长

Linux 内核测试与调试(2)

编译安装稳定版内核 如果你用 git 下载源码,就执行以下命令: cd linux-stable git checkout linux-3.x.y 如果是直接下载压缩文件,用以下命令进入源码目录: cd linux-3.x.y 如果你想把内核安装到自己的系统上,最安全的方法是使用你安装好的发行版拥有的配置文件。你可以在 /boot 目录找到当前发行版的内核配置文件: cp /boot/config-3.x.y-z-generic .config 运行下面的命令,可以在当前内核配置的基础上修改一些小地方,然后产生新的内核配置文件。比如说新的内核比你的 Ubuntu 发行版自带的内核多了些新功能,而你正好需要用到
2014-08-18
4分钟阅读时长

Linux 3.16 内核中有什么新东西?

就在我们在梦乡中沉醉的的时间里,莱纳斯托沃兹却一直处在忙碌之中。 是的,大家应该已经知道了,不久之前,Linux 3.16已经释出了稳定版本。 在他购买的一张跑步机办公桌上(或许不是,但是他的性格中的幽默实在是难以让人招架)Linux的创始人终于公布了最新的稳定版本: 虽然3.16有一阵看起来有点玄乎,但是后来一切进展顺利,没有理由去做一些额外的候选发布版,就像几个星期前我担心的那样。 Linux 3.16有什么新特性? 代号为Shuffling Zombie Juror的Linux 3.16 的发布伴随着一系列的关键性改进。它们包括了复杂的和完整的 - 例如,u
2014-08-15
2分钟阅读时长

Linux 内核的测试和调试(1)

Linux 内核测试哲学 不管是开源还是闭源,所有软件的开发流程中,测试是一个重要的、不可或缺的环节,Linux 内核也不例外。开发人员自测、系统测试、回归测试、压力测试,都有各自不同的目的,但是从更高一个层次上看,这些测试的最终目的又是一样的:保证软件能一直运行下去,当有新功能加进去时,要保证新功能可以正常工作。 在软件释出 release 版之前,不用回归测试就能保证稳定性,并且尽量避免在软件发布后被用户发现 bug。调试被用户发现的 bug 是一项非常浪费时间和精力的工作。因此测试是一项非常重要的工作。不像闭源和专有的操
2014-08-14
4分钟阅读时长

戴文的Linux内核专题:28 编译与安装

你好!在花费了大量的时间在配置你需要的内核后,你现在可以编译它了。源代码是纯文本形式的C代码。这对人来可读但是对机器可不是这样。编译会将代码转换成计算机可理解的一种称之为二进制码的形式(1是 ,0 是 )。编译同样会将所有内核代码文件变成一个内核的文件。 为了编译内核,在内核源代码相同目录下,在终端内输入"make"。这会花费一些时间。完成之后,必须通过"make modules"来编译模块。为了从一开始就简化编译过程,输入"make; make modules"。这会先编译接着是模块,而不用用户再回来输入"make modules"。 警告:在你安装一个
2014-06-28
5分钟阅读时长

戴文的Linux内核专题:27 配置内核 (23)

欢迎来到内核配置的下一章!本篇中我们会配置密码API,虚拟化和运行库。密码学指的是在需要的计算机之间加密和安全通信的科学。用户可能加密数据以保证是收件人而不是黑客收到数据。 Linux内核需要在内核中启用"Cryptographic algorithm manager"(密码算法管理器)。这个特性提供了操作内核的加密特性所需的软件。 当启用这个它,用户空间提供了配置加密特性(Userspace cryptographic algorithm configuration)。注意:这个配置指的是内核运行时的加密设置,不是编译内核的工具。 为了加强性能,启用这个会在加密算法中停止自我检测的特性 (
2014-06-28
6分钟阅读时长