arm系统怎么升级到最新版

arm系统怎么升级到最新版,第1张

基于TCP完成驱动模块和应用程序的更新,升级。

当需要进行固件升级时,PC启动FileClient应用程序,作为TCP的Client端,提供发送升级文件的服务。Shell脚本文缓游件StartShell判断是否有固件需要升级,如果有更新现有固件后,启亏拆动更新后的固件,如果没有,启动现有扰空销固件。

升级过程无非就是把原来的文件替换掉了,只升级应用程序,那就把原应用程序替换掉呗。

保证可靠升级那就要很多支持了,不仅是应用程贺闹序自身的问题了。

1,例如可以将老的程序重新命名一下,新程序升级失败了继续使用老的。

2,或者可以加一个标志文件,指示启动哪个应用程序,如果启动不了标志文禅庆罩件中的差枣,那就直接启动默认的老的应用程序。这样做升级中断电后也是没问题的。

ld和libc库必须同时升级,否则这两者不匹配会引起各种执行程序报错

一、先把新版本的 ld-2.xx.so、libc-2.xx.so 一起放入 /lib 目录,并注意赋予执行权限

二、删掉指向旧版高汪本的软链接 rm ld-linux-aarch64.so.1 libc.so.6

三、这时所有的命令都是不能用的。同时恢复ld-linux、libc的软链接指向新版本

LD_PRELOAD="/lib/libc-2.26.so /lib/ld-2.26.so" /bin/ln -s /lib/ld-2.26.so /lib/ld-linux-aarch64.so.1

LD_PRELOAD="/lib/libc-2.26.so /lib/ld-2.26.so"戚晌仔 /bin/ln -s /lib/libc-2.26.so /lib/libc.so.6

这时候,虽然谨销大部分busybox命令都可以执行了,但是像dropbear、dmesg这些部分功能还是不正常的,因为还有 libnss_dns、libnss_file、libpthread、libresolv、libdl、libanl、libcrypt、libm、libnsl、librt、libutil 这些库需要跟libc库同步升级


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12563255.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存