1. 前言介绍
本篇文章,主要为了方便后续进行系统移植,提供传输文件时更便捷的操作。
这里介绍两个网络协议的使用 。( tftp服务 / nfs服务 )
2.安装 tftp 服务
2.1 > 介绍
Tftp : 是基于 UDP(无连接,不可靠)协议的简单文件传输协议。
用途 :使用网络的方式将文件传输(下载)到开发板中。
2.2 > 安装步骤:
1.安装tftp服务:
sudo apt-get update ----> 更新源 sudo apt-get install tftpd-hpa tftp-hpa tftpd-hpa : 服务器端 tftp-hpa :客户端
2.修改 tftp 服务的 文件内容:
sudo vi /etc/default/tftpd-hpa 修改前: # /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/var/tftpboot" TFTP_ADDRESS=":69" TFTP_OPTIONS="--secure" 修改后: # /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/home/linux/tftpboot" --->(修改) TFTP_ADDRESS=":69" TFTP_OPTIONS="-c -s -l" --->(修改) 解析: TFTP_USERNAME="tftp" ---> tftp服务的用户名 TFTP_DIRECTORY="/home/linux/tftpboot" ---> TFTP服务的路径,修改为自己的路径 需要将使用tftp下载的文件放到这个参数指定的路径下才可以 比如:如果将某个文件下载到开发板中,需要将此文件拷贝到~/tftpboot目录下, 在使用tftp服务下载此文件时就会从对应的路径下查找文件,进行下载。 TFTP_ADDRESS=":69" ---> TFTP服务的IP地址和端口号,默认为69号 TFTP_OPTIONS="-c -s -l" ---> TFTP服务的配置选项
4.在ubuntu的家目录下创建tftpboot目录 :
cd ~ mkdir tftpboot chmod 777 tftpboot tftpboot目录的作用: 将要使用tftp服务下载到开发板的程序存到这个目录下,当使用tftp服务下载程序时,tftp就会从~/tftpboot目录下查找你要下载的文件名。
5 重启tftp服务 :
sudo service tftpd-hpa restart 注:只要修改了tftp服务中配置文件中的参数,就需要重启tftp服务, 使tftp服务配置文件中的配置立即生效。
6. 本地测试 tftp服务 是否 安装成功 :
tftp 127.0.0.1 --> 在终端输入 tftp 本地测试的命令 tftp > --> 表示已经安装tftp服务成功 tftp > get 1.txt --> 从 tftpboot 目录下载一个 1.txt 文件 需要在 tftpboot 目录: touch 1.txt tftp > put 2.txt --> 从当前目录下 上传一个 2.txt 文件 需要在当前目录下: touch 2.txt tftp > quit --> 退出
3.安装 nfs 服务
3.1 > 介绍
nfs : 网络文件系统 (network file system)
用途 :linux内核启动之后,通过网络的方式从ubuntu服务器中挂载根文件系统
3.2 > 安装步骤:
1.安装nfs服务器
sudo apt-get install nfs-kernel-server
2.修改 nfs服务的 文件内容
sudo vi /etc/exports 在配置文件最后一行添加下面这行内容: /home/linux/rootfs *(rw,sync,no_root_squash,no_subtree_check) 解释: /home/linux/rootfs:根文件系统的路径,修改为自己的路径 * ---> 指所有的用户 rw ---> 对根文件系统可读可写的权限 sync ---> 同步文件 no_root_squash ---> 来访的root用户保持root帐号权限 no_subtree_check ---> 即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以 提高效率
3. 在家目录下解压 根文件系统
1. 拷贝 根文件系统的压缩包到ubuntu系统的家目录下 ( rootfs-ok.tar.xz ) 2. 对根文件系统进行解压缩。 tar -xvf rootfs-ok.tar.xz (解压缩后生成的就是已经制作好的开发板的根文件系统)
4. 重启 nfs 服务
sudo service nfs-kernel-server restart
4. 本地测试nfs服务是否安装成功
sudo mount -t nfs ip地址:/home/linux/rootfs /mnt | | 127.0.0.1 使用nfs网络文件系统挂载跟文件系统到/mnt目录下,IP地址必须是自己ubuntu的IP地址。 -t nfs :指定文件系统的类型, 使用nfs服务的方式进行挂载。 ls /mnt : 查看是否挂载成功。
4. 取消挂载
sudo umount /mnt 注:不要 /mnt目录下执行卸载命令,否则容易出现设备繁忙的错误。