有关博客:《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. Win10子系统Ubuntu安装nginx (win10 安装 nginx)

    更新仓库,下载nginx: sudo apt update sudo apt install nginx 检查版本: nginx –v 启动服务: sudo  nginx sudo  service ...

  2. 学习笔记(13)- decaNLP训练WikiSQL

    将自然语言转为sql语句,达到对话查询报表的效果. 参考资料 参考1 https://mp.weixin.qq.com/s/i7WAFjQHK1NGVACR8x3v0A 语义解析.SQL查询生成与语义 ...

  3. 树莓派4B踩坑指南 - (3)无显示器连接

    无显示器连接 WiFi:如果是原装系统,直接修改wpa_supplicant.conf文件后,放入boot即可(一定注意ssid名称不要写错!!惨痛教训T^T) SSH:在boot盘下新建一个 SSH ...

  4. js对数字的处理:取整、四舍五入、数字与字符串的转换

    取整.四舍五入 向下取整Math.floor() 向上取整Math.ceil() 四舍五入Math.round()) 保留有效数位n.toFixed() 产生大于等于0小于1的随机数Math.rand ...

  5. 第一个Vue-cli创建项目

    需要环境: Node.js:http://nodejs.cn/download/ 安装完成之后,使用cmd测试: 我现在的是最新的 安装Node.js加速器: 这个下载的稍微慢一些 npm insta ...

  6. Windows服务器权限分析

    一.Windows常见用户 二.Windows常见用组 2.1Windows常见组 2.2Windows2003常见组 三.Windows目录权限 四.Windows2003默认权限 五.不同环境下的 ...

  7. Java连载78-深入自动拆装箱、Date类和SimpleDateFormat格式化

    一.深入自动拆装箱 1.直接举例: public class D78_AutomaticUnpackingAndPacking{ public static void main(String[] ar ...

  8. 初识Python和使用Python爬虫

     一.python基础知识了解:   1.特点: Python的语言特性: Python是一门具有强类型(即变量类型是强制要求的).动态性.隐式类型(不需要做变量声明).大小写敏感(var和VAR代表 ...

  9. 123、Java面向对象之引用传递实例一

    01.代码如下: package TIANPAN; class Message { private int num = 10; // 定义int基本类型的属性 public Message(int n ...

  10. 为什么maven没有.m2文件

    该问题可能描述不清,建议你重新提问 为什么maven没有.m2文件 彼岸之恋°DD | 浏览 4793 次 问题未开放回答 2016-09-23 17:29 最佳答案 对于初学者在安装配置好maven ...