Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1671057
  • 博文数量: 1493
  • 博客积分: 38
  • 博客等级: 民兵
  • 技术积分: 5834
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-19 17:28
文章分类

全部博文(1493)

文章存档

2016年(11)

2015年(38)

2014年(137)

2013年(253)

2012年(1054)

2011年(1)

分类:

2012-05-07 11:42:34

原文地址:linux2.6.38内核移植笔记 作者:fzhman

1.挂载nfs文件系统
    移植内核太坑爹了,有时候是死不知道是怎么死的,更悲剧的是有时候活了却不知道怎么活的,今天移植DM9000并挂载nfs文件系统的时候一直不成功。一直出现 nfs: server 192.168.100.84 not responding, still trying的问题,结果去上个厕所回来,再试结果又行了,敢情是网络的问题!设置nfs需要通过u-boot命令进行设置,命令如下:
setenv bootargs console=ttySAC0 root=/dev/nfs nfsroot=172.19.72.35:/opt/EmbedSky/root_nfs ip=开发板IP:电脑IP:开发板IP或者网关:255.255.255.0:SKY2440.embedsky.net:eth0:off 
或者直接在u-boot源码里面改include/configs/tq2440.h
在挂载nfs的时候发现u-boot中setenv的环境参数竟无法保存,重启后还是原始的。明天继续!

2.设置环境变量
     经过昨天坑爹的结果后,今天似乎还是不长记性,今天一天都围绕着setenv这个命令,环境参数保存不了,
刚开始发现Uboot中我既定义了CFG_ENV_IS_IN_FLASH又定义了CFG_ENV_IS_IN_NAND,定义在/include/configs/EmbedSky.h文件中。刚开始以为是这里错了,通过定义可以将uboot的环境变量烧写到norflash(CFG_ENV_IS_IN_FLASH)或者nandflash(CFG_ENV_IS_IN_NAND)中,当时兴奋了一把,结果是令人失望的,还是无法保存环境变量,在这期间我试着将uboot make distclean后,结果结果可以用塞翁失马焉知非福来形容,Hit any key to stop autoboot:  0 (后来发下原来是norflash中天嵌的uboot,在设置环境变量的时候把bootdelay设置为0了,可以通过setenv bootdelay 时间该回来),u-boot启动没有等待按键的时间了,进入不了命令界面了,把我激动的,最后没办法了,试着把nandflash格式化,结果再烧写,又有等待按键的时间了,更奇迹的是,环境变量也能保存了,再一次印证了那句话有时候是死不知道是怎么死的,更悲剧的是有时候活了却不知道怎么活的!接下来要对linux内核进行分区了。。。。。。。。。。。。

3.挂载nfs文件系统续
     真是祸不单行呀,刚勉强解决了环境变量无法保存后,启动系统有出现了昨天的问题nfs: server not responding, still trying的问题,经过google baidu(唉,我发现我需要个老师),原来问题出在网络,nfs默认情况是采用udp方式挂载文件系统,容易丢包,也许是我们实验室的哪个vpn服务器搞的鬼,路由器顶不住呀,全专业上网都靠它了。言归正传,哪么如何解决了这里提供两种方法
     1)setenv bootargs console=ttySAC0 root=/dev/nfs nfsroot=172.19.72.35:/opt/EmbedSky/root_nfs,rsize=1024,wsize=1024 ip=172.19.72.8:172.19.72.35:172.19.72.1:255.255.255.0:SKY2440.embedsky.net:eth0:off
ip根据自己网络情况替换,172.19.72.35(主机IP),172.19.72.8(开发板IP),172.19.72.1(网关);
        2)setenv bootargs console=ttySAC0 root=/dev/nfs nfsroot=172.19.72.35:/opt/EmbedSky/root_nfs,tcp ip=172.19.72.8:172.19.72.35:172.19.72.1:255.255.255.0:SKY2440.embedsky.net:eth0:off

4.nandflash分区
刚开始分区的时候因为粗心,内核编译都通不过,以为很难,结果发现问题后觉得其实和2.6.30一样的,只要内核启动的了,我分了4个区,如图

数组在arch/arm/plat-s3c24xx/common-smdk.c文件里面。

5.LCD驱动
    LCD驱动照着天嵌的Linux移植之step By step中的step15改。

6.usb鼠标
    昨晚上面的后,发现鼠标和触摸屏都不能使用,后来在网上找到资料说,内核没有配置鼠标
  1. Device drivers --->
  2.     SCSI Device support --->
  3.         <*> SCSI device support
  4. <*> SCSI disk support
  5.     [*] HID Devices --->
  6. -*- Generic HID support
  7. <*> USB Human Interface Device (full HID) support
  8.     [*] USB support --->
  9. {*} Support for Host-side USB
  10. [*] USB announce new devices
  11. [*] USB device filesystem
  12. <*> OHCI HCD support
  13. <*> USB Mass Storage support

USB Human Interface Device (full HID) support 是对USB鼠标键盘的支持
SCSI disk support 和USB Mass Storage support 是对U盘的支持
编译内核下载到板子上发现能用了,现在还有触摸屏驱动了。。。。。。
阅读(219) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

houyizi3132012-05-07 11:52:08

兄弟:懂不懂怎么把yaffs2文件系统嵌入到内核里面?和内核编译成一个镜像下载到开发板?我被卡在这里了!基于MIPS平台!bootloader是Yamon!或者有没有认识的朋友给介绍介绍?337825770;非常感谢!