CubieBoard博客-HomeCubieTech公司网站

cubie.cc CubieBoard中文论坛

 找回密码
 立即注册
搜索
热搜: unable
楼主: WindLand

[教程]如何编译单个驱动文件

[复制链接]

1

主题

0

好友

98

积分

注册会员

Rank: 2

贡献
16
金钱
45
威望
16
买家信用
卖家信用
积分
98
发表于 2013-4-23 16:18:19 |显示全部楼层
WindLand 发表于 2013-4-23 15:44
你随便找个正常的ko看看modinfo , 如果和你gpio这个一样的话,应该就不是版本问题了。
可能是这个驱动是 ...

我先试下编译整个内核(正在编译 ),再看看。

谢谢您。
回复

使用道具 举报

1

主题

0

好友

98

积分

注册会员

Rank: 2

贡献
16
金钱
45
威望
16
买家信用
卖家信用
积分
98
发表于 2013-4-23 16:26:31 |显示全部楼层
WindLand 发表于 2013-4-23 15:44
你随便找个正常的ko看看modinfo , 如果和你gpio这个一样的话,应该就不是版本问题了。
可能是这个驱动是 ...
确实是一样的

我输入 dmesg|tail 后得到了这个
[   18.240000] systemd[1]: systemd-tmpfiles-clean.timer: time change, recalculating next elapse.
[   18.260000] systemd[1]: systemd-tmpfiles-clean.timer: time change, recalculating next elapse.
[   18.280000] systemd[1]: systemd-tmpfiles-clean.timer: time change, recalculating next elapse.
[   18.300000] systemd[1]: systemd-tmpfiles-clean.timer: time change, recalculating next elapse.
[   18.320000] systemd[1]: systemd-tmpfiles-clean.timer: time change, recalculating next elapse.
[   18.340000] systemd[1]: systemd-tmpfiles-clean.timer: time change, recalculating next elapse.
[   18.360000] systemd[1]: systemd-tmpfiles-clean.timer: time change, recalculating next elapse.
[   18.370000] systemd[1]: systemd-tmpfiles-clean.timer: time change, recalculating next elapse.
[   18.400000] systemd[1]: systemd-tmpfiles-clean.timer: time change, recalculating next elapse.
[   25.970000] eth0: no IPv6 routers present
回复

使用道具 举报

19

主题

9

好友

2497

积分

版主

Rank: 7Rank: 7Rank: 7

贡献
391
金钱
1061
威望
387
买家信用
卖家信用
积分
2497
发表于 2013-4-23 22:32:57 |显示全部楼层
Ttcd 发表于 2013-4-23 16:26
确实是一样的

我输入 dmesg|tail 后得到了这个

这些应该是无关信息。
insmod之后再立即看dmesg|tail
不管dmesg输出什么,反正编译整个内核是可以解决的。
我看了你那篇帖子了,arch我没用过,如果实在无法解决依赖问题,还是在pc上装个ubuntu来交叉编译吧。
很久没玩这个了,也没上过线了。如果有需要交流的,欢迎来邮件: leapmusic@QQ邮箱
回复

使用道具 举报

10

主题

3

好友

2378

积分

版主

Rank: 7Rank: 7Rank: 7

贡献
473
金钱
888
威望
472
买家信用
卖家信用
积分
2378
发表于 2013-5-6 19:41:30 |显示全部楼层
楼主,用你方案编译了,可是insmod的时候出现了exec format error。
这个应该怎么办啊?
回复

使用道具 举报

19

主题

9

好友

2497

积分

版主

Rank: 7Rank: 7Rank: 7

贡献
391
金钱
1061
威望
387
买家信用
卖家信用
积分
2497
发表于 2013-5-6 20:10:42 |显示全部楼层
siriux 发表于 2013-5-6 19:41
楼主,用你方案编译了,可是insmod的时候出现了exec format error。
这个应该怎么办啊? ...

insmod出错的时候,就查看dmesg的结尾输出:
dmesg|tail

把看到的信息拿去google
很久没玩这个了,也没上过线了。如果有需要交流的,欢迎来邮件: leapmusic@QQ邮箱
回复

使用道具 举报

56

主题

