uboot 官方学习文档 http://www.denx.de/wiki/DULG/Manual

=> help setenv setenv - set environment variables Usage: setenv name value ... - set environment variable 'name' to 'value ...' setenv name - delete environment variable 'name' =>

To modify the U-Boot environment you have to use the setenv command. When called with exactly one argument, it will delete any variable of that name from U-Boot's environment, if such a variable exists. Any storage occupied for such a variable will be automatically reclaimed:

=> setenv foo This is an example value. => printenv foo foo=This is an example value. => setenv foo => printenv foo ## Error: "foo" not defined =>U_BOOT_CMD_COMPLETE(
 setenv, CONFIG_SYS_MAXARGS, 0, do_env_set,
 "set environment variables",
 "name value ...\n"
 "    - set environment variable 'name' to 'value ...'\n"
 "setenv name\n"
 "    - delete environment variable 'name'",
 var_complete
);do_env_set()

如果uboot代码里面实现了saveenv,那么在setenv后,可以用saveenv去将所有的变量都存储起来。具体存到哪里,要根据是uboot中的定义决定。比如
     #define CONFIG_ENV_IS_IN_SPI_flash       就是定义成存储环境变量到SPI Flash里面。

#ifdef CONFIG_SPI_BOOT
 #define CONFIG_ENV_OVERWRITE
 #define CONFIG_ENV_IS_IN_SPI_FLASH
 #define CONFIG_CMD_SAVEENV 
  #define CONFIG_ENV_SECT_SIZE  0x10000
 #define CONFIG_ENV_OFFSET           0x1f0000

#elif defined CONFIG_NAND_BOOT
 #define CONFIG_ENV_IS_IN_AML_NAND
 #define CONFIG_CMD_SAVEENV
 #define CONFIG_ENV_OVERWRITE 
 #define CONFIG_ENV_OFFSET       0x400000
 #define CONFIG_ENV_BLOCK_NUM    2

#elif defined CONFIG_MMC_BOOT
 #define CONFIG_ENV_IS_IN_MMC
 #define CONFIG_CMD_SAVEENV
    #define CONFIG_SYS_MMC_ENV_DEV        0 
 #define CONFIG_ENV_OFFSET       0x1000000  
#else
 #define CONFIG_ENV_IS_NOWHERE    1
#endif

uboot 启动 linux ----2 ----set setevn saveenv 命令 保存介质相关推荐

  1. uboot启动linux内核流程分析(三)

    uboot bootz命令流程图 Uboot启动linux内核是使用bootz命令,bootz是如何启动linux内核?uboot的生命周期是怎么终止的?linux是如何启动? 启动linux内核的时 ...

  2. 手把手教你在友善之臂tiny4412上用uboot启动Linux内核

    要想用uboot启动内核,我推荐一种方法,用dnw下载内核到开发板上,然后用uboot命令启动: 首先我在网上随便下了一个dnw工具,经过移植修改后,代码如下: /* YYX--->for ti ...

  3. uboot启动Linux内核(一):uboot启动流程

    1. uboot介绍:    uboot是bootloader的一种,是Linux内核的引导启动程序.会初始化嵌入式平台上的一些外设(比如:ddr等),把Linux内核镜像从flash中加载到内存,在 ...

  4. skyeye模拟uboot启动linux(initrd方式)

    bootelf命令:启动vmlinux bootm命令:启动uImage go命令:启动zImage Linux几种内核镜像及其关系 前言:链接脚本 用户态程序不用关心section的具体位置:在用户 ...

  5. nbu Linux 邮件告警,NBU常用命令1——介质管理

    NBU常用命令1--介质管理 环境说明: NBU 6.5.6.Redhat Linux 5.4 1.查看当前磁带信息 [root@vtl01 logs]# available_media media ...

  6. linux 从命令行启动,Linux下常见服务在命令行方式的启动

    昨天下午正在超市购物,BOSS打电话问我会不会配置Linux下的samba? Samba是Linux下提供的类Windows下"网络邻居"的服务.一般只有启动的时候安装了才可以启用 ...

  7. uboot启动linux,uboot中ramdisk启动linux的两种方法

    首先要确保内核支持ramdisk启动: The configuration of the kernel is as follow: 1) General setup-->[*] Initial  ...

  8. 启动linux的rpc服务的命令

    命令 sudo service rc-local status

  9. linux虚拟机保存指令,vmware虚拟机命令保存

    <操作系统>课程设计报告课程设计题目:操作系统课程设计 设计时间:2016/1/10一. 课程设计目的与要求需要完成的内容:(1) 安装虚拟机:Vmware.Vmware palyer ( ...

  10. U-boot启动流程(Linux内核)的分析(四)

    在上一篇中分析到u-Boot启动Linux内核的函数do_bootm_linux,这一篇则着重分析,U-boot是如果一步一步启动内核的. 我们可以看到在,start_armboot()函数的最后,在 ...

最新文章

  1. python官网地址-python官网地址
  2. python的编程模式-Python设计模式之状态模式原理与用法详解
  3. 数据库的定义、关系型数据库的四种约束。。
  4. 面试必备:缓存穿透,缓存雪崩的四种解决方案
  5. 【学术相关】CVPR2021最新接收论文合集!22个方向100+篇论文汇总|持续更新
  6. Binding是WPF的核心,WPF的常用数据源绑定有四种
  7. 实现 tomcat 热加载证书
  8. 五大常用算法:分治、动态规划、贪心、回溯、分支限界
  9. 11g Rac 服务介绍
  10. 《MySQL技术内幕(SQL编程)》——基础
  11. 数据库sqlite3怎么排顺序_【数据库02】MySQL数据库面试题
  12. VS中添加新项 数据选项卡下没有ADO.NET实体数据模型解决方案
  13. unity3D: visual Studio 调试 unity
  14. 视频教程-Visio应用视频教程(下)-Office/WPS
  15. C语言程序找零问题怎么运行,C语言找零问题
  16. Beyond Compare 4 远程对比
  17. RubyProgramming:向Ruby之父学程序设计pdf
  18. 字节流与字符流(一)
  19. 一、多线程是什么?为什么要用多线程?
  20. Vue+wangeditor富文本+element——--上传+下载文件+图片预览

热门文章

  1. 将苹果手机数据导入苹果手机苹果?如何传输苹果手机数据
  2. 浅谈嵌入式技术的发展
  3. CreateFile函数详解 不仅仅是对文件的操作 还有对系统设备的IO的操作
  4. 【LoRaWan】节点端(一)--SX1278介绍
  5. sdnu oj 1357.Text Reverse 字符串
  6. Disable Win+R from launching Wox
  7. 蚂蚁金融科技全面开放战略背后的技术布局
  8. 洛谷-P1428 小鱼比可爱
  9. 浏览器(Microsoft Edge)主页被360劫持的终极解决办法
  10. java 生成缩略图_java实现图片生成缩略图