在嵌入式linux系统下修改uboot环境变量工具fwprintenv
作为用户来说,不可能每次启动都先在uboot命令行下通过 setenv 、 saveenv 来修改传入kernel的环境变量,因此uboot提供了 fw_printenv工具 来让用户在文件系统下来查看和修改环境变量,具体步骤如下:
环境 :
uboot : uboot-2019.1
cross tool: arm-linux-gnueabihf-gcc-7.2 一 、编译fw_printenv
进入uboot根目录,查看tools/env目录下的 README 的编译指南
根据自己平台进行编译: make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- envtools
编译成功后在 tools/env 目录下 生成了 fw_printenv ,这个就是我们需要的工具。
将fw_env.config 拷入 目标板/etc/目录。
将fw_printenv 拷入 目标板/bin目录。
二 、配置fw_env.config
这里的配置一定要和系统的配置相同,即 Device offset,Env size和Flash sector size应该分别对应于uboot源码目录中include/configs/xxxx.h相关文件中的 CONFIG_ENV_OFFSET,CONFIG_ENV_SIZE 和 CONFIG_ENV_SECT_SIZE 三个宏定义。
make menuconfig uboot Enviroment-> (*)Environment in a NAND device (0x100000)Enviroment Offset (0x20000)Enviroment Size (0x20000)Enviroment Sector-Size
该配置主要是setenv 和saveenv 在 整个NAND 上的偏移和大小,没有分区概念。
kernel devicetree partition@nand-BOOT{ label="BOOT"; reg=<0x0, 0x120000>;//1M BOOT.bin+128K(env) } partition@nand-linux{ label="kernel"; reg=<0x120000, 0x500000>;//5M } partition@nand-devicetree{ label="devicetree"; reg=<0x620000, 0x20000>;//128K } partition@nand-rootfs{ label="rootfs"; reg=<0x640000, 0xa000000>;//160M } partition@nand-bitstream{ label="bitstream"; reg=<0x640000, 0xa000000>;//10M }$ cat fw_env.config #NAND example #MTD device name Device offset Env.size Flash sector size Number of sector /dev/mtd0 0x100000 0x20000 0x20000 1
内核 设备树 和 fw_env.config 相对应。这里我们只列出了NAND的例子,其他设备根据配置文件描述参考修改。
/dev/mtd0 包含了BOOT和env。Device offset 是指uboot环境变量在 此分区 上的偏移,不是指在整个nand上的偏移。 三 、fw_printenv的使用
建立软连接fw_setenv,用于配置和修改环境变量
ln -s fw_printenv fw_setenv
查看help信息 # fw_printenv --h Usage: fw_printenv [OPTIONS]... [VARIABLE]... Print variables from U-Boot environment -h, --help print this help. -v, --version display version -c, --config configuration file, default:/etc/fw_env.config -n, --noheader do not repeat variable name in output -l, --lock lock node, default:/var/lock# fw_setenv --h Usage: fw_setenv [OPTIONS]... [VARIABLE]... Modify variables in U-Boot environment -h, --help print this help. -v, --version display version -c, --config configuration file, default:/etc/fw_env.config -l, --lock lock node, default:/var/lock -s, --script batch mode to minimize writes Examples: fw_setenv foo bar set variable foo equal bar fw_setenv foo clear variable foo fw_setenv --script file run batch script Script Syntax: key [space] value lines starting with "#" are treated as comment A variable without value will be deleted. Any number of spaces are allowed between key and value. Space inside of the value is treated as part of the value itself. Script Example: netdev eth0 kernel_addr 400000 foo empty empty empty empty empty empty bar
其实fw_printenv 使用起来和uboot下的printenv 和setenv 指令是一模一样的。 打印uboot环境变量: fw_printenv [[ -n name ] | [ name ... ]]
如果不指定name,fw_printenv会打印出ENV区中的所有环境变量。
指向fw_printenv 的fw_setenv ,用来修改和设置环境变量。
BlackBerryKEYone英国首发售价4440元人民币TechWeb报道4月27日,BlackBerryKEYone手机在英国伦敦著名百货公司Selfridges独家首发,售价为499英镑(约合人民币4440元)。Selfridges
抖音入局外卖行业?心动外卖商标被抢注100多件抖音要做外卖啦,挑战美团饿了么?据了解,字节跳动旗下的抖音平台已成立一个专门的外卖业务团队,并在抖音App内开始内测,名为心动外卖。心动外卖,吃你所爱。抖音入局外卖行业,具有短视频
4699元!索尼XperiaXZs国行开卖960帧慢动作索尼中国今天宣布,有着摄录大师称号的XperiaXZs已经在国内正式上市,国行售价4699元。该机最大的亮点就是配备了1900万像素的MotionEye相机,一颗12。3英寸Exm
为什么要注册商标?过来人告诉你有朋友咨询,商标不注册我也能使用,为什么要花钱去注册呢?我们先来了解一下,注册商标是什么?注册商标是经过国家知识产权局审查之后核准注册的商标,受到商标法保护,商标注册人享有专用权。
京东吉祥物Joy穿西装打领带,注册新商标众所周知,京东吉祥物是一只小狗,名叫Joy。前段时间,京东更换了Joy的新形象,相比以前,Joy明显吃胖了,圆润了,迈着自信的步伐向你走来了。近日,我们发现京东为Joy注册了新商标
凉老吉商标被注册,王老吉急了王老吉最近很忙,不仅忙着注册各种姓氏开头的X老吉商标,而且还忙着提出商标异议。有人申请了2件凉老吉商标,分别注册在第32类的啤酒无酒精果汁矿泉水(饮料)等和43类的住所代理餐厅旅馆
低调的鸿星尔克,注册上千件商标TOBENO。1,是大家对鸿星尔克为数不多的记忆。河南郑州一场暴雨,让这个品牌再次回归大众的视野。在鸿星尔克低调捐款5000万后,不少网友表示这么多年了原来它还在!这个被认为濒临破
商标起了个旺财的好名字,别忘查询注册了没?朋友准备自己做生意,正式开始前肯定得先起个好名字,图个吉利。冥思苦想好几天,终于想到一个好听又旺财的好名字,高兴得不行,恨不得马上注册下来。我劝他别急,提交商标注册申请之前,先查查
王老吉祝你新婚大吉升职大吉?申请多个大吉商标王老吉商标又玩出新花样。近日,广州王老吉大健康产业有限公司申请了20余件有趣的商标,包括新婚大吉订婚大吉开播大吉提车大吉新年大吉开张大吉高考大吉等等。看到王老吉注册新婚大吉商标,网
2999元起售!一图秒懂异形全面屏新机OPPOR153月19日,OPPO在北京发布旗下首款异形全面屏新机OPPOR15。外观方面,OPPOR15采用了双面玻璃设计,左右边框极窄,只有1。78mm,屏占比达到了90,提供雪盈白热力红星
饿了么蜂鸟配送全面融入阿里新零售拓展至2000市县6月22日消息,饿了么今日在阿里巴巴西溪园区召开蜂鸟配送全国代理商大会,这是饿了么收归阿里后首次发布战略动态。饿了么CEO王磊(花名昆阳)宣布蜂鸟即时配送智能调度系统方舟已拓展至全