打印
[i.MX]

如何将uboot的bootargs写死?

[复制链接]
8923|24
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
chaoswosting|  楼主 | 2014-7-22 15:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
各位,现在我LCD的尺寸是1280×800,现在Uboot的输出默认是1024×768,每次更新了image后,都要手动在uboot中输入命令:
uboot > setenv bootargs console=ttymxc0,115200 androidboot.console=ttymxc0 vmalloc=400M init=/init video=mxcfb0:dev=ldb,LDB-WXGA,if=RGB666,bpp=16 video=mxcfb1:off video=mxcfb2:off fbmem=10M fb0base=0x27b00000

请问,有办法把这个命令直接在代码里面写入吗?每次更新image都要输入很麻烦额。。

相关帖子

沙发
ffbiao| | 2014-7-22 15:21 | 只看该作者
可以,修改u-boot源码,里面能提供命令行语句,具体要在你的配置目录的要配置文件里修改,例如u-boot/incluede/configs/xxx_config.h

使用特权

评论回复
板凳
ffbiao| | 2014-7-22 15:22 | 只看该作者
例如:
#define CONFIG_BOOTARGS         "console=ttymxc0,115200 rdinit=/linuxrc "\
                                "enable_wait_mode=off"
#define CONFIG_BOOTCOMMAND      "bootm 0x10800000 0x10c00000"

#define        CONFIG_EXTRA_ENV_SETTINGS                                        \
                "netdev=eth0\0"                                                \
                "ethprime=FEC0\0"                                        \
                "uboot=u-boot.bin\0"                        \
                "kernel=uImage\0"                                \

#define CONFIG_ARP_TIMEOUT        200UL

使用特权

评论回复
地板
FSL_TICS_Rita| | 2014-7-22 17:20 | 只看该作者
楼上正解~~

使用特权

评论回复
5
chaoswosting|  楼主 | 2014-7-23 14:25 | 只看该作者
ffbiao 发表于 2014-7-22 15:22
例如:
#define CONFIG_BOOTARGS         "console=ttymxc0,115200 rdinit=/linuxrc "\
                                "enable_wait_m ...

请问一下,我的boot命令中 video=mxcfb0:dev=ldb,LDB-WXGA.......
这个LDB-WXGA是我自己在kernel中添加的结构体,这个怎么在uboot中体现呢?
这句的作用是让屏幕从1024*768的输出变成1280*800的输出。

使用特权

评论回复
6
FSL_TICS_Rita| | 2014-7-23 15:33 | 只看该作者
chaoswosting 发表于 2014-7-23 14:25
请问一下,我的boot命令中 video=mxcfb0:dev=ldb,LDB-WXGA.......
这个LDB-WXGA是我自己在kernel中添加的 ...

楼主你好,应该也是可以添加到u-boot中的,这个我之前没有试过添加video=mxcfb0:dev=ldb 这种的,你可以添加试试看。

使用特权

评论回复
7
bestray| | 2014-7-23 17:40 | 只看该作者
找机会试一把行不行~

使用特权

评论回复
8
FSL_TICS_Rita| | 2014-7-24 10:09 | 只看该作者
楼主你好,请问你试过了吗?是否可行?

使用特权

评论回复
9
chaoswosting|  楼主 | 2014-7-24 16:51 | 只看该作者
FSL_TICS_Rita 发表于 2014-7-23 15:33
楼主你好,应该也是可以添加到u-boot中的,这个我之前没有试过添加video=mxcfb0:dev=ldb 这种的,你可以 ...

你好,我的uboot编译的时候选择的是“make mx6q_sabresd_android_config”, 所以我就在 uboot/include/configs目录中找到 mx6q_sabresd_android.h  可是,里面根本就没有这些宏定义额。。。
请问现在该怎么办?自己添加?  @bestray  

使用特权

评论回复
10
FSL_TICS_Rita| | 2014-7-25 11:13 | 只看该作者
chaoswosting 发表于 2014-7-24 16:51
你好,我的uboot编译的时候选择的是“make mx6q_sabresd_android_config”, 所以我就在 uboot/include/co ...

是有的,就是#define        CONFIG_EXTRA_ENV_SETTINGS中的定义。你使用的android的话,建议你看一下myandroid/bootable/bootloader/uboot-imx/incluce/configs下有个mx6q_sabresd.h,里面是有定义的。你看一下就会明白了的。

使用特权

评论回复
11
chaoswosting|  楼主 | 2014-7-25 14:53 | 只看该作者
FSL_TICS_Rita 发表于 2014-7-25 11:13
是有的,就是#define        CONFIG_EXTRA_ENV_SETTINGS中的定义。你使用的android的话,建议你看一下mya ...

改成了  "bootargs_base=setenv bootargs console=ttymxc0,115200 androidboot.console=ttymxc0 vmalloc=400M init=/init video=mxcfb0:dev=ldb,LDB-WXGA,if=RGB666,bpp=16 video=mxcfb1:off video=mxcfb2:off fbmem=10M fb0base=0x27b00000\0"\   还是不会变化,看来不能通过命令改了

