导航:首页 > 源码编译 > 内核编译问题及答案

内核编译问题及答案

发布时间:2025-03-22 05:17:04

linux内核编译的几点疑惑

(1)编译内核于升级内核没有直接关联。如果编译的内核的版本比现在系统使用的版本新,那么使用编译后的内核可以看成是内核升级。但是有时候是因为需要而编译内核,比如某些模块需要重新编译,打开某些原来内核没打开的选项,这时候可以是同版本内核重新编译,这就不能说是升级内核。
(2)新内核编译好后,还需要安装。也就是make install(把bzimage移动到boot,重命名为vmlinuz) ,make moles install(把模块全部放到/lib/moles/(内核名)文件夹内);然后depmod,在/lib/moles/(内核名)建好新的***.dep文件,这样启动时系统就能通过读取***.dep文件信息来加载模块。还要在boot下新建一个于内核名一样的.img文件,如vmlinuz,那么就是vmlinuz.img,至于系统使用哪个内核,那是在grub.cfg里面写的配置文件决定的。指定哪个就从哪个启动,写两个entry就可以选择启动到哪一个。老内核当然还可以继续使用。
(3)新内核主要是一些新的特性,驱动更改什么的,我不是很清楚,比如2.6.34以上的内核就支持通过echo OFF>/sys/kernel/debug/vgaswitchroo/switch关闭某个显卡,也就是双显卡切换支持,又比如2.6.38中加入了所谓的autogroup在某些情况下提升桌面性能的特性,还有一些对系统某些情况的处理方式的变化等。但是从用户层来说一般感觉不到明显变化。对于程序什么的使用不影响(绝大多数)。

❷ 编译内核模块错误(linux)

在进行内核模块开发时,编译内核模块可能会遇到一些问题。例如,在RedHat Linux 2.6版本中,kernel-devel-2.6.9-5.gz包中并不包含完整的内核源代码,导致编译模块时可能会失败。因此,需要手动安装kernel-source-2.6.9-5.gz包来获取完整的内核源代码。

另外,对于内核模块开发,可以使用rpmbuild -ba --target=i686命令来编译内核模块。但是,编译过程中需要注意修改spec文件中的某些行。例如,将%define buildsource 0行中的0改为1,可以编译出kernel-source包。然后,通过安装kernel-source包来获取完整的内核源代码。

在进行内核模块开发时,还需要注意各rpm包的内容和用途。例如,kernel-2.6.9-5包用于内核开发,kernel-devel-2.6.9-5包用于内核模块开发。此外,qt-devel、gtk2-devel、readline-devel和ncurses-devel等包也非常重要。

对于内核模块开发,需要安装src包来获取内核源代码。如果只需要编译sourcecode和doc包,可以使用rpmbuild -bb --target=i686命令。此外,还可以通过make dep命令来编译内核模块。

在编译内核模块时,还需要注意spec文件中的Requires行。例如,requires X-window行表示需要X-window。因此,在编译内核模块时,可以将requires X-window行注释掉,以避免依赖于X-window。

总之,在进行内核模块开发时,需要明确各rpm包的内容和用途,并正确修改spec文件中的某些行,以确保编译过程顺利进行。

❸ 内核编译出现问题,求解答

depmod: WARNING: could not open /lib/moles/2.6.32.65/moles.builtin: No such file or directory
root@ubuntu:/usr/src/linux-2.6.32.65# make install
sh /usr/src/linux-2.6.32.65/arch/x86/boot/install.sh 2.6.32.65 arch/x86/boot/bzImage \
System.map "/boot"
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 2.6.32.65 /boot/vmlinuz-2.6.32.65
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 2.6.32.65 /boot/vmlinuz-2.6.32.65
update-initramfs: Generating /boot/initrd.img-2.6.32.65
depmod: WARNING: could not open /tmp/mkinitramfs_aJ9f5K/lib/moles/2.6.32.65/moles.builtin: No such file or directory

阅读全文

与内核编译问题及答案相关的资料

热点内容
前端录制文件如何上传服务器 浏览:534
雅黑pdf 浏览:454
python使用领域 浏览:877
买兰博基尼用什么app 浏览:135
android关闭后台运行 浏览:505
python输出路径为超链接 浏览:531
caxa为什么没有加密锁 浏览:792
服务器怎么设置才能用IP访问 浏览:663
邮件附件加密后打开能显示吗 浏览:723
荣耀x10拍照算法 浏览:569
androidgradle配置签名 浏览:96
文件夹左边的空心三角符号是什么 浏览:285
app英语音频试卷扫码怎么听 浏览:613
字符串编译预处理 浏览:704
苹果手机怎么会显示多个App 浏览:241
不去互联网程序员 浏览:553
电脑qq邮箱解压的图片保存在哪里 浏览:548
嵌入命令行 浏览:94
档案为什么被加密 浏览:487
十天学会单片机13 浏览:876