有关博客:《Arm-Linux 移植 mtd-utils 1.x》、《mtd-utils 的 使用


背景:

  作为一项技术储备,可用于增强系统可维护性。

要求:

  要求主板以mtd作为分区管理,要求使用者清楚分区各部分应该存放什么内容

  注:

  笔者的uboot启动参数:

    bootargs 'mem=1024M console=ttyAMA0,115200 ubi.mtd=3 root=ubi0:ubifs rootflags=sync rootfstype=ubifs rw mtdparts=hinand:1M(u-boot),4M(kernel),1M(logo.jpg),250M(rootfs.img)'

  对应的表格如图所示:

含义
文件名
下载内存
nand
size
MTD
分区
bootloader
u-boot
0x41000000
0x0
0x80000
0
1m
uboot_env
CONFIG_ENV_OFFSET 
-
0x080000
0x40000
-
 
内核
kernel
0x42000000
0x100000
0x400000
1
4m
开机画面
logo.jpg
0x43000000
0x500000
0x80000
2
1m
视频输出
-vobuf-
0x43800000
-
-
-
 
文件系统
rootfs.img
0x42000000
0x600000
0xfa00000
3
250m

内核中有关的信息:

/ # cat /proc/mtd
dev:    size   erasesize  name
mtd0:   "u-boot"
mtd1:   "kernel"
mtd2:   "logo.jpg"
mtd3: 0fa00000  "rootfs.img"

烧写

升级内核脚本:(没有任何限制)

##
#    Copyright By Schips, All Rights Reserved
#    https://gitee.com/schips/
#    File Name:  update_kernel.sh
#    Created  :  Thu  Dec  :: PM CST
##
#!/bin/sh
MTD=/dev/mtd1
# $ as the name of kernel , will be "kernel" as default.

if [ "$1" == "" ];then
        KERNEL=kernel
else
        KERNEL=$
fi

if [ -f ${KERNEL} ];then
         ./flash_erase  ${MTD}
         ./nandwrite -p ${MTD} ${KERNEL}
else
        echo "[$KERNEL] not found"
        exit
fi

升级文件系统脚本:

(建议是将有关的工具在额外额外挂载点中执行以下脚本,例如额外挂载的U盘路径下)

##
#    Copyright By Schips, All Rights Reserved
#    https://gitee.com/schips/
#    File Name:  update_fs.sh
#    Created  :  Thu  Dec  :: PM CST
##
#!/bin/sh
MTD=/dev/mtd3
# $ as the name of img, will be "rootfs.img" as default.

if [ "$1" == "" ];then
        FSIMG=rootfs.img
else
        FSIMG=$
fi

if [ -f ${FSIMG} ];then
         ./flash_erase  ${MTD}
         ./nandwrite -p ${MTD} ${FSIMG}
else
        echo "[$FSIMG] not found"
        exit
fi

