Debugging Android kernel: Passing arguments to android kernel while booting

徘徊边缘 提交于 2019-12-30 07:49:27

问题


I am trying to get kgdb working with Android kernel using http://bootloader.wikidot.com/android:kgdb. I got stucked at following step:

    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.

Could anybody please tell me which BoardConfig.mk is it referring? Or is there any other method for passing these arguments to the kernel while booting?


回答1:


An old post, but I've been looking at KGDB recently so thought I'd share:

For Android, I've been passing boot params in via the bootimg.cfg file which can be specified when you create (or update) your boot image. For example, I am updating an existing boot image with a new config file and new kernel using the following:

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

One of the params within this config file is "cmdline" where you can append your options.

Alternatively, for a quick and dirty modification you can pass the '-c "param=value"' option to abootimg which will allow you to specify new options on the fly.




回答2:


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

You can Change kernel command line like this:

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

saveenv

you may need to delete console=ttyAS0,115200 for kgdb to work properly.



来源:https://stackoverflow.com/questions/18973701/debugging-android-kernel-passing-arguments-to-android-kernel-while-booting

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!