OK6410之tftp下载内核,nfs…

转载 2013年12月02日 09:11:08

    由于工作的平台也是嵌入式,差不多的平台,所以一直就没有把自己买过来的ok6410板子好好玩玩。以前一直都是sd卡去进行实验的。想着,如果和公司实验室里的开发平台一样的话,那多好啊,既方便,又快捷。磨刀不误砍柴工嘛,好的开发环境可以提高很多效率的。好了,下面开始讲讲怎么去实现的吧。下文很多是参考网上的资料的,很多是雷同,我只是记录自己的过程。

       首先是tftp下载内核吧。网上也都说了,ok6410uboot里面可恶的网卡驱动是cs8900的,而实际网卡是dm9000的,所以导致进入uboot后就没有办法用tftp来下载内核了。不过有人已经实现了这个功能。

下面分几个小标题,各个实现各个说明

 

                                                            一、uboot的修改编译

 

        通过修改uboot可以实现,修改include/configs/smdk6410如下:

 

 

        接着是drivers/dm9000x.c下了

 

 

 

        好了,之后在下面几条命令就可以生成新的uboot

 

 

[html] view plaincopy
  1. make clean  
  2.   
  3. make smdk6410_config  
  4.   
  5. make  


                                  

                                                                         二、uboot的下载

 

        接着就是下载那个uboot了,用usb可以很快解决,还是贴一下下载过程吧,虽然文档有的,至于那个usb下载的驱动安装什么的,那就不多说了。

        好了,现在假设都好了,出来下面这个图了。

1、把mmc.bin通过usb port下的transmit下载好,这里地址是0x57e00000。在下载的时候,要一直按空格键,要不然过了之后,就去起内核了。

2、接着进入U-boot命令行后,输入‘#dnw 50008000’,并回车

3、然后将U-boot映像文件下载到内存:点击DNW菜单“USBPort-->Transmit-->Transmit

在弹出的文件浏览窗口中选择u-boot.bin

4、擦除Nandflash,输入命令:

[html] view plaincopy
  1. #nand erase 0 100000 擦除Nandflash从0开始的1MB大小的区域。  


5、将程序写入到Nandflash,输入命令:

[html] view plaincopy
  1. #nand write.uboot 50008000 0 100000  


       这样uboot就算下载成功了。

 

                                                                       三、虚拟机安装tftp

 

     

[html] view plaincopy
  1. 1.  sudo apt-get install tftp-hpa tftpd-hpa   
  2.   
  3.      2 .  mkdir /tftproot   
  4.   
  5.           chmod 777 tftproot   
  6.   
  7.      3.  sudo vim /etc/default/tftpd-hpa   


修改如下

 

 

4.然后就可以启动这个服务了  

[html] view plaincopy
  1. sudo service tftpd-hpa restart   


检测 tftp

[html] view plaincopy
  1. 1)> echo hello world > ~/a.txt   
  2.   
  3. 2)> echo tftp test > /tftproot/b.txt   
  4.   
  5. 3)> cd ~   
  6.   
  7. 4)> sudo tftp 127.0.0.1   
  8.   
  9. 5)> tftp> put a.txt   
  10.   
  11. 6)> tftp> get b.txt  
  12.   
  13. 7)> tftp> q  


        看tftpboot目录下是否有相应的文件就可以判断了。

 

 

                                                                    四、tftp下载内核

 

        首先要准备好内核zImage,在kernel下面

[html] view plaincopy
  1. make zImage  
  2.   
  3. cp arch/arm/boot/zImage /tftpboot  


        准备内核之后,那边是要去下载了,拨码开关拨到nandflash启动,uboot是烧到nandflash中的,然后就是进入smdk6410uboot了。

        接着

[html] view plaincopy
  1. setenv bootcmd tftp 0xc0008000 zImage; bootm 0xc0008000  
  2.   
  3. saveenv  


         然后复位之后,就会通过tftp下载内核了。

 

                                                           五、虚拟机安装nfs

 

[html] view plaincopy
  1. #sudo apt-get install portmap  
  2.   
  3. #sudo apt-get install nfs-kernel-server  
  4.   
  5. #sudo vi /etc/exports   


         加上你的rootfs的路径

        添加的内容意思是:允许 ip地址范围在192.168.5.*的计算机以读写的权限来访问/home/eastmoon/ok6410/rootfs目录,/home/eastmoon/ok6410/rootfs也称为服务器输出共享目录。具体要根据不同的环境来定。

        然后就是启动服务了

1)

[html] view plaincopy
  1. #sudo exportfs -rv   

  使/etc/exports 文件生效

2)接着执行如下命令,启动端口映射:

[html] view plaincopy
  1. #/etc/init.d/portmap start(或:#sudo service portmap start)  


3)最后启动 NFS服务,此时 NFS会激活守护进程,然后就开始监听 Client端的请求:

[html] view plaincopy
  1. #/etc/init.d/nfs-kernel-server restart (或: #sudo service nfs-kernel-server restart)  


   Linux 服务器端 NFS服务器的配置到此就已经配置好了。

 

                                                                 六、nfs挂载文件系统

 

       这也是最后一步了,至于文件系统嘛,买板子的时候,店家可定给了资料了,然后就是解压到那个你指定的目录下面的。我的是/home/eastmoon/ok6410/rootfs

