在工业控制、机器人控制领域中越来越多使用Linux嵌入式操作系统,但嵌入式linux系统在终端设备上部署之后,在更新和升级系统镜像的时候,还需要重新物理部署,不能确保最佳的操作体验和系统正常的运行时间。 为了改善linux的升级体验,建造linux的升级系统, 以能够执行linux系统安全的远程OTA升级,执行安全的离线升级,并确保linux OTA升级的健壮性和可控性。
2024全国大学生操作系统比赛的“OS功能设计”赛道
- 以小组为单位参赛,最多三人一个小组,且小组成员是来自同一所高校的本科生/研究生
- 如学生参加了多个项目,参赛学生选择一个自己参加的项目参与评奖
- 请遵循“2024全国大学生操作系统比赛”的章程和技术方案要求
- gitee @r2018, @tao12345
- email: liyulei@kylinos.cn, taoshusong@kylinos.cn
- 未归类运行时支撑
- 系统维护工具
中
- 需要了解ota升级的概念及原理
- 需要了解linux的rootfs结构及linux应用安装
- 需要了解前后台开发知识
- GPL-3.0
- https://blog.csdn.net/ybhuangfugui/article/details/129035811
- https://www.zhihu.com/tardis/zm/art/407540981?source_id=1005
第一题:升级系统的升级功能实现
- 能够支持linux主要系统文件(initrd,kernel,rootfs)等linux重要文件的版本升级
- 能够保证升级前后用户应用/配置的一致性
- 能够保证升级异常时,检测到异常,并可以回退到系统可用状态
第二题:升级系统基础框架功能实现
以题目一为基础,升级系统需要追加下列功能:
- 实现升级系统管理后台, 主要功能包括:
- 实现升级包管理,支持用户上传升级包,支持升级包校验
- 实现升级任务管理,支持用户提交升级任务,支持升级任务状态查询
- 实现升级日志管理,支持用户升级日志查询
- 实现用户管理,支持用户登录、注册、权限管理
- 实现升级系统客户端功能,主要功能包括:
- 支持升级包校验、下载、安装功能,上报升级状态等
- 支持静默后台强制升级和自动检测升级功能
(可选)第三题:升级模块扩展功能实现
以题目二为基础,升级系统需要追加下列功能:
- 升级功能要有更健壮的异常保护机制,要能兼容电池不足,空间不足,升级中掉电,rootfs/initrd/kernel完全坏掉等情况
- 升级功能要有功能能保证用户应用/配置的兼容性
- 升级功能要能支持uboot和grub两种启动方式
- 升级功能要能支持差分升级,使升级包尽可能小
- 升级系统管理后台要有终端管理,能查询终端的版本及硬件信息
- 升级系统客户端要有安全机制,防止升级后台、升级包等被篡改