编译linux内核时关于.config文件的问题

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-07-19
正式编译内核前生成的.config文件在哪

我最近也在搞这个,楼上正解,这个.config文件是编译之前需要设定的,编译的时候会根据其内容编译内核的各个模块。我在源码中还看到了Kconfig文件,你可以查看一下二者之间的关系,希望能帮到你

当然需要。。。

第一点,就是源码树中有相应的头文件和函数的实现,没有源码树,你哪调用去呢?(PC上编译的时候内核有导出符号,系统中有头文件,这样就可以引用内核给你的接口了,但是只能编译你PC上版本的内核可加载的模块)。

第二个,内核模块中会记录版本号的部分,需要记录版本号的原因是不同的内核版本之间,那些接口和调用可能会有比较大的差异,因此必须要保证你的代码和某个特定的内核对应,这样编译出来的模块就可以(也是只能)在运行这个内核版本的Linux系统中加载,否则一个很简单的异常就会导致内核崩溃,或者你的代码根本无法编译通过(接口名变了)。

我上面说的是编译模块的情况,当然如果是把模块直接编译到内核当中去的话,那就不用说了,没有内核源码,你无法编译内核。

你要先调用config再去编译啊:
make menuconfig后
选择 “Load an Alternate Configuration File”
输入刚刚你的内核配置文件名
选择 “Save an Alternate Configuration File”
输入 “.config”
保存退出
然后在进行编译即可。

我知道是为是你错了,但是并不知道解决方法。原因是这样的,首先移动到arch所在的那个文件夹,就是第一层的那个文件夹,然后修改Makefile 其中有一项叫ARCH=arm,这个是系统默认的。表示你的编辑将基于arm处理器,你要把这个修改成x86,但是还要修改别的,这个我就不知道了,我也正在找

你好。。这个问题你解决了吗???现在我也碰到这个问题了。。我用的源码是友善之臂mini2440里提供的源码。。。我现在遇到的问题和你的一模一样。。。

会不会你这个内核的文件是被人针对arm做了修改?
尝试去kernel.org下载一个来试试

  • Linux内核配置选项
    答:Enable loadable module support 这个选项可以让你的内核支持模块,模块是什么呢?模块是一小段代码,编译后可在系统内核运行时动态的加入内核,从而为内核增加...如果你把它译为模块你还需要在modprobe.conf中加上这一行alias char-major-10-184 microcode 内核本身并不带有微代码的二进制文件,你可以到这个网址去得到...
  • linux内核完全剖析linux内核完全
    答:3、你看/boot/grub/grub.conf文件,kernel那行是vmlinuz...,就是代表内zhuan核的名字 4、Linux是一shu个一体化内核(monolithickernel)系统。“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一套完整的操作系统。一套基于Linux内核的完整操作系统叫作...
  • linux内核编译详细教程及开发Linux系统
    答:在许多Web站点里都有关于如何编译和运行最优化的定制内核的信息。例如http://www.vmlinuz.nu/。还有一些其它的关于Linux内核的使用和编译的站点。参考资料:http://www.yiii.net/app/club/view.jsp?Information_Id=I00007124
  • linux内核编译
    答:h:没有那个文件或目录 编译中断。make[2]: *** [scripts/basic/fixdep] 错误 1 make[1]: *** [scripts_basic] 错误 2 make: *** 没有规则可以创建“include/config/kernel.release”需要的目标“include/config/auto.conf”。 停止。后边哪种方式都不行。希望热心人告诉我 ...
  • Linux 2.6.34内核编译
    答:Linux-2.6.34内核编译指南 2010-06-11 22:45 作者:玮琦 页面排版:玮琦 对linux内核的编译来说是每个编译者都必须掌握的一个阶段,但是编译内核是有相对一些难度的,也许你可能不知如何着手,请不必为此烦恼或者放弃,经过一些归纳和总结我编写了比较详细的步骤,从而可以为广大的爱好者以及新手能带来...
  • 如何修改 Linux 内核配置
    答:由于Linux的内核参数信息都存在内存中,因此可以通过命令直接修改,并且修改后直接生效。但是,当系统重新启动后,原来设置的参数值就会丢失,而系统每次启动时都会自动去/etc/sysctl.conf文件中读取内核参数,因此将内核的参数配置写入这个文件中,是一个比较好的选择。首先打开/etc/sysctl.conf文件,查看如下...
  • linux内核删除怎么修复linux内核删除
    答:4、在内核中有一个“Automatickernelmoduleloading"功能被编译到了内核中。当用户尝试打开某类型的文件时,内核会根据需要尝试加载相应的模块。/etc/modules.conf或/etc/modprobe.conf文件是一个自动处理内核模块的控制文件。modprobe命令主要用于在Linux2.6内核中加载和删除Linux内核模块。通过此命令用户可以...
  • linux操作系统中,加载和删除内核模块的命令是什么?
    答:4、在内核中有一个“Automatic kernel module loading"功能被编译到了内核中。当用户尝试打开某类型的文件时,内核会根据需要尝试加载相应的模块。/etc/modules.conf或 /etc/modprobe.conf文件是一个自动处理内核模块的控制文件。modprobe命令主要用于在Linux 2.6内核中加载和删除Linux内核模块。通过此命令...
  • 如何在Linux内核里增加一个系统调用?
    答:\x0d\x0aint sys_mytest(){ \x0d\x0aprintk("This is a test!"); \x0d\x0areturn 123; \x0d\x0a} \x0d\x0a4.在/usr/src/linux/kernel/system_call.s中对系统调用号加1(原来是86改成了87) \x0d\x0a5.然后到/usr/src/linux目录下编译内核make clean; make Image \x0d\x0a6...
  • Linux如何配置网络游戏服务器?
    答:下面介绍基本的TCP/IP网络配置文件。/etc/conf.modules文件 该配置文件定义了各种需要在启动时加载的模块的参数信息。这里主要着重讨论关于网卡的配置。在使用Linux做网关的情况下,Linux服务器至少需要配置两块网卡。为了减少启动时可能出现的问题,Linux内核不会自动检测多个网卡。对于没有将网卡的驱动编译到...