[html] view plaincopy
  1. #sudo tar –zxf FORLINX_6410_yaffs2_v1.0.tgz就可以了。  


        然后就是要设置uboot的启动参数了

       启动uboot,然后

[html] view plaincopy
  1. set bootargs root=/dev/nfs console=ttySAC0,115200   
  2.   
  3. nfsroot=192.168.5. 100:/home/eastmoon/ok6410/rootfs   
  4.   
  5. ip=192.168.5.150:192.168.5.100:192.168.5.1:255.255.255.0::eth0:off  
  6.   
  7. saveenv  
  8.   
  9. <</span>span style="font-size:18px;"><</span>span style="font-family:Times New Roman;font-size:14px;"></</span>span></</span>span>  

 

  

[html] view plaincopy
  1. 192.168.5.100 pc端虚拟机的ip  
  2.   
  3.    192.168.5.150 开发板的ip  
  4.   
  5.    192.168.5.1 网关  
  6.   
  7.    255.255.255.0 子网掩码  
  8.   
  9.    


 

 

    然后配合刚才的tftp下载,接着复位下板子。然后就可以即通过tftp下载内核也可以nfs挂载文件系统了,之后的开发就方便多了。

 

        终于写完了,心也静下来了,睡觉了,明天继续公司学习,晚上回来学习板子。以后陆续会把自己调通的驱动都写写博客和大家一起分享下。




转自:http://blog.csdn.net/eastmoon502136/article/details/7905960

tiny6410内核下载(tftp)

1.首先利用光盘上带的SD-Flasher.exe将superboot烧写到SD卡中,然后设为SD卡启动模式 连接好电源线,数据线,串口线,打开串口,打开开发板电源开关,可以看到如下内容 说明SD...
  • gfbgl
  • gfbgl
  • 2013年11月18日 17:14
  • 1857

OK6410之UBOOT增加TFTP传送烧写IMAEG功能

OK6410板子随之配套的UBOOT是没有实现通过网络传送IMAGE功能。而注意到自带uboot cmd tftpboot也只是传送kernel image再跑起kernel,因此,修改此cmd,实现...
  • LBO4031
  • LBO4031
  • 2016年06月10日 11:16
  • 1060

uboot中利用TFTP和NFS加载内核镜像和根文件系统

origin: http://www.cnblogs.com/cjjnjust/articles/1754849.html 主机说明: 主机guest 为虚拟机redhat9: I...
  • yazhouren
  • yazhouren
  • 2016年07月23日 12:24
  • 1252

移植属于自己的6410开发板的U-Boot

学习了几个月的关于嵌入式相关的知识,之前一直觉得自己能力不够,去研究uboot很有难度,现在通过几个月的学习,再去研究uboot应该可以理解了,于是就开始自己的移植之旅!        首先...
  • xingzouagain
  • xingzouagain
  • 2016年09月11日 11:49
  • 1338

D-Chip i.MX6使用TFTP NFS方式挂载linux系统的方法

在i.mx6上使用NFS的方法挂载文件系统。
  • williamdedong
  • williamdedong
  • 2016年11月18日 11:38
  • 532

FTP、TFTP、NFS的区别

1、FTP 文件传送协议FTP(File Transfer Protocol)是Internet上使用比较广泛的文件传送协议。FTP提供交互式的访问,允许客户指明文件的类型与格式,并允许文件具有存取权...
  • qingkongyeyue
  • qingkongyeyue
  • 2016年08月13日 11:28
  • 4187

终于可以tftp和nfs向开发板传送文件

研究了好久想让开发板和虚拟机共享文件,功夫不负有心人,经过一个星期的研究终于被我攻克了,供大家分享使用,免得大家又要花费很多时间去搞这个。 开发板:OK6410A Linux:redhat5.5 ...
  • u010511709
  • u010511709
  • 2014年03月07日 18:34
  • 1399

FTP、TFTP、NFS、SSH介绍及在 Ubuntu 上的安装配置

玩板子由于需要频繁进行文件烧写、传输和下载,所以经常会用到标题中提到的几种服务。刚接触嵌入式时,老是对这几种服务分不清,对几种服务的用法及功能也比较模糊,现在特意查找资料,记录下来。FTP:FTP(F...
  • VOlsenBerg
  • VOlsenBerg
  • 2017年01月10日 18:13
  • 777

Linux下tftp和nfs配置

一.配置tftp 1.安装TFTP软件     sudo apt-get(yum) install tftp-hpa tftpd-hpa     tftp-hpa是客户端,tftpd-hpa是服务器端...
  • al86866365
  • al86866365
  • 2016年08月23日 10:23
  • 1047

mini2440 -- TFTP方式下载内核镜像(zImage)--开发用

#仅适用于友善提供的Mini2440开发板内核源码!!! 1.修改内核根目录Makefile(友善已修改): #ARCH ?= $(SUBARCH) ARCH ?= arm CROSS_COMPI...
  • xsbh0310
  • xsbh0310
  • 2016年04月12日 22:25
  • 1378
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:OK6410之tftp下载内核,nfs…
举报原因:
原因补充:

(最多只允许输入30个字)