这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界» 论坛首页» 嵌入式开发» MCU» [转帖]成功将2。6。9的内核移植到PXA27x平台上,特发贴庆祝一下!

共1条 1/1 1 跳转至

[转帖]成功将2。6。9的内核移植到PXA27x平台上,特发贴庆祝一下!

工程师
2005-07-15 19:08:04 打赏
昨天天在大胆改了一个明确说明不准改的配置文件之后,终于使2。6。9的内核在PXA27x的平台上跑起来了。兴奋之余,将移植过程中的体会同大家分享一下。 基于PXA27x平台的arm-linux工具包可以在 ftp://ftp.linux.org.uk/pub/linux/arm/people/xscale/mainstone 目录下面获得,这个目录下面有 2.4.21和2.6.9两个版本linux内核的补丁和其它工具。我下了2。6。9这个版本的,安装的步骤基本是按里面readme.txt文件列出的步骤进行,特别说明一点,下载的目录里有bin目录,里面有编译好的内核映像zImage.qvga、zImage.vga和blob二进制文件,以及jffs文件系统。可能这些文件都是针对其它某个平台编译出来的,我将它们烧到平台上后发现它们都有问题。 哎,没办法,还得自己动手来编译! 首先是编译blob。输入命令make -f Makefile.cvs,这一步一般不会有问题,不过我还是碰到了问题:autoheader后出现错误。检查后发现是autoconfig和automake的问题,于是重装了这两个软件后,问题解决了。然后就是要执行./ configure命令,此命令后面有一些参数,比如--with-linux-prefix=内核所在目录,注意:这里的目录一定要些绝对路径,千万别些相对路径,我一开始些的是相对路径,编译总是失败,郁闷的快不行了,后来改成绝对路径,编译成功!成功后用jflashmm工具把它烧进flash里面去,如果烧录失败,没关系,多烧几遍就好了。 烧好blob后,试了几个命令没有问题,还蛮有成就感的。然后是编译内核,按照readme.txt的步骤做了无数遍,结果烧到平台上后无一例外地在启动过程中死机了,郁闷之中,只好到处逛论坛,功夫不负有心人,终于发现有人说要把.config文件中的men=128M改成men=32M,~/drivers/mtd/maps/pxa27x-flash.c中的WINDOW——SIZE改成32*1024*1024,~/drivers/mtd/chips/cfi——cmdset——0001。c中的两个21改成20。得到这些点拨之后,立即测试,结果还是在启动过程死机了,不过这次错误的地方与一开始时不一样,虽说被从一个错误的港湾带到了另一个错误的港湾,但还是挺高兴的,因为最起码说明这有可能是问题之一。这次总是停在网络配置处,看来是网络有问题,可是也不应该阿,因为之前能用tftp协议传输内核映像,说明网络工作正常啊。再仔细看看出错的地方输出信息,有一个现象好奇怪,内核中显示的ip-config信息中列出的server ip是192.168.1.100,client ip是193.168.1.101,我在编译之前没有设这两个ip地址呀,它们怎么会出现在内核中呢?内核源代码可是下载的标准内核,不应该会自动设置ip呀,难道是在给内核打布丁时打上去的?先别管它吧,试试将主机的ip改成192.168.1.100,改完之后,错误依旧,仍然是blob中tftp用起来没问题,而内核启动不了,我想也许是因为主机是采用dhcp协议获得的ip地址,用ifconfig命令修改ip后不能正常进行网络工作吧。于是我决定换一种思路,直接修改内核文件,迫使内核启动时设置的ip地址与我在实验室中用的ip地址相符。怎么改呢?搜一搜看内核中那几个文件中包含192,168,发现主要是几个config文件,看来是因为config文件的设置了ip,使得编译时内核中固化了ip,我主要锁定了两个文件.config和mainstone_defconfig文件,这两个文件的开头明确写着:"this file is generated aotumatically, please don't edit it",可是我已经郁闷得快不行了,哪里还管它什么don't edit了,大胆将它们中设置ip的那行改了,并把该行末尾的men=128M改成men=32M。重新执行make mainstone_defconfig,make oldconfig后发现前面改的已经被恢复成最初的值了,那两个文件的内容应该就是这两步获得的,所以我决定在这两步之后修改它们,然后直接执行make zImage。实践证明,我的判断是对的,就怎样 2。6。9的内核在pxa27x上跑通了! 进入系统后,我迫不及待的启动了文件系统中的qpe程序,哇,竟然运行正常!还有哦,里面还有小游戏,于是顺便玩了一盘围棋(结果当然是输了,你知道我没玩过围棋,只是知道一点围棋规则而已)。 系统装好了,终于可以往下做导师要求的项目了。我在这里把在pxa27x上烧写2。6。9的内核经历记了下来,希望能给那些将要用pxa27x平台做嵌入式linux开发的同仁一点参考,同时也希望在以后的开发过程中能和大家一起交流,共同进步!



关键词: 转帖 成功 内核 移植 PXA27x 台上 特发

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册]