这篇文章的内容主要围绕Linux系统怎样编译ko文件进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!
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
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系统
Linux是一种免费使用和自由传播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统,使用Linux能运行主要的Unix工具软件、应用程序和网络协议。
感谢你的阅读,相信你对“Linux系统怎样编译ko文件”这一问题有一定的了解,快去动手实践吧,如果想了解更多相关知识点,可以关注编程网网站!小编会继续为大家带来更好的文章!