如何从linux内核的源码树中找到init目录下的do_mounts.c文件,谢谢了

如何从linux内核的源码树中找到init目录下的do_mounts.c文件,谢谢了,第1张

你好!

假设你的Linux内核源码树在/home/yourname/src/kernel/下面,在终端中运行查找命令:

find

/home/yourname/src/kernel/

-name

do_mountsc

-print

如果找到,它会打印这个文件的路径位置,否则不返回任何信息。

如有疑问,请追问。

如果你是一个喜欢编译内核的狂人,同时也是经常忘记将默认的config文件备份的懒家伙,那么下面的方法将会使你

的内核配置工作变得更轻松,从linux 26开始内核提供了一种将config附加到映像文件的方法,通过这种方法,内核

配置者可以不必备份当前的config文件,而是在需要的时候直接从内核映像中提取config文件。步骤如下:

1 配置内核

11 make menuconfig;

12 选择如下:

General setup --->

<> Kernel config support

[] Enable access to config through /proc/configgz

13 make uImage

2 提取配置文件

21 方法一,从uImage文件中提取:

211 打开控制台,cd进入到linux源码树根目录,我的为:/root/Desktop/easy2440/linux-26309-easy2440

212 输入如下命令:scripts/extract-ikconfig arch/arm/boot/uImage > config

213 命令执行完后,将会在linux源码树根目录下面生成config文件;

214 config文件即为我们需要的内核配置文件,可以将其替代config文件。

22 方法二,从开发板的/proc/configgz中提取:

221 将新生成的uImage文件下载到开发板;

222 准备串口控制台,启动开发板;

223 开发板正常启动后,在控制台输入命令:cat /proc/configgz | gzip -d > /home/config

224 命令执行完后,将会在/home目录下生成config文件

225 config文件即为我们需要的内核配置文件,可以将其替代config文件。

linux下的内核头文件放在/usr/include/linux/和/usr/include/sys/linux目录树:scripts目录该目录中不包含任何核心代码,该目录下存放了用来配置内核的脚本和应用程序源码。lib目录该目录主要包含两部分内容:gnuzip解压缩算法,用于在系统启动过程中将压缩的内核镜像解压缩;剩余的文件用于实现一个C库的子集,主要包括字符串和内存 *** 作等相关函数。mm目录该目录包含了体系结构无关的内存管理代码,包括通用的分页模型的框架、伙伴算法的实现和对象缓冲器slab的实现代码。include目录这个目录包含了Linux源代码目录树中绝大部分头文件,每个体系架构都在该目录下对应一个子目录,该子目录中包含了给定体系结构所必需的宏定义和内联函数。init目录该目录中存放的是系统核心初始化代码,内核初始化入口函数start_kernel就是在该目录中的文件mainc内实现的。kernel目录该目录中存放的是Linux内核的最核心的代码,用于实现系统的核心模块,这些模块包括:进程管理、进程调度器、中断处理、系统时钟管理、同步机制等。arch目录该目录中的每个子目录中都与某种体系结构相对应,用于存放体系结构相关代码,向平台无关的系统核心模块提供所需的功能接口。每个体系结构对应的子目录下通常至少包含以下几个子目录:kernel子目录、lib子目录、mm子目录、boot子目录。系统次核心组件包括:block目录:用于实现块设备的基本框架和块设备的I/O调度算法。usr目录:该目录中的代码为内核尚未完全启动时执行用户空间代码提供了支持ipc目录:该目录中的文件用于实现SystemV的进程间通信模块。driver目录:用于存放各类设备的驱动程序。sound目录:存放了声音系统架构,如OpenSoundSystem(OSS)、AdvancedLinuxSoundArchitecture(ALSA)的相关代码和具体声卡的设备驱动程序。security目录:存放了Security-EnhancedLinux(SELinux)安全框架的实现代码crypto目录:该目录中存放了相关的加密算法的代码。Documentation目录:存放了与内核相关的文档。net和fs目录:包含linux内核支持的众多网络协议和文件系统。

安装linux 下的starch源代码的步骤:

1、获取码源;2、查看INXTALL与README文件;3、创建Makelife;4、编译;5、安装。

源码:程序代码,人类可看懂的代码;编译程序:将程序代码编译成机器看懂的代码;二进制文件:经过编译程序变为二进制程序后,机器可执行的文件make和configure: make是一支程序,会自动寻找Makefile文件,Makefile文件中记录了源码如何编译安装的信息;源码包:源码包一般是压缩文件,解压后一般有源码文件、configure文件、INSTALL说明文件等。

windows下一般使用source insight来阅读linux源码。

Source Insight是一个面向项目开发的程序编辑器和代码浏览器,它拥有内置的对C/C++, C#和Java等程序的分析。能分析源代码并在工作的同时动态维护它自己的符号数据库,并自动显示有用的上下文信息。

可以使用zip命令,解压使用unzip命令

zip命令使用方法:zip -r confzip /etc/sshdconf

上述命令意思是 使用zip压缩/etc/sshdconf文件,压缩名为confzip

以上就是关于如何从linux内核的源码树中找到init目录下的do_mounts.c文件,谢谢了全部的内容,包括:如何从linux内核的源码树中找到init目录下的do_mounts.c文件,谢谢了、如何提取linux kernel的配置文件、如何确定Linux内核源代码目录即,KBUILD的路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10084711.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存