使用s3c2440开发板
使用ubuntu
1.ubuntu中的tftp,和nfs
Trivial File Transfer Protocol,简单文件 传输协议。 通过网络在客户端与服务器之间进行简单文件 传输。提供不复杂、开销不大的文件传输服务。
Network File System,网络文件系统。通过 网络,让不同的机器、不同的操作系统可以共 享彼此的文件。
2.配置服务
tftp安装 sudo apt-get install tftp-hpa tftpd-hpa
tftp配置 创建tftp共享目录(我的是在/home/linux下建立一个tftpboot目录)并修改权限 chmod 0777 tftpboot/
修改tftp配置文件 sudo vim /etc/default/tftpd-hpa
重启tftp服务(sudo service tftpd-hpa restart)或重启客户机
tftp 客户端启动 tftp serverip或tftp进去后输入serverip
下载服务器端文件到本地 get filename (服务端相应目录下必须有该文件)
上传本地文件到服务器 put filename (本地对应目录下必须有该文件, 并且tftp服务端配置文件TFTP_OPTIONS选项支持,)
nfs安装 sudo apt-get install nfs-kernel-server(服务器)
sudo apt-get install nfs-common (客户端)
nfs配置 创建nfs共享目录并修改权限 (例如共享目录为) 添加nfs共享目录(以共享目录为/home/linux/nfs为例),在/etc/exports最后一行添加如图
重启nfs服务
客户端使用 mount -t nfs -o nolock 192.168.0.3:/home/linux/nfs /mnt
192.168.0.3 服务端ip
-t nfs 表示挂载文件的文件系统格式
-o nolock 表示禁用文件锁
/home/linux/nfs 服务端nfs共享目录
/mnt 与服务端共享的本地目录
如图实现00里面共享使用nfs内部文件
去除挂载
3.知识概念
4.需要在j_link软件中操作,u_boot.bin就是bootloader文件,下载入板子
5.下载好后连接串口,可以在相应串口软件查看板子通电后信息,会自动运行u_boot.bin
7.串口软件的选项里会话选项设置
8.学习uboot命令
9.tftp 0x30008000 自己的bootloader文件,我的是uimage,这样就成功了,需要板子可以ping通虚拟机ubuntu,这个有关网络配置,此次不赘述
10.根据自己的ip,串口,修改一些配置
11.bootm 0x30008000 运行内核,前面设置好后会自己挂载nfs内部的根文件系统,跟文件系统文件需要自己拷贝到nfs内。
完成操作,进入到根文件系统,可以在板子使用Linux
12.如果失败,遇到内核恐慌问题,可能是从Ubuntu17.04开始,nfs默认只支持协议3和协议4,而kernel中默认支持协议2。