良许Linux教程网 干货合集 Linux系统编译ko文件详细教程

Linux系统编译ko文件详细教程

ko是Linux2.6内核采用的动态连接文件,在系统启动时用于加载内核模块,那么在Linux系统中如何编译ko文件呢?下面良许教程网为大家分享一下Linux系统编译ko文件的具体方法。

Linux系统编译ko文件详细教程

ko文件简介:

Linux下加载驱动模块都是.o文件, .o文件也就是object文件。

.ko文件是kernel object文件,与.o的区别在于其多了一些sections,比如.modinfo。该文件的意义就是把内核的一些功能移动到内核外边, 需要的时候插入内核,不需要时卸载。

Linux系统编译ko文件详细教程:

1.首先解压下载的内核源码拷贝到/usr/src路径下: 这里写图片描述

2.切换到root权限下进入内核源码文件夹 cd /usr/src/linux-2.6.32: 这里写图片描述

3.配置config:

 这里由于我的menuconfig无法启动(根据网上参考的资料安装了ncurses并且设置了桌面分辨率还是打不开,只能通过命令显示页面(ctrl+alt+f1)打开),我跳过了这一步直接进行make oldconfig (最后说明设置编译内核的设置);
 1

编译config

4.编译内核 make: 这里写图片描述

5.安装模块 make modules_install: 这里写图片描述

6.make install: 这里写图片描述

7.创建initrd文件:mkinitramfs -o /boot/initrd.img-2.6.32(这一步执行后镜像就生成了),不过这一次生成的镜像重启后无法进入安装的这个内核···,这个执行后继续执行下个命令;

8.更新镜像:update-initramfs -c -k 2.6.32,到这里内核安装完成了(在这里膜拜下当初参考的那位大神,本以为不同内核版本的内核安装后不能进入,这条指令改变了我的看法···); 这里写图片描述

9.更改启动文件:进入/boot/grub文件夹,输入命令update-grub; 这里写图片描述

10.更改启动文件:gedit /boot/grub/grub.cfg ,然后找到安装的内核信息位置放到原来内核信息的上面(大括号内为内核的启动信息); 这里写图片描述

11.更改内核选择页面停留时间:还是在grub.cfg内找到所有timeout进行更改(单位为秒),if判断处不需要更改; 这里写图片描述

重启后,可以选择自己的新内核进入了。

下面说下.ko文件的编译情况…!参考书籍、以及查看网上的资料一直没有编译出.ko文件,这里说下我的编译方式:

1.首先编写一个Makefile: 这里写图片描述

2.进行编译文件: 我增加了make编译指定,make -C /lib/modules/2.6.32/build M=/home/linux/work/Testlinux/Testhallo(这种方式成功编译出了.ko文件在别的工程中也是如此); 这里写图片描述

至此关于Linux系统编译ko文件的方法分享结束, 大家有任何问题都可以在评论区留言啊。

以上就是良许教程网为各位朋友分享的Linux系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你!

137e00002230ad9f26e78-265x300

本文由 良许Linux教程网 发布,可自由转载、引用,但需署名作者且注明文章出处。如转载至微信公众号,请在文末添加作者公众号二维码。
良许

作者: 良许

良许,世界500强企业Linux开发工程师,公众号【良许Linux】的作者,全网拥有超30W粉丝。个人标签:创业者,CSDN学院讲师,副业达人,流量玩家,摄影爱好者。
上一篇
下一篇

发表评论

联系我们

联系我们

公众号:良许Linux

在线咨询: QQ交谈

邮箱: yychuyu@163.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

关注微博
返回顶部