网站首页 > 技术文章 正文
我们经常使用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 -
猜你喜欢
- 2024-09-22 linux设备树的规范(dts和dtb)
- 2024-09-22 国产化实时操作系统研究之旅7.1-自己动手用 qemu制作虚拟机
- 2024-09-22 卓越性能,MINISFORUM 铭凡 迷你电脑 NPB7 开箱评测
- 2024-09-22 如何编译linux驱动ko
- 2024-09-22 实测五菱MINIEV对手雷丁芒果 300km续航是真的吗?
- 2024-09-22 嵌入式Linux学习方法 适合初学者设计学习计划
- 2024-09-22 成长的日子很孤独,感谢一路上有你们
- 2024-09-22 二代嵌入式S3C2440开发备忘录-第一篇:知识准备/共九篇
- 2024-09-22 STM32单片机的初学体验
- 2024-09-22 jz2440-linux3.4.2-kernel移植
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)