作为一个BIOS开发工程师,很多时候,会接触到OS相关的问题,特别是系统下的压力测试。有的时候,系统莫名其妙就挂掉了,为了定位问题,一定的OS定位技巧是必须的,现在主要以Linux系统为例进行说明。
定位问题,可能需要内核源码,查看内核bug,具体的OS源码,甚至编译Linux内核。
1.首先推荐一个内核源码的网址:https://www.kernel.org/;这个网站上面有linux内核源码,以及常见的bug和patch。遇见linux系统挂死问题,最好先到网上查查,看看是不是linux kernel bug,切记不要瞎忙活。
2.主流的系统一般是readhat或者Centos,这两个的源码其实差不多,具体原因,有兴趣的同学可以自己搜索,我就不多说了。
还是推荐一个系统源码下载地址:http://vault.centos.org/;这里有各个版本centos系统的源码。
3.下载源码之后,就可以直接在source Insight上查看源码了,但很多时候,仅仅查看源码是不够的,看了源码,也许能让你定位到问题发生的范围。也许你技术很好,可以直接把问题看出来;但是更多的是普通人,需要通过调试定位,而且确认问题,修改问题,还需要验证问题,这个时候,必然会涉及到编译Linux内核。
这里还是推荐大家一个编译Linux内核的网址:https://wiki.centos.org/,选择下面标题栏的How To,在Contents下面选择8 Kernel,选择之后,可以选择第8项下面的“I Need to Build a Custom Kernel",
会跳转到https://wiki.centos.org/HowTos/Custom_Kernel,这里会详细介绍如何编译Linux内核,按照步骤来,基本就是傻瓜操作了。
无论是查看源码,还是编译Linux内核,有的时候,我们可能会需要一些额外的RPM包,那么,我还是推荐几个常用的RPM包资源网址:http://rpmfind.net/,http://rpm.phone.net/(前面一个肯定是ok的,后面一个由于公司proxy,公司网络禁止访问。。。)
最后还是推荐一本Linux方面的书《鸟哥的私房菜》,对于刚入门的人新手来说,还是可以看一看的。