linux安全模式改文件,嵌入式Linux的安全模式设计 - 嵌入式操作系统 - 电子发烧友网...

本系统的架构如下图:

0bbf5bfe8648a04f11a337d2d56b39ae.png

产品所使用的flash总大小为16M。

系统包括三大部分,即Bootloader,config, kernel + rootfs:

0461b31f1a25343468353c44be20667a.png

另外,/dev/mtdblock/0,在系统中对应整个flash block,即整个16M空间。

系统启动时,bootloader将kernel和根文件映象从flash上读取到RAM空间中,为内核设置启动参数,调用内核,进入applicaTIon,进行媒体文件的播放。

这个通常意义上的嵌入式Linux系统,它是不带safe mode安全模式的。

这样的系统,在做系统更新升级时,主要是对kernel+rootfs部分进行升级,以此来增加系统的功能。

升级时,applicaTIon主要是操作/dev/mtdblock/3设备文件:

第一步:下载新的firmware到ramfs中,也即ram disk中,比如/tmp目录下,采用的更新方式可以是USB或FTP;

第二步:read /tmp/firmware文件,并write到设备文件/dev/mtdblock/3上,即对已有的firmware进行了更新。

在升级的过程中,我们会提供友好的界面给用户,来提示下载进度与烧写flash的进度,让用户可以看到正在发生的状况。

最后烧写完成后,重新启动系统,即可进入到新的firmware中。

在通常的更新中,用户的产品配置config一般不去修改,保持用户已经做的配置选项,不能破坏。Config内容对应为/dev/mtdblock/2设备文件。

从USB/FTP 上更新时,所使用的firmware文件需要是一个更加完整的image文件,可以包括bootloader, default config, kernel+rootfs,并让applicaTIon可以做到视image中的标记来决定是否需要更新bootloader、config等内容,这样会更加灵活。

在更新firmware时,如果掉电,那么kernel + rootfs部分将会出现不完整的情况,也就是说只写入了部分内容,而中途中断了,这样的话,一个不完整的系统将无法正常工作。在这样的情况下就需要safe mode安全模式了。

safe mode架构设计

Safe mode的设计中,对原来的系统增加了两个部分的内容:

kernel + rootfs,即简单的UI界面与功能;

magic number,即烧写flash的标记。

4f76030b51bd296c45082b6ddb54b09d.png

safe mode实际上也是一个kernel + rootfs部分,只是它所具有的功能只包括一些简单的界面,主要是提供网络设置,从USB/FTP下载firmware,完成对flash的烧写。

为了区分,这里,将主功能部分的kernel + rootfs称为master。

我们将safe mode存放在master的后部,预留的flash大小为4M。

Magic number只占用一个字节的大小,是在这4M的最后的部分的一个字节,也即原始系统的15872K的最后一个字节位置处。

在开始烧写flash前,将magic number设置为0x55,表示烧写的开始。烧写正常结束后,将magic number设置为0xAA,表示烧写正常结束。

如果新产品中具备了safe mode模式,那么在以后再次更新升级时,开始烧写flash时,magic number的位置将会有0x55标记,如果烧写中途掉电,在重新启动后,将由Bootloader来检查magic number的值,如果内容为0x55,那么bootloader将从safemode部分读出kernel和根文件映象,再为内核设置启动参数,调用内核,进入safe mode applicaTIon。

如果bootloader读到magic number为0xAA,那么说明master firmware是正常的,就将直接进入master。

所以涉及到safe mode的地方也包括了对bootloader的修改,需要在系统上电阶段也检查safe mode的magic number,这个过程是必不可少的,只有在启动阶段就检查magic number,才能跳过损坏的master系统,进入安全模式,达到恢复系统的目的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/441623.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于arm下的Linux控制,基于ARMuCLinux的网络控制系统设计与实现

引言 随着网络和通信技术的发展,嵌入式系统现已进入高速发展阶段。并在社会各个领域得到了广泛的应用。本文介绍了一种采用ARMuCLinux作为开发平台。实现基于TCP/IP的远程系统监控.从而取代传统单片机来实现数据采集、预处理和通信功能&am…

nodejs 监控linux,linuxServerMonitoring

linux服务器监控平台技术:nodejs vue java mongodb springboot linux shelllinux服务器监控项目,前后端分离vuespringbootmongodb:1、启动前台:使用命令:A 先安装nodejs并配置好环境变量B 先控制台cmd命令切换到项目目…

c语言中short作用,C语言short

C语言short教程C语言short定义详解语法short int varname value;short varname1 value2; //简写形式参数参数描述short int定义 short 类型变量使用的类型。varname变量名。value可选,变量的初始值,该值不可以超过 short 类型的最大值。说明使用 short…

c语言学生对老师的评教系统,学生对老师的评价

学生对老师的评价1、老师授课的方式十分适合我们,他根据本课程知识结构的特点,重点突出,层次分明。理论和实际相结合,透过例题使知识更条理化。但授课速度有点快,来不及记录。2、老师在生活工作中给人的感觉是生活朴素…

【HDU - 1254 】推箱子 (双bfs)

题干: 推箱子是一个很经典的游戏.今天我们来玩一个简单版本.在一个M*N的房间里有一个箱子和一个搬运工,搬运工的工作就是把箱子推到指定的位置,注意,搬运工只能推箱子而不能拉箱子,因此如果箱子被推到一个角上(如图2)那么箱子就不能再被移动了,如果箱子被推到一面墙…

