欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于写死bootargs实例

程序员文章站 2022-03-07 13:28:54
...

1. 说明

1.附加的内核命令行(cmdline): BOARD_KERNEL_CMDLINE

在build/core/Makefile中,有以下一段内容(strip起到去除空格的作用):

BOARD_KERNEL_CMDLINE := $(strip $(BOARD_KERNEL_CMDLINE)

ifdef BOARD_KERNEL_CMDLINE

    INTERNAL_BOOTIMAGE_ARGS += --cmdline "$(BOARD_KERNEL_CMDLINE)"

#endif

而BOARD_KERNEL_CMDLINE可以从文件BoardConfigCommon.mk中找到定义:

BOARD_KERNEL_CMDLINE := console=ttyTCC, 115200n8

2.内核加载的基地址,BOARD_KERNEL_BASE

同样在build/core/Makefile中,有以下一段内容:

BOARD_KERNEL_BASE := $(strip $(BOARD_KERNEL_BASE))

ifdef BOARD_KERNEL_BASE

    INTERNAL_BOOTIMAGE_ARGS += --base $(BOARD_KERNEL_BASE)

endif

而BOARD_KERNEL_BASE也在BoardConfigCommon.mk中定义:

BOARD_KERNEL_BASE := 0x40000000

3.映像的页面大小:BOARD_KERNEL_PAGESIZE

同样在build/core/Makefile中,有以下一段内容:

BOARD_KERNEL_PAGESIZE:= $(strip $(BOARD_KERNEL_PAGESIZE))

ifdef BOARD_KERNEL_PAGESIZE

    INTERNAL_BOOTIMAGE_ARGS += --pagesize $(BOARD_KERNEL_PAGESIZE)

endif

而BOARD_KERNEL_PAGESIZE 在BoardConfig.mk中定义:

BOARD_KERNEL_PAGESIZE := 8192

2. 举例

在device定制目录下找到BoardConfig.mk文件,并添加自定义内容:

BOARD_KERNEL_CMDLINE := console=ttymxc0,115200 init=/init video=mxcfb0:dev=ldb,bpp=32 video=mxcfb1:off video=mxcfb2:off video=mxcfb3:off vmalloc=256M androidboot.console=ttymxc0 consoleblank=0 androidboot.hardware=freescale cma=384M

通过如上操作可以实现写死bootargs

3. 原理

bootargs可以在u-boot中指定,如果在u-boot中未指定,那么就会使用boot.img中的内核参数作为替代。

相关标签: 内核