当前位置: 移动技术网 > IT编程>开发语言>C/C++ > 系统移植——uboot常用命令

系统移植——uboot常用命令

2018年12月19日  | 移动技术网IT编程  | 我要评论

flash的一般分区:

其它数据
环境变量
可执行程序。如bootloader

 

 

 

 

 

print(可缩写为:pri):打印查看uboot这个软件中集成的环境变量
setenv、saveenv:设置、保存环境变量

如:
设置环境变量:    setenv  abc 100
删除环境变量:    setenv  abc
保存环境变量到存储器:saveenv  abc 100
网络层的设置:

nand:
nand [动词] [内存地址] [nandflash的内部地址] [搬移大小]

  • nand中5m空间的数据读取到内存地址2100 0000

5m = 5* 1m ,1m = 2^20 = 0x100000

读数据:nand read 21000000  500000 1024

  • nand把内存地址2100 0000的值写到5m空间

初始化:nand erase 500000 1024
写数据:nand write 21000000  500000 1024

tftp:
设置、保存本机ip:
setenv    ipaddr 192.168.9.120
saveenv ipaddr 192.168.9.120
设置服务器ip:
setenv serverip 192.168.9.3
利用tftp传递文件a.txt 到内存地址 20008000上面:tftp   20008000  a.txt    

linux下安装tftp服务端:
32bit sudo apt-get install tftpd-hpa
64bit sudo apt-get install tftpf openbsc-xinetd

bootm:
bootm传递r0,r1,r2还有bootargs

bootm 加载linux镜像是加载uiamge,uiamge是由mkimage制作而来,和ziamge的差异是uiamge是ziamge压缩过的,bootm需要先对uiamge解压,解压地址为内核入口地址。当解压完成时uiamge和ziamge 几乎是相同的,具体差异可以论述。uboot目前只能支持uimage启动,不支持zimage启动
go:
go命令本质就是改变当前pc值

 

内核启动条件:内核、启动参数、文件系统
启动参数:(bootargs)
root=      启动的根文件系统在哪个设备
init=       内核启动后第一个可执行文件init进程从哪里来
console=    内核启动时,使哪个设备作为控制台

文件系统:内核与用户交互的一个中介
文件系统的烧写:nfs、ramdisk
ramdisk:内存磁盘
配置的内容:
root=/dev/ram
initrd= 0x21000000,8m    (设备信息(文件系统的基地址,大小))
init=/linuxrc
console=ttysac0
nfs:根文件系统(tcp/ip协议  c/s架构)

pc机安装:
1、搜索 apt-cache  search nfs-
2、安装 sudo apt-get install nfs-kernel-server
pc配置:/etc/exports
重启服务:sudo /etc/init.d/nfs-kernel-server restart

测试:

  内存:20008000 uimage
     21000000 initrd.img.gz

内核启动步骤(ramdisk文件系统):
第一步:安装并启动uboot

第二步:通过tftp服务将内核文件及文件系统分别下载到指定位置
tftp  20008000 uimage
tftp 21000000 initrd.img.gz
第三步:设置启动参数
setenv bootargs root=/dev/ram initrd=0x21000000,8m  init=/linuxrc console=ttysac0,115200
第四步:bootm 20008000 
   至此内核启动完成。

 

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网