1 安装tftp服务
tftp是一种简单的网络传文件协议,tftp也是分client和server的;
因为ubuntu是没有安装有tftp的,所以,我们需要安装一个tftp server
我们只需要安装服务器即可,客户端安装仅供参考
1.1 安装tftp服务器:
第一步: 下载软件包:
sudo apt-get install tftpd-hpa
第二步:修改配置文件
修改配置文件的目的是告诉虚拟机tftp的服务器是哪个目录的文件
sudo vi /etc/default/tftpd-hpa
# /etc/default/tftpd-hpa
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot" #tftp目录在/tftpboot下
TFTP_ADDRESS="0.0.0.0:69" #任何IP都可以访问tftp服务器
TFTP_OPTIONS="--secure" #私密的
然后创建目录并修改权限:
sudo mkdir /tftpboot
sudo chmod 777 /tftpboot/
第三步: 重启tftp服务器
sudo service tftpd-hpa restart
2.2 安装tftp客户端:
sudo apt-get install tftp-hpa
板子上下载:
tftp -g -r 1.bin 192.168.1.128
2 nfs安装
因为ubuntu是没安装nfs的,所以我们需要安装nfs;
第一步: 下载nfs安装包
sudo apt install nfs-kernel-server
第二步: 解压原厂配的文件系统
解压,注意必须使用root用户解压,否则会出问题
sudo tar -zxf rootfs.tar.gz
第三步: 修改配置文件
sudo vi /etc/exports
加入:
/home/may/work/rootfs/nfsroot/rootfs_build *(rw,sync,no_subtree_check,no_root_squash)
#rw的意思是可读写
#sync的意思是文件自动同步
#no_subtree_check的意思是不检查子树
#no_root_squash忽略root用户的差异
第四步: 重启nfs服务
sudo service nfs-kernel-server restart
4 tftp + nfs启动内核以及挂载文件系统
第一步:设置uboot的参数:
set watchdog off #关闭看门狗重启
set ipaddr 192.168.1.129 #设置IP为192.168.1.129
set gatewayip 192.168.1.1 #设置网关为192.168.1.1
set netmask 255.255.255.0 #设置子网掩码
set serverip 192.168.1.124 #设置tftp服务器的ip
第二步: 设置uboot自动启动bootcmd
set bootcmd tftp 0x7fc0 uImage\;bootm 0x7fc0
save
第三步:设置bootargs成nfs启动
set bootargs mem=64M console=ttyS0,115200n8 rdinit=/sbin/init mtdparts=$\{mtdparts} root=/dev/nfs rw nfsroot=192.168.1.124:/home/work/rootfs/nfsroot/rootfs_build ip=192.168.1.129:192.168.1.124:192.168.1.1:255.255.255.0::eth0:off coherent_pool=2M
save
第四步: 开机登录
开机时提示输入用户,然后直接输入root即可