21ic电子技术开发论坛

标题: 如何将uboot的bootargs写死? [打印本页]

作者: chaoswosting    时间: 2014-7-22 15:16
标题: 如何将uboot的bootargs写死?
各位,现在我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
楼上正解~~

作者: 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的输出。

作者: 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 这种的,你可以添加试试看。

作者: bestray    时间: 2014-7-23 17:40
找机会试一把行不行~

作者: FSL_TICS_Rita    时间: 2014-7-24 10:09
楼主你好,请问你试过了吗?是否可行?

作者: 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  

作者: 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,里面是有定义的。你看一下就会明白了的。

作者: 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"\   还是不会变化,看来不能通过命令改了

作者: 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。

作者: 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
你改成这个试一下,看可不可以。


作者: 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"。
                                   

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

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

非常感谢分享经验哈~~

作者: FSL_TICS_Rita    时间: 2014-7-28 15:17
楼主你好,请问你设置后,现在可以了么?

作者: 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输出命令呢?

作者: 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中的定义。



作者: lqland    时间: 2014-7-31 20:56
关注!

作者: chaoswosting    时间: 2014-8-6 15:59
FSL_TICS_Rita 发表于 2014-7-31 09:59
楼主你好,关于你帖中的问题:
1、于你u-boot的bootargs写死的话,你最好还是修改u-boot中的定义,修改myan ...

Hi Rita,
这个问题终于解决了,但是是因为一个奇怪的问题引起的,这个问题还得麻烦你看看

https://bbs.21ic.com/forum.html?mod=viewthread&tid=781140&extra=

作者: chaoswosting    时间: 2014-8-6 16:05
FSL_TICS_Rita 发表于 2014-7-31 09:59
楼主你好,关于你帖中的问题:
1、于你u-boot的bootargs写死的话,你最好还是修改u-boot中的定义,修改myan ...

Hi Rita,
这个问题终于解决了,但是是因为一个奇怪的问题引起的,这个问题还得麻烦你看看

https://bbs.21ic.com/forum.php?mod=viewthread&tid=781140&extra=


作者: FSL_TICS_Rita    时间: 2014-8-6 17:24
chaoswosting 发表于 2014-8-6 16:05
Hi Rita,
这个问题终于解决了,但是是因为一个奇怪的问题引起的,这个问题还得麻烦你看看

请问你是按照我给你的方法修改OK的吗?

作者: chaoswosting    时间: 2014-8-6 17:28
FSL_TICS_Rita 发表于 2014-8-6 17:24
请问你是按照我给你的方法修改OK的吗?

是的,你给的几个方法都是可以的。。

我之前更改不能起作用的原因可能是它会选择6dl来编译,这个在我新的帖子中有提到

作者: FSL_TICS_Rita    时间: 2014-8-7 15:04
chaoswosting 发表于 2014-8-6 17:28
是的,你给的几个方法都是可以的。。

我之前更改不能起作用的原因可能是它会选择6dl来编译,这个在我新 ...

晓得啦~~





欢迎光临 21ic电子技术开发论坛 (https://bbs.21ic.com/)