8

好友

5946

积分

一般会员

贡献
1089
金钱
2116
威望
1090
买家信用
卖家信用
积分
5946
发表于 2013-5-6 22:20:16 |显示全部楼层
我觉得如果内核版本不匹配导致insmod失败,有下面几种解决方式:
1. 使用uname -r查看内核版本号,然后在github.com/linux-sunxi中下载对应的源码;
   在cb的/proc下找config.gz文件,zcat /proc/config.gz出来。带着zcat出来的config文件重新编译内核(注意这里编译只是让内核产生一些形如autoconf.h等文件,不需要替换cb原系统上的kernel以及模块
   然后在模块编译你自己的模块,内核根目录需要指定上面的路径
2. 在github.com/linux-sunxi中获取源码,整个重新编译并替换。这个可能是最简单的
其实一起的linux发行版,在/usr/src/linux(具体目录名我忘记了)下是放了一个可以用来编译内核模块的最小头文件目录,不知道现在的系统有没有?明天我可以检查一下
回复

使用道具 举报

0

主题

0

好友

153

积分

注册会员

Rank: 2

贡献
34
金钱
48
威望
34
买家信用
卖家信用
积分
153
发表于 2013-7-18 15:44:23 |显示全部楼层
mybays 发表于 2013-2-24 00:44
建议用Sourcery G++的交叉编译链:arm-2010.09-50-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
或 ...

为什么这么建议呀,这个是通用的吗?
回复

使用道具 举报

1

主题

0

好友

258

积分

中级会员

Rank: 3Rank: 3

贡献
53
金钱
92
威望
53
买家信用
卖家信用
积分
258
发表于 2013-7-19 09:54:36 |显示全部楼层
可惜呀  没说怎么编译无线网卡,楼主 我看你编译通过RTL8187的,可以写一下怎么编译的嘛 谢谢
回复

使用道具 举报

19

主题

9

好友

2497

积分

版主

Rank: 7Rank: 7Rank: 7

贡献
391
金钱
1061
威望
387
买家信用
卖家信用
积分
2497
发表于 2013-7-21 03:14:32 |显示全部楼层
oneisthis 发表于 2013-7-19 09:54
可惜呀  没说怎么编译无线网卡,楼主 我看你编译通过RTL8187的,可以写一下怎么编译的嘛 谢谢 ...

8187在源码里是自带的,只需要在meke memuconfig的时候把它选上就行了
他依赖一些其他选项,勾上依赖的东西之后才会出现8187的选项。

大概可以参考此文:http://linux.chinaunix.net/techd ... 08/06/1128770.shtml
不保证选项的路径是一样的,路径记不太清楚了,找不到的时候搜索下试试。
很久没玩这个了,也没上过线了。如果有需要交流的,欢迎来邮件: leapmusic@QQ邮箱
回复

使用道具 举报

14

主题

0

好友

1858

积分

金牌会员

Rank: 6Rank: 6

贡献
370
金钱
642
威望
365
买家信用
卖家信用
积分
1858
发表于 2013-7-29 11:25:17 |显示全部楼层
本帖最后由 yzbx 于 2013-7-29 13:46 编辑

楼主你好,在编译gpio.ko中出现了版本不一致的问题,linux-sunxi-3.0的具体版本是3.0.62,而在CB板上的android使用uname -r 得到的是3.0.52+, 在android 上还有其它一样驱动,比如8188eu.ko, 在git 上找不到精确到3.0.52+的linux-sunxi。所以个人觉得只有换CB板的内核,这样会影响到8188eu.ko等驱动 么?不然我再去找找3.0.52+的linux-sunxi?
由于楼主说git里不太好找,我先试试编译 uImage 的方法 吧!
matson 的方法经过尝试,意外发现CONFIG_SUN4I_GPIO_UGLY=y, 这不是不用编译gpio.ko了?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

QQ|Archiver|手机版|邮件群发|cubie.cc---深刻的嵌入式技术和应用讨论中文社区 ( 粤ICP备13051116号-1  

GMT+8, 2020-9-20 22:04 , Processed in 0.043709 second(s), 12 queries , Apc On.

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc. | Style by Coxxs

回顶部