当前位置: 首页 > news >正文

全志buildroot开发boot适配

Boot适配

基本分为4步:

  1. 找到当前“生效”的sys_config.fex
  2. 备份+编辑其中的[dram_para][power_sply](还有需要的话UART
  3. 转成sys_config.bin并打包(build.sh pack
  4. 串口验证SPL/U-Boot/内核日志是否正常,然后再继续做DTS适配
1.1、查找
  1. 编译时有设置./build.sh config, 有步骤设置具体板卡

    All available board: Choice[tlt507-evm]:23
  2. 搜索全树查看具体有哪些配置

    $grep-R--line-number--color"^\[dram_para\]"device/config/chips/t507|head-n20grep: device/config/chips/t507/configs/test/sys_config.fex:172:[dram_para]device/config/chips/t507/configs/demo/sys_config.fex:160:[dram_para]device/config/chips/t507/configs/ver_v1_0/sys_config.fex:181:[dram_para]device/config/chips/t507/configs/ft/sys_config.fex:131:[dram_para]device/config/chips/t507/configs/evb_DDR4_1024X768/GB_demo2.0/sys_config.fex:168:[dram_para]device/config/chips/t507/configs/evb_DDR4_1024X768/sys_config.fex:177:[dram_para]device/config/chips/t507/configs/demo2.0_HDMI/sys_config.fex:169:[dram_para]device/config/chips/t507/configs/demo2.0_HDMI/GB/sys_config.fex:168:[dram_para]device/config/chips/t507/configs/evb_DDR4_1080P_JDF/sys_config.fex:177:[dram_para]device/config/chips/t507/configs/evb_DDR4_1080P_JDF/evb/sys_config.fex:151:[dram_para]device/config/chips/t507/configs/qa/sys_config.fex:135:[dram_para]device/config/chips/t507/configs/demo2.0/sys_config.fex:161:[dram_para]device/config/chips/t507/configs/demo2.0/KF/BYD/sys_config.fex:168:[dram_para]device/config/chips/t507/cdevice/config/chips/t507/.gitonfigs/demo2.0/GB/sys_config.fex:169:[dram_para]device/config/chips/t507/configs/evb_lpddr4/sys_config.fex:151:[dram_para]device/config/chips/t507/configs/demo_spinand_ubi/sys_config.fex:149:[dram_para]device/config/chips/t507/configs/demo2.0_harmony/sys_config.fex:168:[dram_para]device/config/chips/t507/configs/demo2.0_car/sys_config.fex:168:[dram_para]device/config/chips/t507/configs/evb/sys_config.fex:150:[dram_para]device/config/chips/t507/configs/tlt507-evm/sys_config_cvbs.fex:181:[dram_para]

可以看出当前的使用的文件路径为

device/config/chips/t507/configs/evb/sys_config.fex:150:[dram_para]
1.2、修改保存

​ 通过全局搜索所有引用sys_config.fex的脚本(包括Makefile.mk.sh)的结果来看,kernel/linux-4.9/scripts/build.sh脚本中存在明确的sys_config.fex覆盖逻辑,会导致修改后编译被重置。

$grep-r"sys_config.fex"--include="*.mk"--include="*.sh"--include="Makefile"./ ./build/envsetup.sh:localf="${LICHEE_BOARD_CONFIG_DIR}/sys_config.fex"./kernel/linux-4.9/scripts/build.sh:cp-f${LICHEE_BOARD_CONFIG_DIR}/sys_config_tft_lcd.fex${LICHEE_BOARD_CONFIG_DIR}/sys_config.fex ./kernel/linux-4.9/scripts/build.sh:cp-f${LICHEE_BOARD_CONFIG_DIR}/sys_config_lvds_lcd.fex${LICHEE_BOARD_CONFIG_DIR}/sys_config.fex ./kernel/linux-4.9/scripts/build.sh:cp-f${LICHEE_BOARD_CONFIG_DIR}/sys_config_${LICHEE_OUTPUT_CONFIGS}.fex${LICHEE_BOARD_CONFIG_DIR}/sys_config.fex ./kernel/linux-4.9/scripts/build.sh:localDTC_INI_FILE_BASE=${LICHEE_BOARD_CONFIG_DIR}/sys_config.fex ./kernel/linux-4.9/scripts/build.sh:SYS_CONFIG_FILE=$localpath/../../tools/pack/chips/${LICHEE_CHIP}/configs/${LICHEE_BOARD}/sys_config.fex ./kernel/linux-4.9/scripts/build.sh:SYS_CONFIG_FILE=${LICHEE_BOARD_CONFIG_DIR}/sys_config.fex ./kernel/linux-4.9/scripts/build.sh:# if find dragonboard_test=1 in sys_config.fex ,then will exchange sdc0 and sdc2# 1. 优先使用 TFT LCD 配置(sys_config_tft_lcd.fex)cp-f${LICHEE_BOARD_CONFIG_DIR}/sys_config_tft_lcd.fex${LICHEE_BOARD_CONFIG_DIR}/sys_config.fex# 2. 若指定了 LVDS 配置,则使用 LVDS 版本(sys_config_lvds_lcd.fex)cp-f${LICHEE_BOARD_CONFIG_DIR}/sys_config_lvds_lcd.fex${LICHEE_BOARD_CONFIG_DIR}/sys_config.fex# 3. 若指定了其他配置(如 HDMI),则使用对应的版本(sys_config_xxx.fex)cp-f${LICHEE_BOARD_CONFIG_DIR}/sys_config_${LICHEE_OUTPUT_CONFIGS}.fex${LICHEE_BOARD_CONFIG_DIR}/sys_config.fex

​ 有三种解决方案:

  1. 锁定sys_config.fex为只读 (不推荐)

  2. 修改覆盖逻辑指定的文件,比如直接修改当前指定的sys_config_tft_lcd.fex

  3. 修改脚本,指向自定义的配置文件(我目前的做法)

    1. 创建自定义的配置文件,最好在同目录环境

      # 复制一份作为自定义配置cpsys_config_tft_lcd.fex sys_config_my.fex# 编辑自定义配置vimsys_config_my.fex
    2. 修改脚本kernel/linux-4.9/scripts/build.sh

      # 打开脚本vimkernel/linux-4.9/scripts/build.sh
      # 修改为自定义文件:if["${LICHEE_OUTPUT_CONFIGS}"=="tft-lcd"];then#cp -f ${LICHEE_BOARD_CONFIG_DIR}/sys_config_tft_lcd.fex ${LICHEE_BOARD_CONFIG_DIR}/sys_config.fexcp-f${LICHEE_BOARD_CONFIG_DIR}/sys_config_my.fex${LICHEE_BOARD_CONFIG_DIR}/sys_config.fexelseif["${LICHEE_OUTPUT_CONFIGS}"=="lvds-lcd"];then#cp -f ${LICHEE_BOARD_CONFIG_DIR}/sys_config_lvds_lcd.fex ${LICHEE_BOARD_CONFIG_DIR}/sys_config.fexcp-f${LICHEE_BOARD_CONFIG_DIR}/sys_config_my.fex${LICHEE_BOARD_CONFIG_DIR}/sys_config.fexelse#cp -f ${LICHEE_BOARD_CONFIG_DIR}/sys_config_${LICHEE_OUTPUT_CONFIGS}.fex ${LICHEE_BOARD_CONFIG_DIR}/sys_config.fexcp-f${LICHEE_BOARD_CONFIG_DIR}/sys_config_my.fex${LICHEE_BOARD_CONFIG_DIR}/sys_config.fexfifi
    3. 确认修改

      # 直接打包,sys_config.fex 在编译 pack 时会被转换成 dts → dtb,再带入 U-Boot 和 Kernel。./build.sh packgrep"修改的内容"device/config/chips/t507/configs/tlt507-evm/sys_config.fex
http://www.gsyq.cn/news/1525160.html

相关文章:

  • 温州水电维修服务推荐、2026正规水电维修公司上门收费标准 - 我叫一
  • 终极指南:如何使用go-cursor-help永久解决Cursor试用限制问题
  • 2026 青岛翡翠回收排名 6 家本地门店实测盘点 - 讯息早知道
  • AI每天都在帮我干活,可我总想看看它上班摸鱼没有——于是给OpenClaw装了个像素办公室
  • 2026苏州通下水道/洗菜池公司横向测评:价格、速度、售后、有没有加价——6家打分详情 - 速递信息
  • 2026全年天津律所律师口碑榜!维益第三者返还财产/婚内过错取证/损害赔偿 - 速递信息
  • MPC8272 PCI桥接器实战解析:从协议原理到驱动配置
  • 2026奢侈品回收手表回收名表回收|廊坊市广阳区奢侈品包包回收 优选万达广场毓典寄卖行 - 速递信息
  • 2026年6月最新!成都宠物医院哪家好?全城优质动物医院综合实力大盘点 - 速递信息
  • 实探青岛6家钻石回收店 同城靠谱门店甄选推荐 - 讯息早知道
  • MPC8272 FCC HDLC控制器实战:寄存器配置、错误处理与驱动优化
  • 山东标识标牌源头厂家 - GrowthUME
  • MPC8272 USB控制器BD机制解析:从包级到事务级接口实战
  • 2026 温州靠谱装修公司权威排行榜,红杉树装饰稳居榜首 - 星际AI
  • VMware ESXi macOS Unlocker 3.0:终极破解虚拟化限制的完整指南
  • 大模型驱动的交互原型生成:从需求描述到可交互原型的智能推导
  • 3分钟解决Switch游戏体验难题:Yuzu模拟器智能版本管理完全指南
  • 2026:佛冈甲醛检测治理公司哪家专业?清远佰家环保凭硬实力脱颖而出 - 专注室内空气检测治理
  • 苏州黄金回收怎么卖高价?实测5家靠谱小店,这份避坑指南请收好 - 速递信息
  • 2026年南京黄金回收严选测评榜:6家门店资质认证和实地对比丨称重校准和结算注意事项 - 生活测评君
  • BiliRaffle:2025年B站UP主必备的动态抽奖神器
  • 2026 年 6 月周口高温季空调维修避坑指南 线路老化与家电故障正规服务商甄选 - 金修达家庭维修
  • 美妆成分争议舆情监测:三维协同预警机制建设
  • 深入解析MPC8306 DDR控制器:从JEDEC协议到寄存器配置实战
  • Yuzu模拟器终极安装指南:3分钟学会版本管理与一键部署方案
  • 2025年B站UP主必备:BiliRaffle高效抽奖工具完整解决方案
  • 层次聚类原理与实战:从树状图理解数据天然分组
  • PowerQUICC II总线优化:对齐访问、端口配置与数据流模式详解
  • 如何用Mac Mouse Fix彻底解决macOS鼠标体验难题:5个场景化配置方案
  • 全国除甲醛公司全景洞察:直营与加盟模式博弈及优选逻辑 - GEORANK