关于写死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中的内核参数作为替代。