T33-自行编译 kernel 后无码流:排查方向梳理
适用场景
在 T33N(及同类)开发板上,用原厂固件能正常出图,但改用自己编译的 kernel 后 carrier-server 无法出流。本文适用于这类「原厂能出、自编不能出」的环境搭建类问题。
现象关键对比
本工单的现象描述很有价值,给出了三组对照:
1. 原厂固件 → 能出图;
2. 原厂固件导出的 kernel → 能出图;
3. 自编的 4.4.94 kernel → 无码流。
「原厂 kernel 能出、自编 kernel 不能出」说明问题不在硬件,而在自编 kernel 与可用的原厂 kernel 之间的差异。
排查方向
1. 对比 kernel config
将自编 kernel 的 config 与「原厂固件导出的可用 kernel」的 config 做差异比对,重点检查 ISP/sensor 相关驱动、media 框架、DMA/I2C/时钟等配置是否被误关或缺失。
2. 检查驱动模块是否编入/加载
确认 ISP 驱动、sensor 驱动是否已编译进内核或作为模块加载;检查开机日志中是否有驱动 probe 失败、sensor 识别失败等报错。
3. 检查 carrier-server 依赖
确认 carrier-server 所需的用户态库、接口与自编 kernel 提供的接口是否匹配(版本、符号、设备节点)。
4. 检查编译选项与工具链
确认编译工具链、内核版本(4.4.94)与 SDK 预期一致,避免工具链不匹配导致的功能异常。
注意事项
• 本工单评论 0 条,无已确认根因;以上为通用排查方向,具体根因需结合实际 config 差异与日志定位。
• 附件中提供了 kernel config,应以此与原厂可用 config 做逐项差异分析。
结论
「原厂能出图、自编 kernel 不能出图」的环境搭建问题,排查重点在自编 kernel 与原厂可用 kernel 的 config 差异、驱动模块编入/加载情况,以及 carrier-server 接口匹配。
