编译 s3c2440开发包中的linux 2.6.31内核时出现的问题

发布于 2022-09-30 19:59:34 字数 349 浏览 15 评论 0

我把s3c2440开发包中的内核源码取出后,进行解压,进入linux-2.6.31_TX2440A,执行patch -p1 < ../linux-2.6.31_TX2440A20100510.patch,把它自带的补丁打上后,进行make menuconfig
保持默认配置,然后make zImage,出现如下错误:
/tmp/ccQV3TVk.s: Assembler messages:
/tmp/ccQV3TVk.s:4317: Error: .err encountered
make[1]: *** [mm/page_alloc.o] Error 1
make: *** [mm] Error 2
望高手指点

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

合约呢 2022-10-07 19:59:34

能否详细介绍一下编译环境?》

抱猫软卧 2022-10-07 19:59:34

我是在ubunut 10.04下编译的

讽刺将军 2022-10-07 19:59:34

我是在ubunut 10.04下编译的

栀子花开つ 2022-10-07 19:59:34

我是在ubunut 10.04下编译的

意中人 2022-10-07 19:59:34

我的目的是在s3c2440上开发 linux 驱动程序,具体做法如下:
1,我先把开发包中自带的linux镜像装到s3c2440上,并且能实现一个简单的应用程序。
2,编译简单的hello驱动模块,s3c2440的内核是2.6.31,主机上用的是ubuntu10.04,交叉编译器是 arm-linux4.1.2 我先把开发包中的内核源码包linux-2.6.31_TX2440A20100612.tar.bz2和它的补丁linux-2.6.31_TX2440A201000612.patch下载到我的一个目录下,解压linux-2.6.31_TX2440A20100612.tar.bz2,然后进入到解压后的linux-2.6.31_TX2440A目录,打上补丁
patch -p1 < /home/cao/tx2440a/linux-2.6.31_TX2440A201000612.patch,出现了下面的一些东西
Reversed (or previously applied) patch detected!  Assume -R? [n]我直接按enter键,然后输入
make oldconfig 和make preare
3.我进入hello目录编译hello.c,生成了如下文件:hello.ko hello.mod.c hello.mod.o hello.o Module.symvers modules.order
4,编译好的hello.ko下载到开发板上,用insmod命令安装hello.ko时出现如下错误:
     [root@TX2440A cao]# insmod hello.ko hello: version magic '2.6.31 modversions ARMv5 ' should be '2.6.31 mod_unload     ARMv4 '
insmod: can't insert 'hello.ko': invalid module format
    我不清楚什么原因,试着把它的内核linux-2.6.31_TX2440A编译一下,结果出现了上面的错误
/tmp/ccQV3TVk.s: Assembler messages:
/tmp/ccQV3TVk.s:4317: Error: .err encountered
make[1]: *** [mm/page_alloc.o] Error 1

若相惜即相离 2022-10-07 19:59:34

换个编译器版本试试呢?

貌似打patch的过程中遇到了问题

噩梦成真你也成魔 2022-10-07 19:59:34

我换了一个版本,redhat9,同样出现了上面的问题,redhat9是开发包中提供的,我在虚拟机上装上后,仍然是上面的问题

揽清风入怀 2022-10-07 19:59:34

我在redhat9下,重新解压linux-2.6.31_TX2440A20100612.tar.bz2,进入到解压后的linux-2.6.31_TX2440A目录,打上补丁
patch -p1 < /home/cao/tx2440a/linux-2.6.31_TX2440A201000612.patch,出现了下面的一些东西
Reversed (or previously applied) patch detected!  Assume -R? [n]我直接按enter键,然后进行编译,出现了下面的错误
drives/block/cciss.c:In function 'cciss_init':
drives/block/cciss.c:4197:error:size of array 'type name' id negative
make[2]:***[drives/block/cciss.o]Error 1
make[2]:***[drives/block]Error 2

听闻余生 2022-10-07 19:59:34

s3c2440开发包中有一个TX2440A_config文件,我是不是得把它加到内核中,怎么加呢

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文