使用 mtd-utils 烧写Arm Linux 系统各个部分
有关博客:《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 系统各个部分的更多相关文章
- 烧写ARM开发板系统教程----->uboot 、内核以及文件系统
一.sd启动 将u-boot镜像写入SD卡,将SD卡通过读卡器接上电脑(或直接插入笔记本卡槽),通过"cat /proc/partitions"找出SD卡对应的设备,我的设备节点是 ...
- s3c2440 移值u-boot-2016.03 第6篇 支持mtd yaffs 烧写
1, 解决启动时的错误 Warning - bad CRC, using default environment 搜索发现 在 /tools/env/fw_env.c 中 /* 放在NAND FLAS ...
- OTG 接口烧写最小Linux的方法
通过该方式可以烧写Android4.0.3 系统和Linux-QT 系统. 需要准备一根OTG 线,绝大多数智能手机和PC 机相连接的线都是OTG线,都是通用的. 这种方式比TF卡烧写方式要快一些,我 ...
- 在Linux下制作一个磁盘文件,在u-boot 阶段对emmc 烧写整个Linux系统方法
在Linux 下制作一个磁盘文件, 可以给他分区,以及存储文件,然后dd 到SD卡便可启动系统. 在u-boot 下启动后可以读取该文件,直接在u-boot 阶段就可以做烧写操作,省略了进入系统后才进 ...
- RK3399开发板Android镜像烧写之Windows系统映像烧写
4.1.1 l RKTool 驱动安装(基于迅为iTOP-3399开发板)DriverAssitant_v4.5.zip 文件,打开 驱动安装成功,如下图: 注意事项:1.目前支持的操作系统包括:X ...
- ARM Linux系统的时钟机制
1. Linux下有两类时钟: 1.1 实时钟RTC 它由板上电池驱动的“Real Time Clock”也叫做RTC或者叫CMOS时钟,硬件时钟.当操作系统关机的时候,用这个来记录时间,但是对于运行 ...
- Openwrt:mtd/mtd_write烧写固件
文章目录 1 查看当前系统分区信息 2 备份固件firmware 3 恢复固件firmware 4 备份恢复Openwrt路由器配置 5 恢复Openwrt路由器默认设置 6 刷新路由器固件 比较简单 ...
- ARM+linux系统移植3G拨号上网收发短信(三)【转】
本文转载自:http://blog.csdn.net/hanmengaidudu/article/details/17099755 一.用text查看模式下面的“发”是指我敲的命令,“收”是指回车后显 ...
- 烧写u_boot系统和linux系统
今天下午准备烧写一下u_boot还有linux系统,因为是笔记本电脑,吐槽一下,笔记本电脑的usb转串口不是怎么稳定,dnw下对应的驱动也不怎么好用,导致在笔记本电脑上烧写系统的成功率比较低,本来三点 ...
随机推荐
- exp之shellcode的理解
原题请见 https://www.jarvisoj.com/challenges from pwn import * io = remote("pwn2.jarvisoj.com" ...
- kafka 高吞吐量的因素
1.顺序的方式存储数据: 2.批量发送: 3.零拷贝: 来源:咕泡学院
- Python学习 —— 爬虫入门 - 爬取Pixiv每日排行中的图片
更新于 2019-01-30 16:30:55 我另外写了一个面向 pixiv 的库:pixiver 支持通过作品 ID 获取相关信息.下载等,支持通过日期浏览各种排行榜(包括R-18),支持通过 p ...
- HackerOne去年发放超过8200万美元的赏金,联邦政府参与度大幅上涨
2019年,由黑客驱动的漏洞赏金平台HackerOne支付的漏洞奖金几乎是前几年总和的两倍,达到8200万美元. HackerOne平台在2019年也将注册黑客数量翻了一番,超过了60万,同时全年收到 ...
- underscore.js -2009年发布的js库
2009 Underscore.js 0.1.0发布 Underscore一个JavaScript实用库,提供了一整套函数式编程的实用功能,但是没有扩展任何JavaScript内置对象.它是这个问题的 ...
- ch8 固定宽度、流式、弹性布局
假设浏览器窗口设置为1250px:wrapper的宽度为960px:content的宽度为920px:确保了wrapper居中时两边有20px的间距: secondary的宽度为230px: pr ...
- Idea牛逼插件,拿走不谢
1.grep console java 开发的过程中,日志都会输出到console,输出的内容是非常多的,所以需要有一个工具可以方便的查找日志,或者可以非常明显显示我们关注的内容,grep conso ...
- 十八 Spring的JDBC模板:引入外部属性文件
配置外部属性文件 配置文件里引入属性文件,两种方式 第一种: 第二种: 引入属性文件的值: 测试: <?xml version="1.0" encoding="UT ...
- 吴裕雄--天生自然JAVAIO操作学习笔记:投票程序
public class ExecDemo{ public static void main(String args[]){ new Operate() ; } }; import java.io.B ...
- thymeleaf html5
一.引用命名空间 <html xmlns:th="http://www.thymeleaf.org"> 在html中引入此命名空间,可避免编辑器出现html验证错误,虽 ...