linux实现设备在uboot状态下利用TFTP和NFS加载内核镜像和根文件系统

需求:实现设备在uboot状态下利用TFTP和NFS加载内核镜像和根文件系统

总体步骤框架:
1、搭建tftp服务器;参考:https://blog.csdn.net/zengxiaohua123/article/details/80614950

步骤如下:
打开ubuntu终端,首先输入命令:“sudo apt-get install xinetd” 安装xinetd,安装完成xinetd后,接下来安装tftp和tftpd,
输入命令:“sudo apt-get install tftp tftpd”.

然后建立TFTP配置文件,使用命令:"vi /etc/default/tftpd-hpa"建立文件,向文件中写入如下代码(必须按照格式严格对齐):

=============================
#/etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/share/tftp"  //这里为对应你的tftp的目录
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
==============================

TFTP_DIRECTORY是TFTP的服务器目录,在这里,我设置为/home/share/tftp。

设置该TFTP的服务器目录权限为777,即对于所有用户可读可写可执行。
sudo chmod 777 /home/share/tftp

重启TFTP服务后,我们才能开始使用TFTP服务器,执行以下命令:
sudo service tftpd-hpa restart

2、Ubuntu下搭建NFS服务;参考:https://blog.csdn.net/qq_37860012/article/details/86717891

3、内核配置nfs文件系统相关config;参考:https://www.cnblogs.com/cjjnjust/articles/1754849.html

4、uboot状态加载kernel和dtb,网络跟文件系统;

A72新SDK代码验证:


set ipaddr 192.168.11.103; setenv serverip 192.168.11.5;
setenv get_images "tftp 0x7000000 Image; tftp 0x6000000 fdt.dtb"
setenv bootargs root=/dev/nfs nfsroot=192.168.11.5:/home/share/tftp/rootfs ip=192.168.11.103:192.168.11.5:192.168.11.1:255.255.255.0::eth0:off init=/linuxrc console=ttyS0,115200
saveenv //根据需要保存环境变量

run get_images; run bootargs; booti 0x7000000 - 0x6000000

Marvell-385通过nfs挂载根文件系统:

BMC验证
set ipaddr 192.168.11.103; setenv serverip 192.168.11.248;
setenv get_images "tftp 0x2000000 boot_385/zImage; tftp 0x1000000 boot_385/dtb"
setenv bootargs console=ttyS0,115200 root=/dev/nfs rw nfsroot=192.168.11.248:/home/share/tftp/bmc_385_filesystem ip=192.168.11.103:192.168.11.248:192.168.11.1:255.255.255.0:armada38x:eth0:none;
run get_images; run bootargs; bootz 0x2000000 - 0x1000000;

setenv bootcmd "run get_images; run bootargs; bootz 0x2000000 - 0x1000000;"
saveenv

要恢复从emmc加载内核和根文件系统:
uboot状态下设置:
setenv bootcmd "run bootcmd_env;"
saveenv
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

零意@

您的打赏将是我继续创作的动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值