在Linux运行期间升级Linux系统(Uboot+kernel+Rootfs)

版本:v1.2

Crifan Li

摘要

本文主要介绍了如何在嵌入式Linux系统运行的时候,进行升级整个Linux系统,包括uboot,kernel和rootfs。以及简介Linux中的已有的通用的Nor Flash驱动m25p80,和简介mtd util以及相关工具mtdinfo,flash_erase,flash_eraseall,nanddump,nandwrite等的基本用法。

[提示] 本文提供多种格式供:
在线阅读 HTML HTMLs PDF CHM TXT RTF WEBHELP
下载(7zip压缩包) HTML HTMLs PDF CHM TXT RTF WEBHELP

HTML版本的在线地址为:

http://www.crifan.com/files/doc/docbook/runtime_upgrade_linux/release/html/runtime_upgrade_linux.html

有任何意见,建议,提交bug等,都欢迎去讨论组发帖讨论:

http://www.crifan.com/bbs/categories/runtime_upgrade_linux/

2012-11-17

修订历史
修订 1.0 2011-05-03 crl
  1. 介绍了如何实现在线升级linux系统,即uboot,kernel,rootfs, 以及相关的前提知识和准备工作
修订 1.2 2012-11-17 crl
  1. 通过Docbook发布
  2. 添加了各章节的id
  3. 建议挂载文件到ramdisk中

目录

正文之前
1. 此文目的
2. 一点说明
1. 嵌入式系统中,如何在Linux运行的时候去升级Linux系统
1.1. 前提
1.1.1. Linux中已经实现Nor Flash驱动
1.1.1.1. 在开发板相关部分添加对应nor flash初始化相关代码
1.1.1.2. Linux通用nor flash驱动m25p80.c简介
1.1.2. Linux中已实现了U盘挂载,以方便拷贝要升级的文件
1.1.3. Linux中Nor Flash和Nand Flash已能正常工作
1.1.4. 已经准备好了mtd工具
1.1.4.1. mtd-util简介
1.1.4.2. mtd中的/dev/mtdN与/dev/mtdblockN的区别
1.2. 准备工作
1.2.1. 准备好要升级的文件
1.2.2. 拷贝文件并挂载分区
1.3. 利用mtd工具升级Linux系统
1.3.1. 升级Uboot
1.3.2. 升级Kernel
1.3.3. 升级rootfs
1.4. 总结整个升级过程
1.4.1. 一些提示
1.4.1.1. 把东西放到ramdisk中以避免影响

插图清单

1.1. Linux系统中的Nand MTD分区

表格清单

1.1. MTD工具简介
1.2. 要升级的Linux系统的文件