MT7628原厂SDK添加数据存储分区

这里以SKW92A为例进行说明,原厂SDK打包固件,启动后,固件只有一个kernel分区,数据再掉电后无法保存。一般通过nvram_set去存储键值对数据,通过nvram_get获取数据。如:获取WIFI热点名,修改WIFI热点名,操作如下。

# nvram_get 2860 SSID1
SKYLAB_30EB1F3F965E
# 
# nvram_set 2860 SSID1 hello
# 
# nvram_get 2860 SSID1
hello
# 

这种方式简单好用,但是再存储日志等文件时,有较大弊端。下面介绍通过划分分区,将分区设置为可读写,然后映射到文件夹下。

1.划分分区

此处我们划分1Mbyte的RootFS分区用于保存数据,后面的4Mbyte用于Back固件。

0x000000000000-0x000000030000 : "Bootloader"
0x000000030000-0x000000040000 : "Config"
0x000000040000-0x000000050000 : "Factory"
0x000000050000-0x000000b00000 : "Kernel"
0x000000b00000-0x000000c00000 : "RootFS"
0x000000c00000-0x000001000000 : 备份固件

关于Kernel分区

关于RootFS分区:【1MByte---》0x100000】大小根据需求改

格式化RootFS分区为jffs2:

内核部分需要支持JFFS2

工具:

格式化指令:

mtd_write erase RootFS

mkdir -p /rootfs

mkfs.jffs2 -s 0x1000 -e 0x10000 -d /rootfs -o rootfs.jffs2 -p 0x100000

mtd_write -o 0 -l 0x100000 write /rootfs.jffs2 RootFS

挂在分区到/flash:

mkdir -p /flash/

mount -t jffs2 /dev/mtdblock5 /flash/

相关推荐

  1. openwrt MTK7621关闭硬加速

    2024-07-23 06:24:03       28 阅读
  2. OpenCV中vector<Mat数据存储问题

    2024-07-23 06:24:03       44 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-23 06:24:03       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-23 06:24:03       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-23 06:24:03       45 阅读
  4. Python语言-面向对象

    2024-07-23 06:24:03       55 阅读

热门阅读

  1. Android 自定义系统版本号

    2024-07-23 06:24:03       12 阅读
  2. 曼哈顿距离与切比雪夫距离

    2024-07-23 06:24:03       16 阅读
  3. 技术文档总结----思维导图

    2024-07-23 06:24:03       17 阅读
  4. C语言强化-1.数据结构概述

    2024-07-23 06:24:03       15 阅读
  5. 【Go程序】爬虫获取豆瓣Top250

    2024-07-23 06:24:03       14 阅读
  6. python入门课程Pro(2)--循环

    2024-07-23 06:24:03       14 阅读
  7. 深入剖析Tomcat整体架构

    2024-07-23 06:24:03       15 阅读
  8. CCF GESP Python编程 二级认证真题 2024年6月

    2024-07-23 06:24:03       19 阅读
  9. Android5.1 NAT功能的iptables规则

    2024-07-23 06:24:03       18 阅读
  10. C语言-预处理详解

    2024-07-23 06:24:03       19 阅读