需求:实现设备在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-hpaTFTP_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

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

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

    转载地址:http://blog.csdn.net/yazhouren/article/details/52003572 origin: http://www.cnblogs.com/cjjnjust ...

  2. linux uboot nfs启动,uboot中利用TFTP和NFS加载镜像到ram运行

    主机说明: 主机guest 为虚拟机redhat9: IP: 59.64.155.122  网关 59.64.155.1 redhat9上已经配置好NFS服务(参考http://blog.chinau ...

  3. uboot中利用TFTP和NFS加载镜像到ram运行

    主机说明: 主机guest 为虚拟机redhat9: IP: 59.64.155.122  网关 59.64.155.1 redhat9上已经配置好NFS服务(参考http://blog.chinau ...

  4. k n:linux kernel 从开机,到加载内核镜像到内存

    原文地址: linux的内核运行原理是怎么样的呢?如何从开机,到加载内核镜像到内存? linux的内核运行原理是怎么样的呢?如何从开机,到加载内核镜像到内存? 最佳答案 本回答由提问者推荐 头像 匿名 ...

  5. 【梅哥的Ring0湿润插入教程】重磅第三课:Ring0下的PE Loader及重加载内核秒杀一切内核级钩子(上篇)...

    [梅哥的Ring0湿润插入教程] Email:mlkui@163.com 转载请注明出处,谢绝喷子记者等,如引起各类不适请自觉滚J8蛋! 第三课:Ring0下PE Loader及重加载内核绕过一切内核 ...

  6. linux内核加载卡主,请教mx6,linux3.0.35,tf卡能启动uboot但是无法加载内核问题

    请教mx6,linux3.0.35,tf卡能启动uboot但是无法加载内核问题 cpu:mcimx6u5dvm10AB 硬件上,我把wp和cd都直接接地了,这次新加工的核心板,以及重新设计一个新项目的 ...

  7. Linux下编译、链接、加载运行C++ OpenCV的两种方式及常见问题的解决

    Linux下编译.链接.加载运行C++ OpenCV的两种方式及常见问题的解决 在Linux下安装完OpenCV C++之后(还没有安装的读者请参考Ubuntu 18.04 安装OpenCV C++) ...

  8. linux 文件系统覆盖目录,Linux内核裁减及根文件系统定制

    一.内核编译 1.准备工作 (1)整理出系统需要支持的硬件.文件系统类型以及网络协议等内容. (2)建议用命令uname –r 查看一下系统的版本号,如果你的系统版本与将要编译的内核版本一致,建议将/ ...

  9. 分享轮子-flutter下拉刷新上拉加载

    flutter下拉上拉组件轮子 什么是flutter? 首先说下flutter,估计这个应该挺多人没听过flutter这个框架,它是一个google推出的跨平台的移动应用UI框架,和React Nat ...

  10. 入门微信小程序(含实战) [第九篇] -- 下拉刷新和上拉加载

    下拉刷新和上拉加载是两个独立又密切联系的功能,上拉加载需要服务器端有分页机制,而下拉刷新除了重新获取信息外还要对之前的状态和页码进行初始化. 一个一个来吧. 服务器端分页 其实yii2早就已经为我们准 ...

最新文章

  1. 什么场景使用mysql的存储过程_mysql存储过程的使用
  2. 数论----gcd和lcm
  3. 【 FPGA 】FIR滤波器之 多个系数集问题以及 使用非整数实数的系数规范问题
  4. java二维对象数组存入文件_关于Java:将2D数组保存到磁盘文件
  5. 属性 Owner 不可用于 数据库...
  6. 介绍一个能避免 CORS 错误的 Chrome 扩展 - Moesif Origin CORS Changer
  7. Keras框架:人脸检测-mtcnn思想及代码
  8. 线性代数【12】矢量(向量) - 概念和专有名词
  9. [转载] python中三角函数_Python中的三角函数
  10. php获取时间计算时间差
  11. 大端与小端字节数据详解(转)
  12. [转载] 高等应用数学问题的matlab求解——第4章 线性代数问题的计算机求解
  13. linux宽松模式,三星N9200刷机包 V35.0 自编译官方内核 Selinux置为宽松模式 修复问题 稳定流畅...
  14. 虚拟光驱安装WIN7(client mac addr: no DHCP问题)
  15. 富士施乐Fuji Xerox DocuPrint M255 z 驱动
  16. 【债券量化策略研究系列】债券风险测度指标:久期(Duration)与凸度(Convexity)
  17. 简单的使用EA进行需求管理
  18. pku 1392 Ouroboros Snake
  19. qt中toLocal8Bit和toUtf8()有什么区别
  20. JFrame和Swing控件

热门文章

  1. 嵌入式软件设计第九次
  2. SQL ISNULL 函数
  3. 1283 最简单的计算机
  4. AIR SDK 更新方法
  5. 【GPT-3】地表最强语言模型GPT-3的局限与出路
  6. 最简单的BERT模型调用方法
  7. 斯坦福经典AI课程CS 221官方笔记来了!机器学习模型、贝叶斯网络等重点速查...
  8. 如何不出国门走进NLP学术前沿
  9. NLP学习—7.CNN与TextCNN
  10. 百面机器学习—2. 特征工程与模型评估要点总结