使用 mtd-utils 烧写Arm Linux 系统各个部分的更多相关文章

  1. 烧写ARM开发板系统教程----->uboot 、内核以及文件系统

    一.sd启动 将u-boot镜像写入SD卡,将SD卡通过读卡器接上电脑(或直接插入笔记本卡槽),通过"cat /proc/partitions"找出SD卡对应的设备,我的设备节点是 ...

  2. s3c2440 移值u-boot-2016.03 第6篇 支持mtd yaffs 烧写

    1, 解决启动时的错误 Warning - bad CRC, using default environment 搜索发现 在 /tools/env/fw_env.c 中 /* 放在NAND FLAS ...

  3. OTG 接口烧写最小Linux的方法

    通过该方式可以烧写Android4.0.3 系统和Linux-QT 系统. 需要准备一根OTG 线,绝大多数智能手机和PC 机相连接的线都是OTG线,都是通用的. 这种方式比TF卡烧写方式要快一些,我 ...

  4. 在Linux下制作一个磁盘文件,在u-boot 阶段对emmc 烧写整个Linux系统方法

    在Linux 下制作一个磁盘文件, 可以给他分区,以及存储文件,然后dd 到SD卡便可启动系统. 在u-boot 下启动后可以读取该文件,直接在u-boot 阶段就可以做烧写操作,省略了进入系统后才进 ...

  5. RK3399开发板Android镜像烧写之Windows系统映像烧写

    4.1.1 l RKTool  驱动安装(基于迅为iTOP-3399开发板)DriverAssitant_v4.5.zip 文件,打开 驱动安装成功,如下图: 注意事项:1.目前支持的操作系统包括:X ...

  6. ARM Linux系统的时钟机制

    1. Linux下有两类时钟: 1.1 实时钟RTC 它由板上电池驱动的“Real Time Clock”也叫做RTC或者叫CMOS时钟,硬件时钟.当操作系统关机的时候,用这个来记录时间,但是对于运行 ...

  7. Openwrt:mtd/mtd_write烧写固件

    文章目录 1 查看当前系统分区信息 2 备份固件firmware 3 恢复固件firmware 4 备份恢复Openwrt路由器配置 5 恢复Openwrt路由器默认设置 6 刷新路由器固件 比较简单 ...

  8. ARM+linux系统移植3G拨号上网收发短信(三)【转】

    本文转载自:http://blog.csdn.net/hanmengaidudu/article/details/17099755 一.用text查看模式下面的“发”是指我敲的命令,“收”是指回车后显 ...

  9. 烧写u_boot系统和linux系统

    今天下午准备烧写一下u_boot还有linux系统,因为是笔记本电脑,吐槽一下,笔记本电脑的usb转串口不是怎么稳定,dnw下对应的驱动也不怎么好用,导致在笔记本电脑上烧写系统的成功率比较低,本来三点 ...

随机推荐

  1. Python基础-4 运算符

    运算符 运算符:以1 + 2为例,1和2被称为操作数,"+" 称为运算符. Python语言支持以下类型的运算符: 算术运算符 比较(关系)运算符 赋值运算符 逻辑运算符 位运算符 ...

  2. Python学习第十三课——re(正则表达式)模块

    .的用法 import re s = 'fhsdjakaxdsancjh' # .代表一个元素,完成模糊匹配 res = re.findall("a..x", s) # 找到s中以 ...

  3. 解题报告:luogu P5745 【深基附B例】数列求和

    题目链接:P5745 [深基附B例]数列求和 现在想说:\(O(N)\)的题要不怎么也想不出来,要不灵光乍现,就像这道题. 我们维护一个类似单调队列的加法单调队列: 若相加大于此数,就将队尾元素弹出, ...

  4. Electron调用C++的DLL

    1. 安装ffi-napi npm install ffi-napi   2. c++ dll 注意,若electron是X64的,则dll也应为X64,同理32位. myAddDll是c++的dll ...

  5. 「CF1004E」Sonya and Ice Cream

    题目描述 给定一个 \(N\) 个点的树,要选出一条所含点的个数不超过 \(K\) 的一条路径,使得路径外的点到这条路径的距离的最大值最小. 数据范围:\(1\le K \le N \le 10^5\ ...

  6. RF之变量的共享使用与python测试库-5

    RF申明变量: 首先我们要创建Variables表 *** Settings *** ${LoginUrl}      http://cloud.innovpowerf.com/Account/Log ...

  7. MySQL操作之DDL

    目录 SQL语句的分类 DDL语句 SQL语句的分类 DDL(Data Definition Languages)语句:数据定义语言.这些语句定义了不同的数据段. 数据库.表.列.索引等数据库对象的定 ...

  8. netsh命令获取wifi历史连接密码

    首先[win+r]快捷键打开运行,输入cmd.或点击左下角win-运行-cmd 1.netsh wlan show profiles //列出所有的ap名称 2.netsh wlan show pro ...

  9. layer 点击yes后在回调函数里获取layer.open({})iframe里面元素

    参考:http://fly.layui.com/jie/19690/ yes: function(index, layero) { uid.value = $(layero).find('iframe ...

  10. 新闻网大数据实时分析可视化系统项目——2、linux环境准备与设置

    1.Linux系统常规设置 1)设置ip地址 使用界面修改ip比较方便,如果Linux没有安装操作界面,需要使用命令:vi /etc/sysconfig/network-scripts/ifcfg-e ...