Linux教程

linux开发板系统备份

本文主要是介绍linux开发板系统备份,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

前言

        前不久从淘宝上淘来了一块二手的linux开发板,芯片AM3354,板载4GBMMC和512MBDDR3。内部烧录的是安卓2.3系统。正好最近想学Linux,就打算把它改成linux系统试试。试之前,肯定得把原系统备份一下,给自己留条后路。

        板子预留有SD卡槽,所以我们可以使用外部SD卡备份系统。

开始

        首先找到板子上得LOG串口,接好线,使用USB转TTL接入电脑。打开串口工具,我这里用的CRT。上电,在上电瞬间狂点“↓”键,进入Uboot模式。

 

当你看到这样子,说明进入了Uboot模式了。因为我板子上的存储使用的MMC,所以使用MMC指令去读取内容。

一、读取分区大小

1、我们首先下发

mmc dev 1

确保我们目前处于板载mmc,而不是外插的SD卡。

 2、下发

mmcinfo

获取mmc信息,确保我们切换成功了。

3、下发

mmc part

获取存储分区 

 可以看到我的mmc被分为三个分区,

第一个分区起始扇区63,每一个扇区512字节,则大小为144522*512B~=70.5M,类型为0c(FAT32)

第二个分区起始扇区144585,大小为947835*512B~=462.8M,类型为83(ext4)

第三个分区起始扇区1092420,大小为6538455*512B~=43192.6M,类型为0c(FAT32)

说明:一般第一个分区存放着Uboot、Kenerl等,第二分区存放文件系统,第三个分区为用户数据等

4、SD分区

有了以上信息,我们就可以找一张比它大的SD卡去备份系统了。首先我们下载一个DiskGenius.exe,去对我们的SD卡分区。

注意每个分区尽量大于等于原有分区,上图分区一,我是因为知道原有分区内容的大小。

5、系统拷贝

(1)将SD卡插入开发板的卡槽,按照上面的方法进入系统uboot。

(2)切换到板载MMC

mmc dev 1

(3)读取分区一内容

mmc read 80000000 3f 2348A

 80000000是指内存DDR3的地址,3F即分区一起始扇区63的十六进制,2348A即分区一的扇区数量

当显示OK,说明读写完成。

(4)切换到SD卡

mmc dev 0

 (5)确定SD卡分区

mmc part

可以看到,我们SD的分区一起始扇区也是63

(6)写入SD卡

mmc write 80000000 3f 2348A

 

 正常是拷贝多少写入多少,但我这一里分区一只有1F5C9(128457的十六进制),便只写入1F5C9

当看到OK时,便可以将开发板断电,取出SD卡,插入电脑查看。其中FAT32分区可以在WINDOWN上直接用文件管理器查看,但EXT4便只能在DiskGenius或Linux中查看。

 

后续

按照此方法,拷贝后面的分区二、分区三的内容,要注意每次拷贝不要超过内存的大小,比如我这里的内存只有512M,就每一次只能拷贝小于512M的内容。

我要拷贝的扇区大于512M怎么办?分多次拷贝就行,注意每一次拷贝和写入的起始扇区加上前一次拷贝的长度即可。

以上为个人经验,如有错误,欢迎指正。

这篇关于linux开发板系统备份的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!