资讯
HOME
资讯
正文内容
nand mtdpart 分区 uboot常用命令汇总
发布时间 : 2024-11-23
作者 : 小编
访问数量 : 23
扫码分享至微信

uboot常用命令汇总

我们经常使用uboot命令,虽然资料光盘->常见问题目录有U-boot常用命令汇总文档,但从大家的反馈来看,并没有很多人注意到这个文档,所以把它挪到这里。如此全的uboot命令汇总,建议收藏。

注意:不同版本的uboot,它的命令有所不同,这里使用u-boot 1.1.6。

一、nandflash分区信息

OpenJTAG>mtdpart

device nand0 <nandflash0>, # parts = 4

#:name size offset

0: bootloader 0x00040000 0x00000000

1: params 0x00020000 0x00040000

2: kernel 0x00200000 0x00060000

3: root 0x0fba0000 0x00460000

二、设置机器ID

set machid 16a // JZ2440,也可以用setenv machid 16a

set machid 7CF // mini2440

三、设置环境变量

print // 打印环境变量

save // 保存环境变量

setenv bootdelay 5 // 设置bootdelay 为5setenv ipaddr 192.168.1.226 // 设置开发板ip为192.168.1.226setenv serverip 192.168.1.200 // 设置服务器ip为192.168.1.200

setenv gatewayip 192.168.1.1 // 设置网关为 192.168.1.1setenv netmask 255.255.255.0 // 设置子网掩码

// 由于是两条指令,因此需要用单引号引起来

// 读取内核 并启动

setenv bootcmd 'nand read.jffs2 0x30007FC0 kernel ; bootm 0x30007FC0'

// 使用flash中的文件系统启动,默认为yaffs2文件系统,如果是jffs2文件系统,添加 rootfstype=jffs2

// yaffs2

setenv bootargs noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0,115200

// jffs2setenv bootargs noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0,115200

rootfstype=jffs2

// 使用nfs网络文件系统启动,默认为yaffs2文件系统,如果是jffs2文件系统,添加rootfstype=jffs2

举例:

虚拟机ip :192.168.1.2

网关 :192.168.1.1

开发板ip : 192.168.1.3

子网掩码 :255.255.255.0

文件系统目录:/work/nfs_root/xxxx

// yaffs2 ,注意是一行

setenv bootargs noinitrd root=/dev/nfs console=ttySAC0

nfsroot=192.168.1.2:/work/nfs_root/xxxxip=192.168.1.3:192.168.1.2:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc

// jffs2 ,注意是一行

setenv bootargs noinitrd root=/dev/nfs console=ttySAC0

nfsroot=192.168.1.2:/work/nfs_root/xxxxip=192.168.1.3:192.168.1.2:192.168.1.1:255.255.255.0::eth0:off init=/linuxrc rootfstype=jffs2

// 清除某个环境变量

setenv bootargs //以bootargs为例

save

// 清除全部的环境变量

nand erase params

四、tftp烧写

// 通过tftp烧写u-boot.bin到nand Flash步骤:

打开 tftpd32.exe 软件, 将u-boot.bin 拷贝至工作目录

在SecureCRT中依次输入:

tftp 0x30008000 u-boot.bin //将uboot.bin 下载到sdram 0x30008000地址处

nand erase bootloader // 擦除bootloader区域

nand write 0x30008000 bootloader // 烧写到bootloader

// 通过tftp烧写uImage到nand Flash步骤:

打开 tftpd32.exe 软件, 将 uImage 拷贝至工作目录

在SecureCRT中依次输入:

tftp 0x30008000 uImage

nand erase kernel

nand write 0x30008000 kernel

// 烧写YAFFS文件系统至Nand Flash

打开 tftpd32.exe 软件, 将 fs_mini.yaffs2 拷贝至工作目录

在SecureCRT中依次输入:

tftp 0x30008000 fs_mini.yaffs2

nand erase root

nand write.yaffs 0x30008000 root $(filesize) // $(filesieze) 是fs_mini.yaffs2 的大小

// 烧写JFFS文件系统至Nand Flash

//使用 jffs2 文件系统启动时记得修改 bootargs 添加 rootfstype=jffs2

打开 tftpd32.exe 软件,将 fs_mini.jffs2 拷贝至工作目录

在SecureCRT中依次输入:

tftp 0x30008000 fs_mini.jffs2

nand erase root

nand write.jffs2 0x30008000 root $(filesize) // $(filesieze) 是fs_mini.yaffs2 大小

当然,之前的所有下载也可以换成 nfs ,

假设虚拟机 ip 为 192.168.1.123

nfs共享目录(在ubuntu 的 /etc/exports设置)为: /work/nfs_root

那么nfs下载命令如下:

