CN102298531A - 在嵌入式系统中对闪存文件系统进行升级的方法 - Google Patents

在嵌入式系统中对闪存文件系统进行升级的方法 Download PDF

Info

Publication number
CN102298531A
CN102298531A CN2011102662597A CN201110266259A CN102298531A CN 102298531 A CN102298531 A CN 102298531A CN 2011102662597 A CN2011102662597 A CN 2011102662597A CN 201110266259 A CN201110266259 A CN 201110266259A CN 102298531 A CN102298531 A CN 102298531A
Authority
CN
China
Prior art keywords
directory
flash memory
embedded
upgrading
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011102662597A
Other languages
English (en)
Other versions
CN102298531B (zh
Inventor
黄晓辉
李际勇
范成龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Autelan Technology Co ltd
Beijing Hua Xinaotian Network Technology Co ltd
Original Assignee
AUTELAN TECHNOLOGY Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by AUTELAN TECHNOLOGY Inc filed Critical AUTELAN TECHNOLOGY Inc
Priority to CN201110266259.7A priority Critical patent/CN102298531B/zh
Publication of CN102298531A publication Critical patent/CN102298531A/zh
Application granted granted Critical
Publication of CN102298531B publication Critical patent/CN102298531B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供了一种在嵌入式系统中对闪存文件系统进行升级的方法,所述方法包括:将升级用镜像文件下载到内存目录中,并且将升级所需的应用工具复制到所述内存目录下;终止全部与升级无关的应用进程;卸载文件系统,并且将所述内存目录挂载到嵌入式系统的根目录下;在被挂载的根目录下的指定目录中创建初始化文件,并且写入用于执行闪存文件系统升级操作的指令;和发送用于重新启动初始化程序的系统重置信号。其中,根据发送的系统重置信号,嵌入式系统重新运行初始化程序,所述初始化程序根据创建的初始化文件中的指令,执行闪存文件系统升级操作。

Description

在嵌入式系统中对闪存文件系统进行升级的方法
技术领域
本发明涉及一种在嵌入式系统中对闪存文件系统进行升级的方法,尤其涉及一种利用Linux的信号机制来控制重置系统从而执行闪存文件系统的升级的方法。
背景技术
文件系统决定操作系统的数据以及用户数据在存储设备上的组织形式。在嵌入式系统中,其文件系统是嵌入式操作系统用来管理文件操作的功能模块,提供一系列功能强大的数据输入、输出以及管理的接口。标准化的接口保证程序具有层次性并且增加程序的可移植性。
嵌入式文件系统一般采用基于NOR技术的闪存。闪存除了存储数据,还可以存储直接执行的代码。但是,与一般的块设备不同,嵌入式系统中使用的闪存在运行中不能够对同一内存地址写入两次,而必须先进行耗时的擦除操作,并且一次擦除一个扇区,而扇区一般为64K字节。
目前,许多嵌入式系统采用基于Linux的操作系统。图1示出嵌入式Linux系统的分区。参照图2,嵌入式Linux系统分为引导加载程序(bootloader)分区110、用于存储bootloader的环境变量的分区120、Linux内核分区130以及文件系统分区140。
闪存文件系统的升级一般是在启动引导程序(boot)下直接进行升级版本的烧写。首先,进入引导加载程序,将新版本的镜像文件从计算机下载到嵌入式系统开发板内存。然后,擦除相应的闪存空间,再将新版本的镜像文件从开发板内存复制到闪存中的指定位置。使用这种直接升级闪存的方法时,存在这样的问题:由于原文件系统资源没有得到释放,而一些进程往往还在运行,并且升级时用到的命令也都存储在文件系统中,所以如果此时直接使用升级镜像文件覆盖原文件系统的相应文件,容易发生异常情况。
发明内容
本发明的目的在于提供一种在嵌入式系统中对闪存文件系统进行升级的方法,通过使用Linux系统的信号机制对控制重置嵌入式系统从而执行闪存文件系统的升级,从而避免在升级过程中发生异常,并且减少系统重启的次数。
为了实现上述目的,本发明提供一种在嵌入式系统中对闪存文件系统进行升级的方法。所述方法包括:将升级用镜像文件下载到内存目录中,并且将升级所需的应用工具复制到所述内存目录下;终止全部与升级无关的应用进程;卸载文件系统,并且将所述内存目录挂载到嵌入式系统的根目录下;在被挂载的根目录下的指定目录中创建初始化文件,并且写入用于执行闪存文件系统升级操作的指令;和发送用于重新启动初始化程序的系统重置信号。其中,根据发送的系统重置信号,嵌入式系统重新运行初始化程序,所述初始化程序根据创建的初始化文件中的指令,执行闪存文件系统升级操作。
优选地,所述嵌入式系统是嵌入式Linux系统,所述初始化程序是Linux中的init程序,所述初始化文件是Linux的inittab文件,并且使用“kill HUP1”命令来发送系统重置信号。
所述内存目录可以是/tmp目录,并且所述指定目录可以是根目录下的etc目录。
优选地,在执行闪存文件系统升级操作后,提示用户重启系统。
附图说明
通过下面结合附图进行的描述,本发明的上述和其他特点将会变得更加清楚,其中:
图1是示出一般Linux嵌入式系统的分区的示意图;和
图2是示出根据本发明的在嵌入式系统中进行闪存升级的方法的处理的流程图。
具体实施方式
以下,参照附图来详细说明本发明的实施例。
本发明的在嵌入式Linux系统中对闪存进行升级的方法先将升级镜像文件和升级用的应用工具拷贝到内存目录下,将内存目录挂载(mount)到系统的根目录下,然后利用Linux的信号机制来控制闪存升级处理。
在Linux系统中,当Linux的内核初始化完毕后,init程序开始运行,而inittab文件是用于配置init程序的文件。init程序在运行起来后,一直运行,不允许其终止。但是,Linux的系统重置信号能够终止当前运行的init程序,并重新启动新的init程序,本发明正是利用了这种信号机制,在对inittab文件进行用于闪存升级的修改后,通过发送系统重置信号来触发闪存的升级操作。
图2是示出根据本发明的在嵌入式系统中进行闪存升级的方法的处理的流程图。
参照图2,在操作S210,将升级镜像文件下载到内存目录中,并且将执行升级所需的应用工具复制到内存目录下。通常,嵌入式Linux系统启动后,文件系统被挂载到根目录下。内存通常被挂载到/tmp目录下,嵌入式Linux系统可先进入/tmp,嵌入式Linux系统使用tftp将内核镜像文件和文件系统镜像文件下载到/tmp目录中。复制到内存目录下的应用工具包括执行闪存升级需要使用的操作指令、命令以及脚本等。在操作S220,嵌入式Linux系统终止全部与升级无关的应用进程。这里所说的与升级无关的应用进程主要是指,例如用户正在运行的一些应用进程,这些进程与执行闪存升级无关,一般不包括内核运行的系统进程。这样,可以保证在实际执行升级的过程中,在原文件系统中只有与升级相关的应用进程在运行。
在操作S230,嵌入式Linux系统卸载文件系统,并且将内存目录挂载到根目录。这里,嵌入式Linux系统可以使用umount命令来卸载现有的文件系统,释放文件系统的资源;然后,将所述内存目录挂载到根目录作为临时的根目录。
在操作S240,嵌入式Linux系统重建inittab文件,并且在重建的inittab文件中写入用于执行升级操作的指令。
例如,可以使用以下指令:
echo′::sysinit:/bin/firmware-upgrade-stage2′>etc/inittab
假设firmware-upgrade-stage2是用于执行升级文件的闪存烧写操作的文件命令或脚本。上述指令在新挂载的根目录下创建了一个inittab文件,并且写入firmware-upgrade-stage2。根据本发明的示例性实施例,在inittab文件中,还写入其他用于系统启动的指令或命令,如“::restart:/sbin/init”等。
在操作S250,发送系统重置信号给正在运行的init进程。例如,使用以下指令:
exec/usr/sbin/chroot./bin/sh-c′/bin/kill-HUP 1
上述命令导致正在运行的init程序(init的进程为1)终止,并且重新启动新的init程序。重新运行init程序使得整个系统与在操作S230挂载的根目录关联,从而确保闪存升级烧写中从新挂载的根目录(即原内存目录)调取命令,而不是从原根目录调取。
在发送系统重置的信号后,新的init程序在运行中,执行闪存升级烧写的命令或脚本(操作S260),如前述示例中的firmware-upgrade-stage2,将在操作S210下载至原内存目录下的内核镜像文件和文件系统镜像文件分别烧写到Linux内核分区230和文件系统分区240中。
在完成闪存升级烧写后,嵌入式Linux系统可以提示用户重启系统(操作S270)。
可以看出,由在操作S250发送的系统重置信号触发重新启动init程序,进而在init程序运行中根据写入到inittab文件的指令执行操作S270。
根据本发明的在嵌入式系统中对闪存进行升级的方法,通过先将升级镜像文件下载到内存目录,将升级所需的应用工具也复制到内存目录,然后将内存目录临时挂载到根目录,在inittab文件中写入执行升级操作的指令,再发送重置系统的信号,从而在重新运行init程序的过程中,执行闪存的烧写,然后一次重启系统。因此,避免在执行升级时发生异常,并且能够较一般的升级方法少重启系统一次。
本发明不限于上述实施例,在不脱离本发明范围的情况下,可以进行各种变形和修改。

Claims (4)

1.一种在嵌入式系统中对闪存文件系统进行升级的方法,所述方法包括:
将升级用镜像文件下载到内存目录中,并且将升级所需的应用工具复制到所述内存目录下;
终止全部与升级无关的应用进程;
卸载文件系统,并且将所述内存目录挂载到嵌入式系统的根目录下;
在被挂载的根目录下的指定目录中创建初始化文件,并且写入用于执行闪存文件系统升级操作的指令;和
发送用于重新启动初始化程序的系统重置信号,
其中,根据发送的系统重置信号,嵌入式系统重新运行初始化程序,所述初始化程序根据创建的初始化文件中的指令,执行闪存文件系统升级操作。
2.如权利要求1所述的方法,其特征在于,所述嵌入式系统是嵌入式Linux系统,所述初始化程序是Linux中的init程序,所述初始化文件是Linux的inittab文件,并且使用“kill HUP 1”命令来发送系统重置信号。
3.如权利要求2所述的方法,其特征在于,所述内存目录是/tmp目录,并且所述指定目录是根目录下的etc目录。
4.如权利要求1所述的方法,其特征在于,在执行闪存文件系统升级操作后,提示用户重启系统。
CN201110266259.7A 2011-09-08 2011-09-08 在嵌入式系统中对闪存文件系统进行升级的方法 Active CN102298531B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110266259.7A CN102298531B (zh) 2011-09-08 2011-09-08 在嵌入式系统中对闪存文件系统进行升级的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110266259.7A CN102298531B (zh) 2011-09-08 2011-09-08 在嵌入式系统中对闪存文件系统进行升级的方法

Publications (2)

Publication Number Publication Date
CN102298531A true CN102298531A (zh) 2011-12-28
CN102298531B CN102298531B (zh) 2014-08-06

Family

ID=45358967

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110266259.7A Active CN102298531B (zh) 2011-09-08 2011-09-08 在嵌入式系统中对闪存文件系统进行升级的方法

Country Status (1)

Country Link
CN (1) CN102298531B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165525A (zh) * 2018-08-10 2019-01-08 深圳市智微智能科技开发有限公司 一种嵌入式安全存储数据的方法及相关产品
CN109189426A (zh) * 2018-08-29 2019-01-11 郑州云海信息技术有限公司 一种升级方法、装置、存储介质及电子设备
CN112083944A (zh) * 2020-09-11 2020-12-15 深圳爱克莱特科技股份有限公司 Linux设备的系统升级装置及方法
CN113703682A (zh) * 2021-08-26 2021-11-26 杭州华橙软件技术有限公司 文件挂载方法、装置、存储介质及电子装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101004690A (zh) * 2007-01-09 2007-07-25 京信通信技术(广州)有限公司 嵌入式系统加载程序与应用程序一体化更新方法
CN101169726A (zh) * 2007-11-28 2008-04-30 浪潮电子信息产业股份有限公司 基于MTD分区的嵌入式Linux系统在线升级方法
US20090144538A1 (en) * 2007-11-05 2009-06-04 Duda Kenneth J Patch installation at boot time for dynamically installable, piecemeal revertible patches

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101004690A (zh) * 2007-01-09 2007-07-25 京信通信技术(广州)有限公司 嵌入式系统加载程序与应用程序一体化更新方法
US20090144538A1 (en) * 2007-11-05 2009-06-04 Duda Kenneth J Patch installation at boot time for dynamically installable, piecemeal revertible patches
CN101169726A (zh) * 2007-11-28 2008-04-30 浪潮电子信息产业股份有限公司 基于MTD分区的嵌入式Linux系统在线升级方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165525A (zh) * 2018-08-10 2019-01-08 深圳市智微智能科技开发有限公司 一种嵌入式安全存储数据的方法及相关产品
CN109189426A (zh) * 2018-08-29 2019-01-11 郑州云海信息技术有限公司 一种升级方法、装置、存储介质及电子设备
CN112083944A (zh) * 2020-09-11 2020-12-15 深圳爱克莱特科技股份有限公司 Linux设备的系统升级装置及方法
CN113703682A (zh) * 2021-08-26 2021-11-26 杭州华橙软件技术有限公司 文件挂载方法、装置、存储介质及电子装置
CN113703682B (zh) * 2021-08-26 2024-02-23 杭州华橙软件技术有限公司 文件挂载方法、装置、存储介质及电子装置

Also Published As

Publication number Publication date
CN102298531B (zh) 2014-08-06

Similar Documents

Publication Publication Date Title
CN106227579B (zh) 一种Docker容器构建方法及Docker管理控制台
US9384094B2 (en) Method and system for instant restore of system volume from a backup image
CN102270144B (zh) 嵌入式网络设备及其更新固件的方法
KR100778293B1 (ko) 디지털방송처리장치 및 디지털방송처리장치 부트로더의업그레이드 방법
EP2652599B1 (en) System reset
CN102591675B (zh) 使用共享存储块管理多软件镜像的方法和系统
EP3518099B1 (en) Installation of operating system
CN105138382A (zh) 一种Android系统升级的方法及终端
US20140325496A1 (en) Apparatus and method for firmware upgrade using usb
CN105739961B (zh) 一种嵌入式系统的启动方法和装置
CN103746833A (zh) 基于pxe的raid自动配置方法和系统
EP2681654A2 (en) Application compatibility with library operating systems
CN104572229A (zh) 嵌入式系统的固件升级方法以及固件升级装置
CN109408122B (zh) 一种设备启动方法、电子设备和计算机存储介质
CN107533441B (zh) 创建操作系统卷
CN110874237A (zh) 软件升级方法、装置、终端以及可读存储介质
CN103514015A (zh) 一种从存储介质中启动操作系统的方法和装置
CN110007974B (zh) 应用于操作系统启动的方法和装置、及电子设备
CN110597533A (zh) 一种fpga板卡程序更新系统及方法
CN102298531B (zh) 在嵌入式系统中对闪存文件系统进行升级的方法
CN102053848A (zh) Linux操作系统的自动安装方法
CN111433747A (zh) 用于加载操作系统的虚拟存储器
CN111026417A (zh) 一种嵌入式设备的升级方法及嵌入式设备
CN109710297A (zh) 一种设备整体或分模块进行升级和回退方法
KR102429346B1 (ko) 메모리 업그레이드 시스템 및 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: 100193 Beijing city Haidian District Dongbeiwang West Road No. 8 Zhongguancun Software Park Building 5 Building 2 layer Hanvon Technology

Applicant after: BEIJING AUTELAN TECHNOLOGY Co.,Ltd.

Address before: 100085 Beijing City, Haidian District information industry base on the north power creative building D Building 8 layer

Applicant before: Beijing AUTELAN Technology Co.,Ltd.

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: AUTELAN TECHNOLOGY INC. TO: BEIJING AUTELAN TECHNOLOGY CO., LTD.

C14 Grant of patent or utility model
GR01 Patent grant
C41 Transfer of patent application or patent right or utility model
C56 Change in the name or address of the patentee
CP03 Change of name, title or address

Address after: 100193, No. 1, building three, zone 9, Zhongguancun Software Park, 8 West Wang Xi Road, Beijing, Haidian District

Patentee after: Beijing AUTELAN Technology Co.,Ltd.

Address before: 100193 Beijing city Haidian District Dongbeiwang West Road No. 8 Zhongguancun Software Park Building 5 Building 2 layer Hanvon Technology

Patentee before: BEIJING AUTELAN TECHNOLOGY Co.,Ltd.

TR01 Transfer of patent right

Effective date of registration: 20151126

Address after: 100085 Beijing, East Road, No. 1, building on the north side of the building, room 313, room 3

Patentee after: Beijing Hua Xinaotian network technology Co.,Ltd.

Address before: 100193, No. 1, building three, zone 9, Zhongguancun Software Park, 8 West Wang Xi Road, Beijing, Haidian District

Patentee before: Beijing AUTELAN Technology Co.,Ltd.