编译linux内核时 make modules有啥用?
发布网友
发布时间:2022-04-30 15:13
我来回答
共4个回答
热心网友
时间:2022-06-26 01:33
make moles是编译模块,很多驱动还有功能在选的时候选成M的都是moles,不过直接make,不加任何参数,就是make all,包含make moles。不用额外加此make,但是在安装的时候make install只是安装bzimage,Systemmap。没有把moles安装好,还要额外的make moles_install,把模块放到/lib/moles文件夹一个和内核名一样的文件夹下,并且运行depmod生成模块依赖关系文件,系统启动时加载模块就是从dep里面读取信息加载模块。
热心网友
时间:2022-06-26 01:33
下载到板子启动的内核zImage
选择(*)编译到zImage里面,开机加载
选择(M)则不会编译到zImage,编译成模块后(make moles)需要的时候,insmod mole_name
make moles是编译模块,很多驱动还有功能在选的时候选成M的都是moles,不过直接make,不加任何参数,就是make all,包含make moles。不用额外加此make,但是在安装的时候make install只是安装bzimage,Systemmap。没有把moles安装好,还要额外的make moles_install,把模块放到/lib/moles文件夹一个和内核名一样的文件夹下,并且运行depmod生成模块依赖关系文件,系统启动时加载模块就是从dep里面读取信息加载模块。
热心网友
时间:2022-06-26 01:33
不放以前的系统里放什么地方?另一台计算机里?之后你这个机器启动时自己跑到那台计算机上要数据启动完后,在自己跑回来?
initrd 是内核启动的一个虚拟的磁盘。作用是在 Linux 内核启动时,不直接进入硬盘上的 root 分区,而是进入内存里面的虚拟的 root 分区。
这个用意是当内核不能直接读取硬盘时(比如用了内核没有自带的驱动的硬盘、分区。或者 root 分区在网络上)。那么就可以用 initrd 里面的驱动来过渡进入正确的 root ,或者干脆就停在 initrd 模拟的内存盘里面。
PS:我编译内核都是 make xconfig ; make ; make moles_install ; make install
前3个不解释,最好一个其实就是吧编译好的内核复制到 /boot 里面。并且根据这个目录里面的某些特点。进行一些操作。
热心网友
时间:2022-06-26 01:34
下载到板子启动的内核zImage
选择(*)编译到zImage里面,开机加载
选择(M)则不会编译到zImage,编译成模块后(make moles)需要的时候,insmod mole_name
编译linux内核时 make modules有啥用?
make modules是编译模块,很多驱动还有功能在选的时候选成M的都是modules,不过直接make,不加任何参数,就是make all,包含make modules。不用额外加此make,但是在安装的时候make install只是安装bzimage,Systemmap。没有把modules安装好,还要额外的make modules_install,把模块放到/lib/modules文件夹一...
linux module命令
make config 完后,仍旧是 make dep; make clean。接下来要 make zlilo 或 make zImage。然后 make modules ; make modules_install 。完成之后,就编译出一个没有调入多余模块的一个“干净的”内核映像文件了。
关于linux内核的问题。
1、bzImage: linux 内核映像文件(linux操作系统内核,内部一般集成了很多需要的设备驱动模块)2、modules(*.ko): linux模块(驱动等),可以在linux内核启动后,动态加载和卸载。3、make moudles install:将编译生成的模块拷贝到文件系统特定目录中(不是内核映像文件bzImage中)。4、ramdisk:内存磁...
Linux中的kernel 和 kernel modules有什么不同?更新内核能解决驱动的问...
驱动程序在内核启动时不一定要同时加载,可以等到内核启动完成后用到时再动态加载到内存,这样可以给内核“减肥”,加快启动速度。所以在编译内核时需要指定哪些驱动是要做成modules的,指定好了,编译程序就会做不同的处理,生成不同的文件,以后这些modules将会放在文件系统特定目录下供内核和用户程序使用。
linux内核编译过程中,使用()命令生成新的内核。
在Linux内核编译过程中,通常使用make命令来生成新的内核。拓展知识:make命令是一个自动化构建工具,它可以根据Makefile文件中的规则和依赖关系来生成目标文件。在Linux内核编译中,Makefile文件包含了编译内核所需的规则和依赖关系。当您在终端中运行make命令时,它会根据Makefile文件中的规则来构建内核,并...
Linux内核中的Module.symvers文件揭秘
编译内核时,执行Makefile中的"modules"目标,触发"scripts/Makefile.modpost"文件。此文件执行后进入"__modpost"规则,执行"scripts/Makefile.modfinal"文件,收集所有模块信息。每个模块路径信息存于"modules.order"文件中。在"scripts/Makefile.modfinal"文件中定义了各模块的编译规则。Linux内核模块编译...
如何配置linux内核
#make allyesconfig#make allmodconfig 1.make config基于文本的最为传统的也是最为枯草的一种配置方式,但是它可以使用任何情况,这种方式会为每一个内核支持的特性向用户提问,如果用户回答“y”,则把特性编译进内核;回答“m”,则它特性作为模块进行编译;回答“n”,则表示不对该特性提供支持如果回答每个问题前,必须...
linux Makefile文件中 KERNELDIR ?= /lib/modules/$(shell uname -r)/...
你说的是编译内核模块的Makefile是吗?KERNELDIR指的是内核库文件的路径,你的代码中使用的是内核提供的函数,而这些函数也是有具体实现的,在连接成一个内核模块时要说明这些库文件在哪里,方便链接程序把它们连接成一个完成的模块。“?=”:如果这个KERNELDIR为空说明你没有指定内核库文件的路径,那么...
如何编译linux内核
如果用户在配置内核时设置了可加载模块,则需要对这些模块进行编译,以便将来使用insmod命令进行加载。 # make modules # make modelus_install 编译成功后,系统会在/lib/modules目录下生成一个2.3.14子目录,里面存放着新内核的所有可加载模块。 五、 启动新内核 (一)、将新内核和System.map文件拷贝到/boot...
Linux内核配置选项
03、Loadable module support --- 可引导模块支持 建议作为模块加入内核03.01、Enable loadable module support 这个选项可以让你的内核支持模块,模块是什么呢?模块是一小段代码,编译后可在系统内核运行时动态的加入内核,从而为内核增加一些特性或是对某种硬件进行支持。一般一些不常用到的驱动或特性可以编译为模块以减少...