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

app设计网站推荐石家庄制作网站推广

app设计网站推荐,石家庄制作网站推广,本地wordpress 慢,大学哪个专业可以做网站一、 项目背景与目标本次工作的目标是基于瑞芯微RV1126官方SDK(基于Buildroot 2018.02)进行二次开发,构建一个集成了特定网络服务(telnet,SSH, Samba, NTP)与系统调试/监控工具(vmstat,GDB, iostat, perf,p…
一、 项目背景与目标

本次工作的目标是基于瑞芯微RV1126官方SDK(基于Buildroot 2018.02)进行二次开发,构建一个集成了特定网络服务(telnet,SSH, Samba, NTP)与系统调试/监控工具(vmstat,GDB, iostat, perf,pidstat....)的定制化Linux系统。

开发环境为现代Ubuntu主机,而目标SDK版本较老。在编译与部署过程中,遇到了一系列典型的兼容性与配置问题,其中遇到了很多的问题,本文选了几个比较典型的问题,旨在对整个调试过程进行技术性复盘。


第二部分:编译阶段的兼容性问题与解决方案

在通过Buildroot的menuconfig添加所需软件包后,编译阶段出现大量由环境不兼容导致的错误。

2.1 问题:opensshlibgpg-error 的编译失败
  • 问题现象: 编译在 openssh-7.6p1 及作为其依赖的 libgpg-error-1.27 等软件包处中断。日志显示,错误主要集中在:

    1. 对新版Glibc/OpenSSL库的API不兼容(如explicit_bzero函数未声明、RSA等加密结构体不透明导致解引用失败)。

    2. 构建脚本与新版Gawk工具的语法冲突(namespace被识别为关键字)。

  • 原因分析与思路: 根本原因为SDK内的软件包版本过低,其源码编写时所依赖的工具链(GCC, Glibc, OpenSSL, Gawk)的API和语法,与当前宿主机的现代化版本存在显著差异。

    解决思路从最初的“直接修复源码(打补丁)”,逐步演进到“更换组件”和“升级软件包版本”。在实践中发现,由于SDK内的源码可能已被厂商修改,通用补丁无法直接应用(Hunk FAILED),且手动修复过程繁琐、易错。

  • 最终解决方案:

    1. 更换组件:鉴于修复旧版openssh的补丁复杂且不稳定,决定将其替换为更轻量、依赖更少、更适合嵌入式环境的 dropbear,从根本上规避了与openssl的兼容性问题。

    2. 升级软件包:对于作为核心依赖的libgpg-error,在尝试补丁修复失败后,最终通过修改其在Buildroot中的.mk定义文件,将版本从 1.27 升级至兼容性更好的 1.42,并同步更新了其下载源与哈希值(后因哈希功能被禁用而省略),解决了与Gawk的兼容性问题。


第三部分:系统引导阶段的配置与同步问题

在解决所有编译问题、成功生成系统镜像后,烧录至开发板却遇到了启动失败的问题。

3.1 问题:内核无法挂载根文件系统 (bad geometry)
  • 问题现象: 系统启动至加载内核后阶段中止,日志抛出 EXT4-fs: bad geometry: block count xxx exceeds size of device... 错误,最终导致 Kernel panic

  • 原因分析与思路: 此错误直接原因为根文件系统镜像(rootfs.ext4)的实际体积(约1.2G)因新增功能而增大,超过了 parameter.txt 文件中为rootfs分区分配的原始大小(1G)。必须对分区表进行扩容。

  • 最终解决方案: 在不删除其他必要分区(oem, userdata)的前提下,通过重新计算rootfs之后所有分区的起始地址(offset),修改了parameter.txt文件,将rootfs分区成功扩容至1.5G以上,解决了镜像空间不足的问题。

3.2 问题:U-Boot无法找到分区,引导失败
  • 问题现象: 使用瑞芯微烧录工具,按照修改后的分区规则,单独烧录每一个固件。然后重启,启动时uart打印有报错信息:U-Boot抛出 *** Warning - bad CRC, using default environmentCould not find baseparameter partition 错误,无法继续引导内核。

  • 原因分析与思路: 此问题暴露了嵌入式系统引导流程中的两个关键点:

    1. 构建配置与烧录配置的脱节:经排查,SDK中存在两份参数文件,一份用于构建脚本在打包时进行尺寸检查(位于device/rockchip/...),另一份用于烧录工具(位于rockdev/)。必须确保两份配置源头一致。

    2. 核心引导组件未同步更新:更重要的是,之前的编译都只针对rootfs。当分区表这种底层配置大改后,引导程序(U-Boot)和内核(Kernel)必须同步重新编译才能识别新的硬件布局。旧的uboot.img无法解析新的分区表,是引导失败的直接原因。

  • 最终解决方案:

    1. 统一修改SDK源码中所有相关的parameter.txt文件,从源头保证分区定义的一致性。

    2. 在Buildroot中执行 make savedefconfig 固化对rootfs的修改。

    3. 执行一次完整的顶层SDK编译脚本(./build.sh,确保U-Boot、Kernel、Rootfs三大组件基于一致的配置重新生成,然后用瑞芯微烧录工具直接烧录统一固件(rockdev/update.img),而不是一个个去烧录各分区固件,从而解决了组件间的配置同步问题。

四、 总结

本次调试过程清晰地揭示了在处理老旧嵌入式SDK时常见的两类问题:

  1. 编译期兼容性问题:由于工具链版本差异引发,其最优解决策略是优先考虑组件替换软件包版本升级,而非投入巨大成本进行源码修复。

  2. 系统引导配置同步问题:任何涉及分区、内存布局等底层配置的变更,都必须确保引导程序、内核、根文件系统等所有相关组件进行全局性的重新编译,以保证信息的一致性。

系统性的排查思路和对底层工作原理的理解,是高效解决此类复杂问题的基础。


文章转载自:

http://1VjG4bVJ.pxwzk.cn
http://9KcgF4oe.pxwzk.cn
http://diKxC1AS.pxwzk.cn
http://ZUHmpJJ7.pxwzk.cn
http://VNGpT6rI.pxwzk.cn
http://S4M4Ru4U.pxwzk.cn
http://peT60Yhd.pxwzk.cn
http://uqQwhAVk.pxwzk.cn
http://hdyRrYY4.pxwzk.cn
http://CaNQLzmo.pxwzk.cn
http://wu8Cz38W.pxwzk.cn
http://8eDYf5hs.pxwzk.cn
http://FWghav5I.pxwzk.cn
http://ZsFnXOY1.pxwzk.cn
http://jdsYgveM.pxwzk.cn
http://PDjCPIi1.pxwzk.cn
http://PBP6Gfjn.pxwzk.cn
http://8KZraisa.pxwzk.cn
http://geY5cV4t.pxwzk.cn
http://vzLZ0qBr.pxwzk.cn
http://Pu5xW8Cn.pxwzk.cn
http://ROGmJNd0.pxwzk.cn
http://t6GVLw0w.pxwzk.cn
http://dO8zljtC.pxwzk.cn
http://BcwxPAmf.pxwzk.cn
http://toJEqzJJ.pxwzk.cn
http://NgIAtKsd.pxwzk.cn
http://rW5rPQ5L.pxwzk.cn
http://2cWhKXNj.pxwzk.cn
http://GHZGPtH7.pxwzk.cn
http://www.dtcms.com/wzjs/644140.html

相关文章:

  • 班级网站建设上海企业网站建设制作
  • 北京市城市建设档案馆网站信誉好的o2o网站建设
  • 如何做网站视频哈尔滨造价信息网官网
  • 记事本做网站的流程规范网站维护 建设 管理
  • 一块钱购物网站笑话 wordpress主题
  • 中国站长网站中国建筑2022校园招聘
  • 无锡优化网站价格洛可可设计
  • 网站下载器杭州网站制作维护
  • 网站优化推广网站框架是什么
  • 网站 工信部备案 收回wordpress谷歌字体大小
  • aspcms三合一网站源码西安网站建设公司平台
  • 重庆网站建设拓云wordpress 搜狐
  • 河南住房和城乡建设厅网站资质培训机构跑路怎么追回学费
  • 网站建设 英语翻译指数是什么
  • 卧龙区微网站建设做招聘网站排名
  • 济宁市松岳建设机械有限公司网站企业信息系统类型
  • 百度怎样建立网站wordpress转tytypecho
  • 提供商城网站制作电子商务网站建设教程 pdf
  • 企业网站实施方案鹤岗市建设局网站
  • 公司网站建立教程上海传媒公司总裁李健
  • 自己怎么做网站链接东莞饰品网站建设
  • 阿里云官方网站 icp代备案管理系统360免费建站网址是什么
  • 图书馆网站参考咨询建设今傲网站做的怎么样
  • 海络网站什么是移动端网站适配
  • 用固定ip做访问网站服务器九江做网站开发需要多少钱
  • 假发网站建设正品二手手表交易网
  • 网站开发工程师应聘书范文700字wordpress扁平模板
  • 公司网站建设征稿令outstock. wordpress
  • 初学者怎么做php网站网站建设需求单
  • 网站自然排名怎么做电脑ps软件哪个好