nfs 0x30008000 192.168.1.123:/work/nfs_root/u-boot.bin // nfs下载u-boot.bin

nfs 0x30008000 192.168.1.123:/work/nfs_root/uImage // nfs下载uImage

nfs 0x30008000 192.168.1.123:/work/nfs_root/fs_mini.yaffs2 // nfs下载fs_mini.yaffs2

nfs 0x30008000 192.168.1.123:/work/nfs_root/fs_mini.jffs2 // nfs下载fs_mini.jffs2

- end -

u-boot下ubi 命令使用总结

查看MTD分区表

uBoot> mtdparts

uBoot> mtdparts

device nand0 <pxa3xx_nand-0>, # parts = 4

#: name size offset mask_flags

0: boot 0x000000200000 0x000000000000 0

1: env 0x000000200000 0x000000200000 0

2: UbiVols 0x000007800000 0x000000400000 0

3: Reserved 0x000000400000 0x000007c00000 0

active partition: nand0,0 - (boot) 0x000000200000 @ 0x000000000000

defaults:

mtdids : none

mtdparts: none

激活分区

uBoot> ubi part UbiVols

uBoot> ubi part UbiVols

Creating 1 MTD partitions on "nand0":

0x000000400000-0x000007c00000 : "mtd=2"

UBI: attaching mtd1 to ubi0

UBI: physical eraseblock size: 131072 bytes (128 KiB)

UBI: logical eraseblock size: 126976 bytes

UBI: smallest flash I/O unit: 2048

UBI: VID header offset: 2048 (aligned 2048)

UBI: data offset: 4096

UBI: attached mtd1 to ubi0

UBI: MTD device name: "mtd=2"

UBI: MTD device size: 120 MiB

UBI: number of good PEBs: 955

UBI: number of bad PEBs: 5

UBI: max. allowed volumes: 128

UBI: wear-leveling threshold: 4096

UBI: number of internal volumes: 1

UBI: number of user volumes: 5

UBI: available PEBs: 0

UBI: total number of reserved PEBs: 955

UBI: number of PEBs reserved for bad PEB handling: 9

UBI: max/mean erase counter: 9/0

查看当前激活分区

uBoot> ubi part

uBoot> ubi part

Device 0: nand0, partition UbiVols

Note: 如果当前没有被激活的分区,执行此命令时会出错:

uBoot> ubi part

Error, no UBI device/partition selected!

挂载分区

uBoot> ubimount

Usage:

ubifsmount <volume-name>

- mount 'volume-name' volume

uBoot> ubifsmount Rootfs-1

UBIFS: static UBI volume - read-only mode

UBIFS: mounted UBI device 0, volume 1, name "Rootfs-1"

UBIFS: mounted read-only

UBIFS: file system size: 40632320 bytes (39680 KiB, 38 MiB, 320 LEBs)

UBIFS: journal size: 5586944 bytes (5456 KiB, 5 MiB, 44 LEBs)

UBIFS: media format: w4/r0 (latest is w4/r0)

UBIFS: default compressor: zlib

UBIFS: reserved for root: 0 bytes (0 KiB)

查看分区内容

uBoot> ubifsls

uBoot> ubifsls

<DIR> 3440 Wed Jul 08 03:45:35 2020 bin

<DIR> 3176 Mon Feb 08 06:16:13 2021 dev

<DIR> 680 Thu Feb 25 06:05:37 2021 etc

<DIR> 1696 Tue Feb 02 03:42:45 2021 lib

<DIR> 160 Wed Feb 03 09:35:59 2021 mnt

<DIR> 160 Wed Jul 08 03:45:35 2020 tmp

<DIR> 160 Wed Jul 08 03:45:35 2020 sys

<DIR> 544 Wed Feb 24 05:46:21 2021 var

<DIR> 480 Wed Jul 08 03:45:37 2020 usr

<DIR> 224 Wed Jul 08 03:45:35 2020 home

<LNK> 11 Tue Feb 02 10:10:29 2021 init

<DIR> 160 Wed Jul 08 03:45:35 2020 proc

<DIR> 2032 Sat Feb 20 06:44:31 2021 sbin

<DIR> 232 Wed Jul 08 03:45:35 2020 root

<LNK> 11 Wed Jul 08 03:45:37 2020 linuxrc

259314 Wed Jan 13 07:58:12 2021 v0A030000_10979_10954_x3540.hdr

195056 Wed Jan 13 07:58:12 2021 x3310fw_0_2_8_0_8850.hdr

<DIR> 160 Tue Feb 02 02:37:10 2021 ramfs

1 Wed Jan 13 08:02:52 2021 config.txt

uBoot> ubifsls etc/

341 Tue Feb 02 02:54:24 2021 motd

