调试Android内核:在启动时将参数传递给android内核

时间:2013-09-24 05:36:42

标签: android linux-kernel kgdb

我正在尝试使用http://bootloader.wikidot.com/android:kgdb让kgdb使用Android内核。我被迫坚持下一步:

    Configure kernel command line

    Specify ttyGS0 as the kgdboc device. Add the following into the kernel command line (possibly in BoardConfig.mk)

    kgdboc=ttyGS0 kgdbretry=4

    The second option "kgdbretry=4" is a new parameter added to kgdboc.c. 
    It means that if kgdb cannot find the device "ttyGS0" in early boot, 
    it will retry once after the specified number of seconds. 
    This is a work-around if the USB device is not immediately initialized during system boot.

请问有人请告诉我哪个BoardConfig.mk?或者是否有任何其他方法在启动时将这些参数传递给内核?

2 个答案:

答案 0 :(得分:0)

一篇旧帖子,但我最近一直在关注KGDB,所以我想分享:

对于Android,我一直通过bootimg.cfg文件传递boot params,可以在创建(或更新)启动映像时指定。例如,我使用以下内容使用新配置文件和新内核更新现有启动映像:

abootimg -u boot.img -f bootimg.cfg -u zImage-dtb

此配置文件中的一个参数是“cmdline”,您可以在其中添加选项。

或者,对于快速而肮脏的修改,您可以将'-c“param = value”'选项传递给abootimg,这样您就可以动态指定新选项。

答案 1 :(得分:-1)

http://www.stlinux.com/u-boot/kernel-booting

您可以像这样更改内核命令行:

setenv bootargs mem=128M kgdboc=ttyGS0 kgdbretry=4

saveenv

您可能需要删除console=ttyAS0,115200才能使kgdb正常工作。