linux编译ko⽂件(不同内核源码版本)
最近编译内核驱动程序遇到了⼀些困难,⽹上下载与我的linux系统相同的版本,编译的时候过不去(每次都是编译到sound⽂件夹下时提⽰不到xxx.c⽂件),后来经过多次的实验后便把内核换了别的版本作为系统内核启动成功编译出ko⽂件,下⾯贴上具体过程:git入门教程
只需要准备⼀个与⾃⼰linux系统内核接近的版本(我的系统内核是2.6.32.21后来下载了⼀个2.6.32稳定版成功编译并且可以进⼊这个新的内核)。
linux操作系统书籍1.⾸先解压下载的内核源码拷贝到/usr/src路径下:
2.切换到root权限下进⼊内核源码⽂件夹 cd /usr/src/linux-2.6.32:
geant43.配置config:
这⾥由于我的menuconfig⽆法启动(根据⽹上参考的资料安装了ncurses并且设置了桌⾯分辨率还是打不开,只能通过命令显⽰页⾯(ctrl+alt+f1)打开),我跳过了这⼀步直接进⾏make oldconfig (最后说明设置编译内核的设置);
郑州java培训学校4.编译内核 make:
setproperty的作用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⽂件,这⾥说下我的编译⽅式:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论