kernel cmdline 添加位置

1. kernel 的cmdline 添加位置

BoardConfig.mk

对于我们来说,一般修改BoardConfig.mk
BoardConfig.mk

BOARD_KERNEL_CMDLINE := console=ttyMSM0,115200n8 androidboot.hardware=qcom androidboot.console=ttyMSM0 androidboot.memcg=1 lpm_levels.sleep_disabled=1 video=vfb:640x400,bpp=32,memsize=3072000 msm_rtb.filter=0x237 service_locator.enable=1 androidboot.usbcontroller=a600000.dwc3 swiotlb=2048 loop.max_part=7 cgroup.memory=nokmem,nosocket reboot=panic_warm

build/core/Makefile

vim build/core/Makefile

INTERNAL_KERNEL_CMDLINE := $(strip $(BOARD_KERNEL_CMDLINE) buildvariant=$(TARGET_BUILD_VARIANT) $(VERITY_KEYID))
ifdef INTERNAL_KERNEL_CMDLINE
INTERNAL_BOOTIMAGE_ARGS += --cmdline "$(INTERNAL_KERNEL_CMDLINE)"

更多的改法参考:
https://blog.youkuaiyun.com/weixin_42135087/article/details/103365472

可以使用Boot config

https://source.android.com/docs/core/architecture/bootloader/implementing-bootconfig?hl=zh-cn
https://android.googlesource.com/device/google/cuttlefish/+/70e6a3f2434529698dc831471a1a7b675cb87cc3

<think>好的,我需要帮助用户修改Android系统中的BOARD_KERNEL_CMDLINE参数。首先,我需要确认这个参数的位置。根据用户提供的引用[1]和[3],BOARD_KERNEL_CMDLINE通常定义在Android设备目录的BoardConfigCommon.mk文件中,比如device/telechips/tcc88xx-common/BoardConfigCommon.mk。用户需要找到对应的设备目录,这可能因设备型号而异。 接下来,用户需要编辑该文件,找到BOARD_KERNEL_CMDLINE的定义行。例如,原来的可能是BOARD_KERNEL_CMDLINE := console=ttyTCC,115200n8。用户可以根据需求添加修改参数,比如添加quiet参数来抑制内核日志输出,或者调整console设置。 修改后,必须重新编译内核和系统镜像,使用make命令。但用户需要注意,不同Android版本的编译流程可能不同,尤其是Android 10之后的变动。此外,修改内核命令行参数可能会影响系统启动,比如错误的参数导致无法启动,所以建议在能恢复的设备上操作,并备份原有配置。 用户可能还想知道如何验证修改是否生效,可以查看/proc/cmdline或者在启动时的dmesg输出。另外,引用[2]提到quiet参数影响printk的打印级别,这可能需要用户进一步了解内核日志级别的设置。引用[4]提到init进程的启动过程,但修改cmdline主要在内核启动阶段,可能涉及不到init,但了解整体启动流程有帮助。 用户可能的问题还包括参数的具体作用,比如如何调试或有哪些常用参数。需要确保回答结构清晰,分步骤说明,同时提醒注意事项和验证方法。</think>### 修改 `BOARD_KERNEL_CMDLINE` 参数的步骤 #### 1. **定位定义文件** `BOARD_KERNEL_CMDLINE` 参数通常在 Android 设备的 **BoardConfig.mk** 或 **BoardConfigCommon.mk** 文件中定义。根据引用 [1] 和 [3],路径可能为: ```bash device/<厂商>/<平台>/BoardConfigCommon.mk # 示例:device/telechips/tcc88xx-common/BoardConfigCommon.mk ``` #### 2. **修改参数值** 在文件中找到 `BOARD_KERNEL_CMDLINE` 的定义行,例如: ```makefile BOARD_KERNEL_CMDLINE := console=ttyTCC,115200n8 ``` 添加修改参数。例如,添加 `quiet` 参数以抑制内核日志输出: ```makefile BOARD_KERNEL_CMDLINE := console=ttyTCC,115200n8 quiet ``` #### 3. **重新编译内核** 需重新编译内核和系统镜像以生效: ```bash source build/envsetup.sh lunch <设备型号> make -j$(nproc) ``` **注意**:Android 10 及以上版本可能需使用 `m` 或 `mmma` 命令[^4]。 #### 4. **验证修改** 刷入新镜像后,通过以下命令验证参数是否生效: ```bash adb shell cat /proc/cmdline ``` --- ### 关键注意事项 1. **参数兼容性**:某些参数可能导致启动失败(如错误的控制台设备名)。 2. **设备差异性**:不同厂商的设备配置文件路径可能不同。 3. **调试参数**: - `quiet`:降低内核日志级别(引用 [2] 中提到的 `printk` 级别变化)。 - `loglevel=<N>`:直接设置内核日志级别(0=紧急,7=调试)。 - `init=/path/to/init`:指定自定义初始化程序(引用 [4] 中 init 进程相关)。 --- ### 示例:添加启动调试参数 若需启用内核调试并保留控制台输出: ```makefile BOARD_KERNEL_CMDLINE := console=ttyTCC,115200n8 loglevel=7 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值