使用特权

评论回复
12
FSL_TICS_Rita| | 2014-7-25 16:39 | 只看该作者
chaoswosting 发表于 2014-7-25 14:53
改成了  "bootargs_base=setenv bootargs console=ttymxc0,115200 androidboot.console=ttymxc0 vmalloc= ...

楼主你好,刚我在帮你确认,你应该是修改目录myandroid/bootable/bootloader/uboot-imx/incluce/configs下的mx6q_sabresd_android.h中的#define        CONFIG_EXTRA_ENV_SETTINGS。

使用特权

评论回复
13
FSL_TICS_Rita| | 2014-7-25 16:40 | 只看该作者
本帖最后由 FSL_TICS_Rita 于 2014-7-25 16:43 编辑

bootargs=console=ttymxc0,115200 init=/init video=mxcfb0:dev=ldb,LDB-WXGA,if=RGB666,bpp=16
video=mxcfb1:off video=mxcfb2:off fbmem=10M fb0base=0x27b00000 vmalloc=400M
androidboot.console=ttymxc0 androidboot.hardware=freescale
你改成这个试一下,看可不可以。

使用特权

评论回复
14
FSL_TICS_Rita| | 2014-7-25 17:16 | 只看该作者
楼主在么?还有个方法就是你在目录myandroid/bootable/bootloader/uboot-imx/incluce/configs下有个mx6q_sabresd.h,在这里你定义一下bootargs:
#define CONFIG_BOOTARGS                "console=ttymxc0,115200,init=/init"   \     "video=mxcfb0:dev=ldb,LDB-WXGA,if=RGB666,bpp=16"     \     "video=mxcfb1:off video=mxcfb2:off"     \"fbmem=10M fb0base=0x27b00000 vmalloc=400M androidboot.console=ttymxc0 androidboot.hardware=freescale"。
                                   

使用特权

评论回复
15
茫茫大士| | 2014-7-25 17:45 | 只看该作者
设置变量之后要保存才行,设置之后只是在内存里,save一下才会保存在flash上
当然直接改代码也可以

使用特权

评论回复
16
FSL_TICS_Rita| | 2014-7-28 15:16 | 只看该作者
茫茫大士 发表于 2014-7-25 17:45
设置变量之后要保存才行,设置之后只是在内存里,save一下才会保存在flash上
当然直接改代码也可以 ...

非常感谢分享经验哈~~

使用特权

评论回复
17
FSL_TICS_Rita| | 2014-7-28 15:17 | 只看该作者
楼主你好,请问你设置后,现在可以了么?

使用特权

评论回复
18
chaoswosting|  楼主 | 2014-7-30 08:45 | 只看该作者
FSL_TICS_Rita 发表于 2014-7-28 15:17
楼主你好,请问你设置后,现在可以了么?

Rita 你好,这个问题还没解决,经同事提示,在 /device/fsl/saresb_6dq/目录下,修改BoardConfig.mk文件中的 BOARD_KERNEL_CMDLINE  这个变量的值就可以了,请问这是为什么呢? device下的目录属于Android吧,怎么能给uboot、kernel输出命令呢?

使用特权

评论回复
19
FSL_TICS_Rita| | 2014-7-31 09:59 | 只看该作者
本帖最后由 FSL_TICS_Rita 于 2014-7-31 16:52 编辑
chaoswosting 发表于 2014-7-30 08:45
Rita 你好,这个问题还没解决,经同事提示,在 /device/fsl/saresb_6dq/目录下,修改BoardConfig.mk文件 ...

楼主你好,关于你帖中的问题:
1、于你u-boot的bootargs写死的话,你最好还是修改u-boot中的定义,修改myandroid/bootable/bootloader/uboot-imx/incluce/configs目录下的mx6q_sabresd_android.h中的#define        CONFIG_EXTRA_ENV_SETTINGS。我们这边试过,是可以的。
2、关于你修改BoardConfig.mk文件中的 BOARD_KERNEL_CMDLINE 这个变量的值也可以的,这是因为在BoardConfig.mk有u-boot的参数,在编译文件系统的时候会从u-boot开始编译所以会成功,不奇怪的。但是还是推荐修改u-boot中的定义。
3、关于android下的device中放的是各个厂家的板子或者特有的device,这里fsl下放的是飞思卡尔的板子,假如我们要自己添加一个板子的话就要在fsl目录下添加板子的目录然后配置相关的信息。板子中BoardConfig.mk是板子的配置文件,编译过程需要编译什么不需要编译什么都是在这里定义的。
综上,推荐使用第一点中的方法,修改u-boot中的定义。


使用特权

评论回复
20
lqland| | 2014-7-31 20:56 | 只看该作者
关注!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

27

主题

180

帖子

1

粉丝