1.linux内核源码目录在哪linux内核源码
2.剖析Linux内核源码解读之《配置与编译》
linux内核源码目录在哪linux内核源码
如何查看linux内核源代码?一般在Linux系统中的码路/usr/src/linux*.*.*(*.*.*代表的是内核版本,如2.4.)目录下就是码路内核源代码(如果没有类似目录,是码路因为还没安装内核代码)。另外还可从互连网上免费下载。码路注意,码路不要总到目录里是码路p2p 下载 源码核心的网络部分代码,其每个子目录对应于网络的码路一个方面。
.lib目录包含了核心的码路库代码,不过与处理器结构相关的码路库代码被放在arch/*/lib/目录下。
.scripts目录包含用于配置核心的码路脚本文件。
.documentation目录下是码路一些文档,是码路对每个目录作用的具体说明。
一般在每个目录下都有一个.depend文件和一个Makefile文件。码路编写ghost源码这两个文件都是码路编译时使用的辅助文件。仔细阅读这两个文件对弄清各个文件之间的码路联系和依托关系很有帮助。另外有的目录下还有Readme文件,它是对该目录下文件的一些说明,同样有利于对内核源码的理解。
在阅读方法或顺序上,宿主软件源码有纵向与横向之分。所谓纵向就是顺着程序的执行顺序逐步进行;所谓横向,就是按模块进行。它们经常结合在一起进行。对于Linux启动的代码可顺着Linux的启动顺序一步步来阅读;对于像内存管理部分,可以单独拿出来进行阅读分析。pvue源码分析实际上这是一个反复的过程,不可能读一遍就理解。
剖析Linux内核源码解读之《配置与编译》
Linux内核的配置与编译过程详解如下:配置阶段
首先,从kernel.org获取内核源代码,如在Ubuntu中,可通过`sudo apt-get source linux-$(uname -r)`获取到,源码加密python源码存放在`/usr/src/`。配置时,主要依据`arch//configs/`目录下的默认配置文件,使用`cp`命令覆盖`/boot/config`文件。配置命令有多种,如通过`.config`文件进行手动修改,但推荐在编译前进行系统配置。配置时注意保存配置,例如使用`/proc/config.gz`,以备后续需要。编译阶段
内核编译涉及多种镜像类型,如针对ARM的交叉编译,常用命令是特定的。编译过程中,可能会遇到错误,需要针对具体问题进行解决。编译完成后,将模块和firmware(体系无关)分别存入指定文件夹,记得为某些硬件添加对应的firmware文件到`lib/firmware`目录。其他内容
理解vmlinux、vmlinuz(zImage, bzImage, uImage)之间的关系至关重要。vmlinuz是压缩后的内核镜像,zImage和bzImage是vmlinuz的压缩版本,其中zImage在内存低端解压,而bzImage在高端解压。uImage是uBoot专用的,是在zImage基础上加上特定头信息的版本。