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> mtdpartsuBoot> 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 UbiVolsuBoot> 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 partuBoot> ubi part
Device 0: nand0, partition UbiVols
Note: 如果当前没有被激活的分区,执行此命令时会出错:
uBoot> ubi part
Error, no UBI device/partition selected!
挂载分区
uBoot> ubimountUsage:
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> ubifslsuBoot> 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> ubifsloaduBoot> 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.shuBoot> ubifsload 0x2000000 etc/init.sh
Loading file 'etc/init.sh' to addr 0x02000000 with size 2608 (0x00000a30)...
Done
md 0x2000000uBoot> 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)回复相关问题我家大商超市和新...