linux内核源码目录(centos VM错误 linux/usr/src/kernels 目录下没有内核源码 解决方法【亲测成功】)
本文目录
- centos VM错误 linux/usr/src/kernels 目录下没有内核源码 解决方法【亲测成功】
- linux内核配置与编译时,下载来的内核源代码应该放在哪呢
- 如何确定Linux内核源代码目录即,KBUILD的路径
- linux内核存放的位置是在/usr/src/kernels下还是/boot/vmlinuz下
- 我在电脑上安装了linux操作系统,linux的源码应该是在系统的某个目录下吧,请问是在哪个目录呢谢谢
centos VM错误 linux/usr/src/kernels 目录下没有内核源码 解决方法【亲测成功】
如你有遇到如下错误,而无法打开Centos 上的VMware. before you can run vmware several modules must be complied kernel headers for version were not found if you C header files matching your running kernel were not found. Refer to your distribution’s documentation for installation instruction。 此法肯定有效。网卡说 yum groupinstall -y gcc kernel-devel 或者 ln s 的方法都是无用的。 此方法也能解决linux/usr/src/kernels 目录下没有内核源码问题。 1.安装gcc yum -y install gcc 2.复制 centosISO镜像(与本机系统版本一致) 至centos系统 图形状态下打开/挂载。找到内核相关文件,为方便,我直接输出包名至/ker.txt find ./ -name "ker*" 》 /ker.txt 然后安装包。 yum install -y kernel-devel-3.10.0-1160.el7.x86_64.rpm yum install -y kernel-tools-libs-3.10.0-1160.el7.x86_64.rpm yum install -y kernel-3.10.0-1160.el7.x86_64.rpm yum install -y kernel-abi-whitelists-3.10.0-1160.el7.noarch.rpm yum install -y kernel-debug-devel-3.10.0-1160.el7.x86_64.rpm yum install -y kernel-tools-3.10.0-1160.el7.x86_64.rpm yum install -y kernel-headers-3.10.0-1160.el7.x86_64.rpm 打开虚拟机,问题解决。
linux内核配置与编译时,下载来的内核源代码应该放在哪呢
随便就行,/usr/src/linux 放当前运行中的内核源代码的习惯你可以遵守,也可以不遵守。只不过是一些软件在编译时会固定到这里找内核源代码的相关数据来保证自己的内核模块可以正确编译。不过有些时候 /usr/module 里面的内核目录里面也有到你的源代码目录的链接。很多软件两个地方找到一个就能继续编译。反正你安装内核后,最好不要再动这个内核源代码的位置就行了。其实需要内核源代码的软件也没几个。除了 udev ,我也就只能想起还有显卡驱动了。另外你如果用了虚拟机软件,那就还有虚拟机软件运行时需要的内核模块需要。不过也都是在编译时才需要。运行是不需要的(但改了内核版本,肯定是要重新编译内核模块的)。
如何确定Linux内核源代码目录即,KBUILD的路径
方法一:确定内核源代码目录通常==文件系统中内核驱动模块的build路径即/lib/modules/2.6.25-14.fc9.i686/build,这个build通常为链接文件,连接到/usr/src/kernels/2.6.25-14.fc9.i686此方法较准确,通常可以写如下脚本实现:# KBUILD is the path to the Linux kernel build tree. It is usually the# same as the kernel source tree, except when the kernel was compiled in# a separate directory.KBUILD ?= $(shell readlink -f /lib/modules/$(KVERS)/build)方法二:自己下载内核源文件包,自己指定内核的编译目录!不推荐这种做法,还是按照各大发行版的做法比较好!这样不至于在编译下载的某个设备驱动程序时
linux内核存放的位置是在/usr/src/kernels下还是/boot/vmlinuz下
1、是在/boot目录下2、/usr/src目录一般是系统内核代码目录3、你看/boot/grub/grub.conf文件,kernel那行是vmlinuz...,就是代表内核的名字4、Linux是一个一体化内核(monolithic kernel)系统。“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一套完整的操作系统。一套基于Linux内核的完整操作系统叫作Linux操作系统,或是GNU/Linux。设备驱动程序可以完全访问硬件。Linux内的设备驱动程序可以方便地以模块化(modularize)的形式设置,并在系统运行期间可直接装载或卸载。
我在电脑上安装了linux操作系统,linux的源码应该是在系统的某个目录下吧,请问是在哪个目录呢谢谢
首先研究 Linux 源代码树的顶层目录,它通常(但不总是)位于 /usr/src/linux-。我们不会研究得过于详细,因为 Linux 源代码经常会发生变化,但是,我们将尝试让给出的信息足以找出特定驱动程序或函数的位置。Makefile:这个文件是整个源代码树的顶层 makefile。它定义了很多实用的变量和规则,比如默认的 gcc 编译标记。Documentation/:这个目录中包含很多关于配置内核、运行 ramdisk 等任务的实用信息(但通常是过时的)。不过,与不同配置选项相应的帮助条目并不在这里 —— 它们在每个源代码目录的 Kconfig 文件中。arch/:所有与体系结构相关的代码都在这个目录以及 include/asm- 目录中。在此目录中,每种体系结构都有自己的目录。例如,用于基于 PowerPC 的计算机的代码位于 arch/ppc 目录中。在这些目录里,可以找到底层内存管理、中断处理、早期初始化、汇编例程,等等。crypto/:这是内核本身所用的加密 API。drivers/:按照惯例,在此目录的子目录中可以找到运行外围设备的代码。包括视频驱动程序、网卡驱动程序、底层 SCSI 驱动程序,以及其他类似的驱动程序。例如,在 drivers/net 中可以找到大部分网卡驱动程序。将一类驱动程序组合在一起的某些更高层代码,可能会(也可能不会)像底层驱动程序本身那些包含在同一目录中。fs/:通用文件系统的代码(称做 VFS,即 Virtual File System)和各个不同文件系统的代码都可以在这个目录中找到。ext2 文件系统是在 Linux 中最常广泛使用的文件系统之一;在 fs/ext2 中可以找到读取 ext2 格式的代码。并不是所有文件系统都会编译或运行;对某些寻找内核项目的人而言,更生僻的文件系统永远都是理想的候选者。include/:在 .c 文件的开头所包含的大部分头文件都可以在这个目录中找到。 asm- 目录下是与体系结构相关的包含(include )文件。部分内核构建过程创建从 asm 指定 asm- 的符号链接。这样,无需将其固定编码到 .c 文件 #include 就可以获得用于那个体系结构的正确文件。其他目录中包含的是 非-体系结构-相关 的头文件。如果在不只一个 .c 文件中使用了某个结构体、常量或者变量,那么它可能应该放入其中一个头文件中。init/:这个目录中的文件包括 main.c、创建 早期用户空间(early userspace) 的代码,以及其他初始化代码。可以认为 main.c 是内核“粘合剂(glue)”。在下一部分将深入讨论 main.c。早期用户空间提供了 Linux 内核引导起来时所需要的功能,而这些功能并不需要在内核本身运行。ipc/:IPC 的意思是 进程间通信(interprocess communication)。它包含了共享内存、信号量以及其他形式 IPC 的代码。kernel/:不适合放在任何其他位置的通用内核级代码位于此处。这里有高层系统调用代码,以及 printk() 代码、调度程序、信号处理代码,等等。文件名包含很多信息,所以可以使用 ls kernel/,并非能常准确地猜到每个文件的功能。lib/:这里是对所有内核代码都通用的实用例程。常见的字符串操作、调试例程,以及命令行解析代码都位于此处。mm/:这个目录中是高层次内核管理代码。联合使用这些例程以及底层的与体系结构相关的例程(通常位于 arch//mm/ 目录中)来实现虚拟内存(Virtual memory,VM)。在这里会完成早期内存管理(在内存子系统完全建立起来之前需要它),以及文件的内存映射、页高速缓存管理、内存分配、RAM 中页的清除(还有很多其他事情)。net/:这里是高层网络代码。底层网络驱动程序与此层次代码交换数据包,这个层次的代码可以根据数据包将数据传递给用户层应用程序,或者丢弃数据,或者在内核中使用它。net/core 包含大部分不同的网络协议都可以使用的代码,和某些位于 net/ 目录本身中的文件一样。特定的网络协议在 net/ 的子目录下实现。例如,在 net/ipv4 目录中可以找到 IP(版本 4)代码。scripts/:这个目录中包含的脚本可用于内核的构建,但并不将任何代码加入到内核本身之中。例如,各种配置工具可以将它们的文件放在这里。security/:在这里可以找到不同 Linux 安全模型的代码,比如 NSA Security-Enhanced Linux 以及套接字和网络安全钩子函数(hooks),以及其他安全选项。sound/:这里放置的是声卡驱动程序和其他与声音相关的代码。usr/:此目录中的代码用于构建包含 root 文件系统映像的 cpio-格式 的归档文件,用于早期用户空间。
本文相关文章:
三国杀redis出错是什么意思(redis在windows下总是报错,就是下面的错误,这是哪里出错了)
2024年9月7日 02:00
protocol not recognized(网页msxml3.dll 错误 ’80072ee6’ 请高手解决)
2024年9月6日 06:40
eval函数报错(matlab eval函数在运行一条错误代码后就失灵了)
2024年9月2日 11:45
shellexecuteex失败 代码5 拒绝访问(windows无法启动,提示“错误5,拒绝访问”如何解决)
2024年9月1日 14:10
power bi是什么软件(在powerbi中的内核语言是)
2024年9月1日 03:10
js语法检查(本吧须知02-26求助,webview检测js代码语法错误)
2024年8月29日 21:20
select database(如何解决Can not select MySQL database错误提示)
2024年8月27日 06:20
matlab scatter(MATLAB错误:scatter(x,y1,’k’))
2024年8月20日 18:05
insert语句语法错误(sql语句 insert语法错误)
2024年8月15日 22:45
sqlserver2019激活(谁能帮我解决SqlServer设备激活错误,请使用 WITH MOVE 选项来标识该文件的有效位置)
2024年8月11日 21:50
maven依赖包加载不到(jenkins错误:找不到或无法加载 主类+.Develop.apache-maven-3.6.3)
2024年8月10日 10:41
eclipse打开弹出提示(eclipse运行时总是弹出对话框提示错误)
2024年8月7日 08:55
更新dedecms(我有一个dedecms程序,内核是5.5的,想更新到5.7,请问需要替换哪些东西呢!在线等)
2024年8月4日 18:45
最新java云商城管理系统+wap手机版源码开源无加密版可二次开发很多错误怎么办?一元云购程序源码怎么获得_一元云购怎么做才合法
2024年8月1日 06:55
更多文章:
thinkpad x230(thinkpad x230 多少种配置)
2024年7月24日 13:14
10寸平板电脑排行榜(10寸平板电脑排行榜,现在还有优惠!)
2024年7月22日 18:17