347 Wed Jul 08 03:45:37 2020 welcome

78 Wed Jul 08 03:45:37 2020 passwd

463 Wed Jul 08 03:45:37 2020 README.txt

304 Tue Feb 02 08:51:25 2021 fstab

27 Wed Jul 08 03:45:37 2020 group

2608 Thu Feb 25 06:05:37 2021 init.sh

103 Tue Feb 02 02:54:16 2021 inittab

查看某个文件

uBoot> ubifsload

uBoot> ubifsload --help

ubifsload - load file from an UBIFS filesystem

Usage:

ubifsload <addr> <filename> [bytes]

- load file 'filename' to address 'addr'

Note: addr 表示RAM的起始地址,根据自己的平台进行指定

具体使用如下, 以查看/etc/init.sh为例:uBoot> ubifsload 0x2000000 etc/init.sh

uBoot> ubifsload 0x2000000 etc/init.sh

Loading file 'etc/init.sh' to addr 0x02000000 with size 2608 (0x00000a30)...

Done

md 0x2000000

uBoot> md 0x2000000

02000000: 622f2123 732f6e69 66690a68 73657420 #!/bin/sh.if tes

02000010: 652d2074 72702f20 762f636f 69737265 t -e /proc/versi

02000020: 740a6e6f 0a6e6568 68636520 6c650a6f on.then. echo.el

02000030: 0a0a6573 736f6820 6d616e74 414d2065 se.. hostname MA

02000040: 4c455652 494c5f4c 0a58554e 4d4f4820 RVELL_LINUX. HOM

......

相关问答

怎么查看硬盘是不是GPT 分区 -ZOL问答

可以到“磁盘管理”里面,右键点击下方的磁盘型号,看弹出的菜单,若有“转换为GPT磁盘”字样,说明你的硬盘分区是MBR模式;若有“转换为MBR磁盘”字样,说明你的硬盘...

android 手机 应用程序D界面(进程:android.process.dhome)意...

前提需要电脑操作,当然钛备份也可以$adbpushSecureSetting.apk/sdcard///上传要安装的文件,为安装做准备。$adbshell$su//切换...

k3c b1刷机教程?

1利用RoutAchPro开通telnet,无需连接网线,连接到WiFi即可,开通并设置永久标志,利用xshell等远程工具连接路由器。2LEDE固件采用lean编译的R7.3.2,编译完成...

手机视频-垂直栏目是什么?-ZOL问答

在Android中,如果要使用系统限制的权限(比如android.permission.WRITE_SECURE_SETTINGS),我们需要把程序安装到/system/app/下。下面以...

[求助]怎么从手机里提取RECOVERY包?

第一步.打开超级终端第二步.输入su,获取权限,$变成#第三步.输入cat/proc/mtd,回车,然后会显示这个,有mtd0,mtd1,mtd2等等,(mtdx所对应的分区因手机...第...

不小心安了system中app 设置不能用了 怎么处理-ZOL问答

在Android系统中,系统应用是在/system/app目录下的,普通用户安装的应用是在/da...1.$adbpushSecureSetting.apk/sdcard///上传要安...

请教:WR743N改了16M的flash怎么从openwrt中编译出来16M固件?

首先修改trunk/tools/firmware-utils/src/mktplinkfw.c只修改fw_max_len为0xfc0000,16Mflash;只修改fw_max_len为0x7c00...

windows7系统安装到一半 然后断电了 怎么处理?-ZOL问答

我的电脑型号是sonySVE1411S8C,笔记本之前安装过WIN8,然后重新装回win7,昨天用系统盘重装系统的时候,到安装驱动的时候出现错误,就再也不动了。然后我重启...

3mm发光二极管工作电压和电流是多少-ZOL问答

jslygtang接保护电阻,可以分成很多组并联再串电阻,根据你电阻的功率来选否则...回复andy7772接6V,两组个190个并,再串,你的电源有哪么大电流么?3.8A接12V...

福建联迪pos机e350怎么样激活-ZOL问答

zhangxr007机子绑定在湖北省咸宁市嘉鱼县,有激活码不知道激活步骤有用(0)...回复kfetgmtd免费激活,在哪个城市有用(0)回复相关问题我家大商超市和新...

 刘晓棕简历  企业订单管理系统 
王经理: 180-0000-0000(微信同号)
10086@qq.com
北京海淀区西三旗街道国际大厦08A座
©2024  上海羊羽卓进出口贸易有限公司  版权所有.All Rights Reserved.  |  程序由Z-BlogPHP强力驱动
网站首页
电话咨询
微信号

QQ

在线咨询真诚为您提供专业解答服务

热线

188-0000-0000
专属服务热线

微信

二维码扫一扫微信交流
顶部