知识点 组合数学 卡特兰数

关于卡特兰数 卡特兰数是一种经典的组合数,经常出现在各种计算中,其前几项为 : 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, 742900, 2674440, 9694845, 35357670, 129644790, 477638700, 1767263190, 6564120420, 24466267020, 914…

Android万能遥控菜单选择添加,Android万能遥控器小应用

在很久很久以前,手机是有红外功能的,后来随着蓝牙技术的成熟,红外逐渐被蓝牙取代,不再是标配了。红外本身还是有些优点,比如操作简便,成本低。要想在手机上添加红外功能,就要外接一个转换模块。…

android studio 库工程,Android Studio 添加已有工程方法

准备工作:修改 excluded-paths和android.iml,修改内容详见下图。(目的:过滤和优先在sourcefolder查找,若没有再到JAR包中查找)BorqsUI/LINUX/android/development/tools/idegen$ mm编译出来:[100% 3/3] Install: out/h…

【HDU - 3951】Coin Game (博弈,猜规律,对称博弈)

题干: After hh has learned how to play Nim game, he begins to try another coin game which seems much easier. The game goes like this: Two players start the game with a circle of n coins. They take coins from the circle in turn and every time…

一加6怎么刷android p6,一加6秒速跟进安卓P 教你尝鲜速成开发者

今年5月份,谷歌在I/O开发者大会上发布了全新的Android P操作系统,而在Android P系统发布后的没多久,一加手机官方就公开承诺,年度旗舰一加手机6将会成为首批次升级谷歌Android P系统的机型。而现在,一加已经开始兑现此…

【CodeForces - 1047B 】Cover Points (数学,构造,思维)

题干: There are nn points on the plane, (x1,y1),(x2,y2),…,(xn,yn)(x1,y1),(x2,y2),…,(xn,yn). You need to place an isosceles triangle with two sides on the coordinate axis to cover all points (a point is covered if it lies inside the triangle …

html5引擎笔试题,最新!HTML5经典面试题型(附答案)

HTML已更新至HTML5,那么HTML5的测试题您也应该知道,这篇文章可以作为您的参考。1.doctype有什么作用呢?如何区分其混合模式和标准模式?所有这些都意味着什么?Doctype的作用是告诉浏览器使用HTML规范的哪个版本来渲染文…

html 弹出加载页面,magnific popup:将整个html页面加载到弹出窗口中

我想用弹出的插件在弹出窗口中加载一个完整的html页面。如果我尝试:Edit images$(#edit-images-btn).magnificPopup({type: ajax});它产生了这个:这在图形上非常符合我的要求,但问题是的内容直接插入到dom中,而不是放在保护性的if…

网页html 图片横向摆放,css实现多张图片横向居中显示的方法

先讲一下实现的步骤:最终效果2. 代码实现HTML部分分类小贴士CSS部分.main{width:100%;margin-top:40px;}.main .tag{margin:0 auto;width:200px;font-size:18px;border-bottom:1px solid #878787;text-align:center;margin-bottom:20px;}.main .images{margin:0 aut…

数论中的无数公式 总结

斯特林公式是一条用来取n阶乘近似值的数学公式。一般来说,当n很大的时候,n阶乘的计算量十分大,所以斯特灵公式十分好用,而且,即使在 n很小的时候,斯特灵公式的取值已经十分准确。 公式为: 以下…

用计算机唱出惊雷,除了《惊雷》还有多少喊麦神曲?这十首神作你一定听过!...

一首《惊雷》可以说是火遍了大江南北,一时间风头无二。而这两天杨坤对《惊雷》的diss、惊雷原唱六道的回应更是成为全网热搜,这也让以《惊雷》为首的“喊麦文化”再次进入了公众的视线。事实上除了《惊雷》,还有不少脍炙人口的喊麦神曲&#…

计算机编程是考研什么专业,程序员考研该不该继续选择计算机专业

首先,近些年来确实有不少程序员会选择通过读研来突破自身的岗位发展瓶颈,大部分程序员在读研后也都获得了岗位升级,还有一部分程序员会继续读博,从而进入到科研和教育领域发展。从当前的技术发展趋势和人才需求趋势来看&#xff0…

黄冈学计算机的学校怎么样,广元市黄冈学校怎么样、好不好

问:广元市黄冈学校怎么样、好不好?答:办学四年多来,学校在上级主管部门考核中一直名列前茅,得到广大学生家长的认可,多次受到上级表彰,被评为“民办教育先进集体”,学校环境优美,是…

【 HDU - 1215 】七夕节(数论,约数和公式)

题干: 七夕节那天,月老来到数字王国,他在城门上贴了一张告示,并且和数字王国的人们说:"你们想知道你们的另一半是谁吗?那就按照告示上的方法去找吧!" 人们纷纷来到告示前,都想知道谁才是自己的另一半.告示如下: 数字N的因子就是所有比N小又能被N整除的…

计算机专业小三门要求,最新小三门选科要求有啥变化?附对比表

原标题:最新小三门选科要求有啥变化?附对比表刚刚,上海市教育考试院公布了2020年拟在沪招生普通高校、军队院校本科专业选考科目要求,让我们今年的选科范围有哪些变化?说明:1 选考范围为不限,说…