搜索
bottom↓
回复: 14

【经验分享】如何写死u-boot中的bootargs

[复制链接]

出0入0汤圆

发表于 2014-7-31 17:51:20 | 显示全部楼层 |阅读模式
如何写死u-boot中的bootargs
最近在论坛中有朋友问如何写死u-boot中的bootargs command,这里我就为大家整理一下,方便大家查看。i.mx系列产品在启动时,最先起来的是u-boot,u-boot起来以后,需要在u-boot中设置环境参数,设置不正确的话板子无法正常启动。并且每次更新都很麻烦,所以这里通过修改u-boot源码中的命令的话使用起来会非常方便,具体方法以下会有介绍。
这里以开发板MCIMX6Q-SDP, HDMI屏,BSP L3.0.35_4.1.0_130816_source为例,首先要将编译好的u-boot,uImage还有文件系统烧写到板子MCIMX6Q-SDP的SD卡上,从SD卡启动。
u-boot起来后要首先设置u-boot中的参数,如下图所示:

红色区域为默认的u-boot 中的环境参数,我们可以看到在u-boot command 是从网络启动的,要是从SD卡启动的话,需要修改u-boot中的参数为:
MX6Q SABRESD U-Boot > setenv loadaddr 0x10800000
MX6Q SABRESD U-Boot > setenv bootargs_base 'setenv bootargs console=ttymxc0,115200'
MX6Q SABRESD U-Boot > setenv bootargs_mmc 'setenv bootargs ${bootargs} root=/dev/
mmcblk1p1 rootwait rw video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24'
MX6Q SABRESD U-Boot > setenv bootcmd_mmc 'run bootargs_base bootargs_mmc;mmc dev 2;mmc
read ${loadaddr} 0x800 0x2000;bootm'
MX6Q SABRESD U-Boot > setenv bootcmd 'run bootcmd_mmc'
MX6Q SABRESD U-Boot > saveenv
MX6Q SABRESD U-Boot > run bootcmd
都设置正确的话,板子才可以正常启动,每次设置都会比较麻烦,并且拷贝过程中有空格等错误的话都会导致kernel无法正常启动。
这里尝试修改u-boot中的bootargs 将u-boot中的参数都定义好的话,在u-boot启动时候就是直接从定义好的命令中启动的。这样做比较方便,省去了每次启动都要修改u-boot。具体如何修改的话如下:
修改u-boot源码中关于command的代码,路径为u-boot-2009.08/include/configs下的mx6q_sabresd.h,打开后可以看到:

红色标识区域为你要修改的部分。根据你需要修改的内容修改添加。
修改好源码以后,保存。
进入ltib目录,输入命令:
./ltib -m scbuild -p u-boot     编译修改好的u-boot 源码
./ltib -m scdeploy -p u-boot   将编译好的u-boot文件放在rootfs中。

将u-boot.bin拷出来,烧写到板子上重新启动就OK了。
关于android BSP的话就是需要修改myandroid/bootable/bootloader/uboot-imx/incluce/configs目录下的mx6q_sabresd_android.h中的#define        CONFIG_EXTRA_ENV_SETTINGS,方法是和Linux 一样的,这里就不在详细介绍了。

附件为整理出来的文档,希望对大家有帮助~~


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2014-8-1 09:03:07 | 显示全部楼层
感谢楼主的I.MX经验分享,如果大家有好的经验也可以分享出来哦。

出0入0汤圆

发表于 2014-9-3 09:10:04 | 显示全部楼层
这个挺好的呀

出0入0汤圆

发表于 2015-1-5 11:38:09 | 显示全部楼层
虽然saveenv命令可以把设定保存起来,
不过每块板子要设定也是麻烦,写Uboot代码里面不错。

出0入0汤圆

发表于 2015-1-5 23:11:21 来自手机 | 显示全部楼层
最近整imx283,先记录下了。

出0入0汤圆

 楼主| 发表于 2015-1-13 13:06:30 | 显示全部楼层
jinyi7016 发表于 2015-1-5 23:11
最近整imx283,先记录下了。

欢迎有问题在本论坛中交流讨论哈~~

出0入0汤圆

发表于 2015-1-13 15:16:51 | 显示全部楼层
linux 下参数太复杂啦 ,写死了也好 ,指定一种启动方式 !

出0入0汤圆

发表于 2015-1-14 08:50:20 | 显示全部楼层
boot_cmd ~ 为什么要写死?

出0入0汤圆

发表于 2015-1-14 08:59:22 | 显示全部楼层
修改uboot对应的头文件,然后在配置中把saveenv指令禁用了

出0入0汤圆

 楼主| 发表于 2015-1-14 15:14:07 | 显示全部楼层
songjie 发表于 2015-1-14 08:50
boot_cmd ~ 为什么要写死?

写死的话,启动模式就是固定了,不用再再u-boot中设置了,当然你也可以不这么做,是之前有人问起的,这只是一种方法。供大家参考的。

出0入0汤圆

发表于 2015-1-15 09:44:16 | 显示全部楼层
不错 顶一个!!

出0入0汤圆

发表于 2015-1-15 11:19:46 | 显示全部楼层
写死后也好,启动就不能变吗

出0入0汤圆

发表于 2015-1-22 00:19:02 来自手机 | 显示全部楼层
感谢楼主的经验分享

出0入0汤圆

发表于 2015-1-22 11:08:00 | 显示全部楼层
感谢经验分享~

出0入0汤圆

发表于 2015-1-22 17:24:52 | 显示全部楼层
每次 都是saveenv
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-10 17:07

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表