uboot下emmc内容烧写(拷贝)步骤
一、目的:嵌入式开发板,通过emmc上的内核文件加载启动linux操作系统,以及存放其他程序文件。需要将所需文件先写入emmc中。
二、总体步骤是:uboot启动后,进入linux下,将emmc分区并格式化,uboot下支持fat和ext2的格式,这里用fat格式,并挂载,然后放入所需要的文件。这样重启后,进入uboot下,将emmc中的文件load到内存中运行。
三、uboot下emmc内容烧写(拷贝)步骤:
1、uboot启动后,输入mmc info有mmc的相关信息
2、通过tftp或其他方式启动linux
3、linux启动后,输入fdisk -l能看到/dev/mmcblk0的信息
4、linux下用fdisk命令对mmc分区,格式化
#fdisk /dev/mmcblk0
fdisk命令都是非常简单的。
WARNING: DOS-compatible mode is deprecated. It's strongly
recommended to
switch off the mode (command 'c') and change display units
to
sectors (command 'u').
Command (m for help): m
Command action
a toggle a bootable
flag
b edit bsd
disklabel
c toggle the dos compatibility
flag
d delete a
partition
l list known partition
types
m print this
menu
n add a new
partition
o create a new empty DOS
partition table
p print the partition
table
q quit without saving
changes
s create a new empty Sun
disklabel
t change a partition's system
id
u change display/entry
units
v verify the partition
table
w write table to disk and
exit
x extra functionality (experts
only)
先P,看看sd卡的分区现状。
然后d,删除原分区
n,创建分区
Command (m for help): n
Command action
e extended
p primary partition
(1-4)
p
Partition number (1-4): 1
First cylinder (1-62528, default 1): 1
Last cylinder, +cylinders or +size{K,M,G} (1-62528, default
62528): +1500M
t,指定分区类型,
Command (m for help): t
Selected partition 1
Hex code (type L to list codes): L
0
Empty
24 NEC
DOS
81 Minix / old Lin bf
Solaris
1
FAT12
39 Plan
9
82 Linux swap / So c1 DRDOS/sec
(FAT-
2 XENIX
root
3c PartitionMagic
83
Linux
c4 DRDOS/sec (FAT-
3 XENIX
usr
40 Venix
80286
84 OS/2 hidden C:
c6 DRDOS/sec (FAT-
4 FAT16
<32M
41 PPC PReP
Boot 85 Linux
extended c7
Syrinx
5
Extended
42
SFS
86 NTFS volume set da Non-FS
data
6
FAT16
4d
QNX4.x
87 NTFS volume set db CP/M /
CTOS / .
7
HPFS/NTFS
4e QNX4.x 2nd part 88 Linux
plaintext de Dell
Utility
8
AIX
4f QNX4.x 3rd part 8e Linux
LVM
df
BootIt
9 AIX
bootable
50 OnTrack
DM
93
Amoeba
e1 DOS
access
a OS/2 Boot Manag 51 OnTrack
DM6 Aux 94 Amoeba
BBT
e3 DOS
R/O
b W95
FAT32
52
CP/M
9f
BSD/OS
e4
SpeedStor
c W95 FAT32 (LBA) 53 OnTrack
DM6 Aux a0 IBM Thinkpad hi eb
BeOS
fs
e W95 FAT16 (LBA) 54
OnTrackDM6
a5
FreeBSD
ee
GPT
f W95 Ext'd (LBA) 55
EZ-Drive
a6
OpenBSD
ef EFI (FAT-12/16/
10
OPUS
56 Golden
Bow
a7
NeXTSTEP
f0 Linux/PA-RISC b
11 Hidden
FAT12
5c Priam
Edisk
a8 Darwin
UFS
f1
SpeedStor
12 Compaq diagnost 61
SpeedStor
a9
NetBSD
f4
SpeedStor
14 Hidden FAT16 <3 63 GNU
HURD or Sys ab Darwin
boot
f2 DOS
secondary
16 Hidden
FAT16
64 Novell Netware
af HFS /
HFS+
fb VMware
VMFS
17 Hidden HPFS/NTF 65 Novell
Netware b7 BSDI
fs
fc VMware VMKCORE
18 AST SmartSleep
70 DiskSecure Mult b8 BSDI
swap
fd Linux raid auto
1b Hidden W95 FAT3 75
PC/IX
bb Boot Wizard hid fe
LANstep
1c Hidden W95 FAT3 80 Old
Minix
be Solaris
boot
ff
BBT
1e Hidden W95 FAT1
Hex code (type L to list codes): 6
Changed system type of partition 1 to 6 (FAT16)
这样就分好了第一个分区,并且指定了分区为fat16
好了,看看成果。
Command (m for help): p
Disk /dev/mmcblk0: 2048 MB, 2048917504 bytes
4 heads, 16 sectors/track, 62528 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Sector size (logical/physical): 512 bytes / 512
bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x6f20736b
Device
Boot
Start
End
Blocks Id
System
/dev/mmcblk0p1
1
48001
1536024
6 FAT16
/
好了,把分区信息写入磁盘。
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: If you have created or modified any DOS
6.x
partitions, please see the fdisk manual page for
additional
information.
Syncing disks.
下面开始格式化。
首先是fat16分区
#mkdosfs
/dev/mmcblk0p1
看一下格式化后的
~ # fdisk
-l
Disk /dev/mmcblk0: 1920 MB, 1920991232 bytes
4 heads, 16 sectors/track, 58624 cylinders
Units = cylinders of 64 * 512 = 32768 bytes
Device
Boot
Start
End
Blocks Id System
/dev/mmcblk0p1
1
58624
1875960 6 FAT16
把emmc挂载在一目录下
~ # mount /dev/mmcblk0p1 /vm
1
58624
1875960 6 FAT16
这样就可以将文件拷贝到/vm下,这里新建了一txt文件,并输入内容,重启后在uboot下查看emmc中是否有改文件。
~ # cd vm
/vm # ls
/vm # vi a.txt
11111111111111111111111111111111111111111111
0000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111
00000000000000000000000000000000000000000000
#reboot
重启后进入uboot下,查看mmc设备
Octeon# mmc list
Octeon MMC/SD0: 0
用fatls命令查看mmc下的文件信息,可以看到有linux下建的a.txt文件
Octeon #fatls mmc 0
181 a.txt
1 file(s), 0 dir(s)
将mmc中a.txt拷贝到内存中查看内容
先看一下原来内存的信息
Octeon# md 30000000
30000000: 00000000 00000000 00000000
5f800000
............_...
30000010: 00000000 00000000 00000000
00000000
................
30000020: 00000000 00000000 00000000
00000000
................
30000030: 00000000 00000000 00000000
00000000
................
30000040: 00000000 00000000 00000000
00000000
................
30000050: 00000000 00000000 00000000
00000000
................
30000060: 00000000 00000000 00000000
00000000
................
30000070: 00000000 00000000 00000000
00000000
................
30000080: 00000000 00000000 00000000
00000000
................
30000090: 00000000 00000000 00000000
00000000
................
300000a0: 00000000 00000000 00000000
00000000
................
300000b0: 00000000 00000000 00000000
00000000
................
300000c0: 00000000 00000000 00000000
00000000
................
300000d0: 00000000 00000000 00000000
00000000
................
300000e0: 00000000 00000000 00000000
00000000
................
300000f0: 00000000 00000000 00000000
00000000
................
将mmc中a.txt load到内存中
Octeon# fatload mmc 0 30000000 a.txt
reading a.txt
181 bytes read
查看内存信息,可以看到就是a.txt的内容,说明emmc内容写入成功 。
Octeon# md 30000000
30000000: 31313131 31313131 31313131
31313131
1111111111111111
30000010: 31313131 31313131 31313131
31313131
1111111111111111
30000020: 31313131 31313131 31313131
0a303030
111111111111.000
30000030: 30303030 30303030 30303030
30303030
0000000000000000
30000040: 30303030 30303030 30303030
30303030
0000000000000000
30000050: 30303030 30303030 0a313131
31313131
00000000.1111111
30000060: 31313131 31313131 31313131
31313131
1111111111111111
30000070: 31313131 31313131 31313131
31313131
1111111111111111
30000080: 31313131 310a3030 30303030
30303030
11111.0000000000
30000090: 30303030 30303030 30303030
30303030
0000000000000000
300000a0: 30303030 30303030 30303030
30303030
0000000000000000
300000b0: 30300a0a 0a000000 00000000
00000000
00..............
300000c0: 00000000 00000000 00000000
00000000
................
300000d0: 00000000 00000000 00000000
00000000
................
300000e0: 00000000 00000000 00000000
00000000
................
300000f0: 00000000 00000000 00000000
00000000
................
uboot下emmc内容烧写(拷贝)步骤的更多相关文章
- 分享tiny4412,emmc烧录u-boot, 支持fastboot模式烧写emmc
转载 : http://www.arm9home.net/read.php?tid-83474.html 本人是第一次在此发帖,希望大家多多支持,发帖目的是为了分享,分享的目的是传递开源的精神.Tin ...
- 分享tiny4412,emmc烧录u-boot, 支持fastboot模式烧写emmc【转】
本文转载自:http://www.arm9home.net/read.php?tid-80810.html 分享tiny4412,emmc烧录u-boot, 支持fastboot模式烧写emmc ...
- UBoot的编译与烧写
每当我们学习任何编译语言之前,第一节课都是介绍我们要学习的是什么,以及编译语言和工具,最后写一个小程序编译并运行就算入门,也就是所谓的"Hello, world!".这里也不例外, ...
- Linux和Uboot下eMMC boot分区读写
关键词:eMMC boot.PARTITION_CONFIG.force_ro等. 1. eMMC的分区 大部分eMMC都有类似如下的分区,其中BOOT.RPMB和UDA一般是默认存在的,gpp分区需 ...
- uboot从SD卡烧写内核和文件系统
环境:ubuntu 13.04一.首先制作sd启动盘: 插入SD卡 sudo dd iflag=dsync oflag=dsync if=tiny210v2-uboot.binof=/dev/m ...
- 1)uboot的编译和烧写
购买荔枝派ZERO已经将近一个星期了,由于官方资料不够完整一直没有任何进展.经过今夜近三个小时的折腾终于将UBOOT烧写成功,现将过程记录如下: 1)获取官方uboot 源码 : git clone ...
- U-boot新手入门,烧写进mini2440
拿到一块开发板,首先就要找到它的资料,当然了,开发板的厂商或者代理商会提供资料,资料里会有你需要的. 比如我的这块mini2440,在友善之臂代理商提供的资料里面,就有我们这篇所需要的 把这个文件夹下 ...
- Vivado下生成及烧写MCS文件
Jtag模式: 1.打开Open Hardware Manager 2. Tools ->Auto Connect 3.TCL输入: write_cfgmem -format MCS -size ...
- 在Linux下制作一个磁盘文件,在u-boot 阶段对emmc 烧写整个Linux系统方法
在Linux 下制作一个磁盘文件, 可以给他分区,以及存储文件,然后dd 到SD卡便可启动系统. 在u-boot 下启动后可以读取该文件,直接在u-boot 阶段就可以做烧写操作,省略了进入系统后才进 ...
随机推荐
- Mac下django简单安装配置步骤
一.安装软件包并创建项目 $sudo pip install django$sudo python -c "import django;print django.VERSION"( ...
- 重新认识Javascript的一些误区总结
1.在函数内有没有var真的不一样 下面这样一段代码,在函数abc()中,创建了两个变量a, c,并在函数体之外进行alert,想看看有什么事发生: <script> function a ...
- java中使用for遍历集合是注意的空指针异常
public static void main(String[] args) { List<Object> a = null; for(Object i : a)//会有空指针异常 { } ...
- 解决ssh连接慢(有时候等半分钟才出现密码输入提示)的方法
经常通过ssh 或者 scp 连接一堆远程主机,同样是 Linux 主机,其中一些创建 ssh 连接速度特别慢,连接建立之后执行操作速度却很正常,看来应该不是网络原因.解决的方法是通过ssh 的-v参 ...
- 让Redis在你的系统中发挥更大作用
Redis在很多方面与其他数据库解决方案不同:它使用内存提供主存储支持,而仅使用硬盘做持久性的存储:它的数据模型非常独特,用的是单线程.另一个大区别在于,你可以在开发环境中使用Redis的功能,但却不 ...
- XML5个转义符
XML5个转义符:<,>,&,”,©;的转义字符分别如下: < >& " '
- 三星 S4 手机误删除相片(相册)后的恢复问题,仅记录处理过程,其它Android手机同样适用
无意中删除了三星S4手机中相机的相册.过程是这样的,用手机拍了几张照片,觉得最后那张拍得不好,想删除,于是进入相册,看到有那张照片的图标,选择,删除,悲剧发生了! 这里得说三星的不好:在相册中,相册文 ...
- android studio(AS) Duplicate files copied in APK META-INF/NOTICE.txt
File 1: /home/slava/.gradle/caches/modules-2/files-2.1/org.apache.httpcomponents/httpmime/4.3.1/f789 ...
- Android Studio 1.1.0 切换主题和绑定 代码提示 快捷键
这篇文章用于给刚从eclipse 转用 Android Studio 1.1.0的同学看的. 所以经常会更新的. 至于为什么要转Android Studio 1.1.0呢,就自己想吧.没有人强逼的. ...
- Vuex 实践讲解
state 用来数据共享数据存储 mutation 用来注册改变数据状态 getters 用来对共享数据进行过滤操作 action 解决异步改变共享数据 这个四大特征就是核心,如何用怎么用 接下来还是 ...