一 在应用中升级u-boot、内核以及文件系统

近期在做在Linux系统中做在应用中升级功能,网络传输数据,实现的目标是:通过网络可以对u-boot、内核、文件系统的文件进行修改升级。

这里记录一下简单思路:

首先从全局考虑,要实现的功能网络通信部分和嵌入式系统对emmc的操作。

网络通信:

该部分考虑的问题主要是使用什么通信协议;是否允许多机连接服务器端,也就是同时允许多台嵌入式平台进行升级操作;大文件传输时,如果突然断网的问题;局域网和广域网的升级问题,在该问题中只考虑局域网,广域网与局域网类似;等等其他,如果有网友还有其他想法留言讨论哈。

嵌入式系统对emmc的操作:

该部分可能复杂一些,首先是对emmc的按块操作,由于u-boot和内核都是按块操作的,所以实现了按块操作后,直接升级u-boot和内核问题不是很大。以前做过了u-boot和内核的移植,对于存放和读取都有一定了解,因此该部分应该容易实现。

另外就是对文件系统的升级了,该部分遇到的主要问题如果要升级的部分正在使用,那么升级时是不能直接覆盖的(难道Linux有例外?),因此需要先删除它然后拷贝新的文件,这里需要解决找到使用该文件的进程,然后kill掉,之后才可升级。该部分是文件系统形式操作,不是对块操作了。

接下来进入细化的记录讨论。

一 在应用中升级u-boot、内核以及文件系统

时间: 2024-08-25 18:56:08

一 在应用中升级u-boot、内核以及文件系统的相关文章

如何在 CentOS 7 中安装或升级最新的内核

转 原创 2017-03-19 译者:geekpi Linux中国 随着新的设备和技术定期出来,如果我们想充分利用它们,保持最新的内核就很重要.此外,更新内核将帮助我们利用新的内核函数,并保护自己免受先前版本中发现的漏洞的攻击.-- Matei Cezar 本文导航 -步骤 1:检查已安装的内核版本18% -步骤 2:在 CentOS 7 中升级内核33% -步骤 3:设置 GRUB 默认的内核版本63% -总结80% 虽然有些人使用 Linux 来表示整个操作系统,但要注意的是,严格地来说,L

如何在CentOS/RHEL上安装或升级新的内核版本

Linux内核版本 Linux内核版本分为主线.稳定和长期版本.(所有内核版本都可以在内核开发官方网站https://www.kernel.org上获取)目前我们看到最新的稳定内核版本为4.10.12. 主线版本代表整个Linux内核的一个树干,新的主线版本每2-3个月发布一次,所有的新功能及特性都将会包含主线版本中.稳定内核则是在主线版本中,被认为是"稳定的"得出.稳定内核的任何错误修复都将从主线树中返回,也就是主线内核出现的任何错误(包括之前的任何旧版本内核的错误和BUG)在得到修

Linux内核,文件系统移植过程中出现的一些问题与解决办法

1.bootm地址和load address一样 此种情况下,bootm不会对uImage header后的zImage进行memory move的动作,而会直接go到entry point开始执行.因此此时的entry point必须设置为load address + 0x40.如果kernel boot过程没有到uncompressing the kernel,就可能是这里设置不对. boom address == load address == entry point - 0x40 2.

MacOS中升级openssl

MacOS中升级openssl ?  ~ brew instal openssl 使用情况中始终发现,openssl并没有真正升级 在/usr/local/Cellar/openssl/目录中发现已经存在最新版 ?  ~ ll  /usr/local/Cellar/openssl/ total 0 drwxr-xr-x 11 xxx admin 374  4 10 15:47 1.0.2g drwxr-xr-x 11 xxx admin 374  5 17 17:03 1.0.2h drwxr-

Debian8升级4.5内核

本文讲述如何升级Debian8的内核到4.5版本 0x01:去linux kernel官网https://www.kernel.org/下载4.5的内核,选择tar.xz格式 0x02:想办法把下载好的包弄进你的虚拟机或...直接你的物理机 0x03:解压 有的朋友可能没见过tar.xz格式的包,解压其实很简单,先用 xz 命令,没有的话先 apt-get install xz -d ***.tar.xz 这样会在当前文件夹生成一个tar包,再解压 tar -xvf ***.tar 之后会生成一

linux的几个内核镜像格式Image 和 u-boot启动内核和文件系统时的一些环境变量的设置

关于编译powerpc linux的几个Image参考原文 http://blog.sina.com.cn/s/blog_86a30b0c0100wfzt.html 转载▼ PowerPC架构 Linux和ARM,X86等平台有些差异,PowerPC平台HW参数不是通过命令行方式传递到Linux,而是通过传递Device tree文件的方式传递参数,所以PowerPC平台Linux需要编译dtb和uImage才能正常加载,另外PowerPC架构linux还提供simpleImage的方式加载,也

arm下如何烧写指定分区大小的内核和文件系统

最近在海思3518e平台下烧写内核和文件系统,由于项目需要,需要运行海思SDK中的测试软件HiIspTool,不能使用精简后的文件系统,需要刷一个比较大的文件系统,但在此过程中由于各种原因,弄坏了一个板子,烧坏了一个uboot,由于要卸下SPI NOR FLASH,重新烧写实在太过麻烦,放弃了该板子.在此过程中走了些弯路,在此记录下主要过程和注意事项,希望能够提醒自己和刚如何这方面的新手,共勉! 1.板子上电时按住ctrl+c进入uboot模式 2.设置UBOOT模式的板子的IP和PC服务端的I

mini2440 uboot使用nfs方式引导内核,文件系统

mini2440 uboot使用nfs方式引导内核,文件系统 成于坚持,败于止步 看了一段时间的u-boot了,到今天才真正完全实现u-boot引导内核和文件系统,顺利开机,在此记录完整过程 1.首先如果你u-boot还没有一直也没有关系,这里上传了一个已经移植好的u-boot,版本问2010.03,多谢tekkaman分享的这个源码 分享下载地址:u-boot-2010.03 编译uboot的过程就不在多说了,解压到你希望的目录下执行make,当时事前安装好交叉编译工具,这个相信大家都会 编译

jz2440烧写内核和文件系统,将虚拟机上的文件通过nfs挂载到开发板上。

1.内核和文件系统要匹配好. 2.文件系统的格式,yaffs2,jaffs nand write.yaffs2... ...$(filesize) a.安装nfs 下面介绍具体操作:1.执行命令:sudo apt-get install nfs-kernel-server ;2.执行命令:mkdir /home/share/NFS 建立一个nfs服务的专有的文件夹;3.建立好文件夹后,接着执行命令:sudo vi /etc/exports 配置nfs;4.在文章的最后一行添加:/home/sha