CN103761088A - 一种适用于arm架构移动设备的多操作系统切换方法 - Google Patents

一种适用于arm架构移动设备的多操作系统切换方法 Download PDF

Info

Publication number
CN103761088A
CN103761088A CN201410013575.7A CN201410013575A CN103761088A CN 103761088 A CN103761088 A CN 103761088A CN 201410013575 A CN201410013575 A CN 201410013575A CN 103761088 A CN103761088 A CN 103761088A
Authority
CN
China
Prior art keywords
operation system
arm framework
operating system
file
mobile equipment
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.)
Pending
Application number
CN201410013575.7A
Other languages
English (en)
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.)
Central South University
Original Assignee
Central South University
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 Central South University filed Critical Central South University
Priority to CN201410013575.7A priority Critical patent/CN103761088A/zh
Publication of CN103761088A publication Critical patent/CN103761088A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明公开了一种适用于ARM架构移动设备的多操作系统切换方法,属于移动设备的操作系统技术领域。在ARM架构的移动设备开机后,先进行内存、网络设备、看门狗、I/O等设备的初始化,之后进入操作系统选择界面,Bootloader会根据用户选定的操作系统设置相应启动参数,同时向服务器端发送启动中断,服务器截断该中断信号后,会搜索对应的系统内核、文件系统,并将系统内核以文件形式加载到客户端,烧录进既定的Flash分区再启动,文件系统直接采用nfs网络协议挂载到根目录下,完成操作系统的网络启动。本发明无需在ARM架构的移动终端设备上预先安装操作系统,实现了本地无操作系统,而通过网络启动多操作系统的目的。

Description

一种适用于ARM架构移动设备的多操作系统切换方法
技术领域
本发明涉及移动设备的操作系统技术领域,特别是一种适用于ARM架构移动设备的多操作系统切换方法。 
背景技术
ARM架构是一个32位元精简指令集中央处理器架构,由于具有体积小、低功耗、低成本等特点,ARM架构的处理器广泛应用于各种嵌入式设备中,如目前市场上大部分智能手机,平板电脑等移动设备都属于ARM架构。 
现有的ARM架构移动设备上多操作系统切换方法主要有两种,一种是使用虚拟机方法,另一种是同一设备上预装多个操作系统的方法。 
使用虚拟机的方法,先在硬件设备上安装虚拟机所需要的Host操作系统和虚拟机管理软件,再安装所需运行的多操作系统,在虚拟机管理软件的支持下,实现多操作系统的切换。缺点在于Host操作系统和虚拟机管理软件均大量占用系统资源,且需预装操作系统。 
另一种在同一设备上预装多个操作系统的方法,需要预先将存储器进行分区,将需要安装的操作系统镜像文件存储在不同的分区上,操作系统启动前进行分区的选择。缺点主要在于所选择的操作系统需要预先安装好,对硬件的存储空间也有一定的要求。 
发明内容
本发明所要解决的技术问题是,针对现有技术不足,提供一种适用于ARM架构移动设备的多操作系统切换方法,不需要在移动设备上预安装或存储任何操作系统,即可利用服务器端启动所需要的操作系统,实现多操作系统支持和切换。 
为解决上述技术问题,本发明所采用的技术方案是:一种适用于ARM架构移动设备的多操作系统切换方法,该方法为: 
1)在ARM架构智能移动设备的Boot loader层设计操作系统选择的图形用户界面;
2)在ARM架构智能移动设备的Boot loader层移植LCD驱动,在LCD上显示上述图形用户界面,并通过LCD选择需要启动的操作系统;
3)在ARM架构智能移动设备的Boot loader中移植无线网卡驱动,使ARM架构智能移动设备与服务器端建立网络连接,使用文件传输协议加载操作系统内核到ARM架构智能移动设备;
4)对ARM架构智能移动设备的Flash进行分区,为不同的操作系统划分专用的Flash区域;
5)在Boot loader中写入不同操作系统引导代码,将需要启动的操作系统内核从服务器下载到内存中,然后从内存中加载到相应的Flash分区中执行,采用nfs网络协议将需要启动的操作系统的文件系统直接挂载在nfs共享目录下,完成操作系统启动;
6)在服务器上配置好tftp和nfs网络服务,采用tftp和nfs网络协议为ARM架构智能移动设备端提供服务,通过配置网络服务环境,为用户提供各种服务;
7)编译经以上步骤1)~步骤6)修改过后的Boot loader,并将编译后的Boot loader下载到Flash的Boot loader分区内。
所述步骤3)中,使用tftp文件传输协议加载操作系统内核到ARM架构智能移动设备。 
与现有技术相比,本发明所具有的有益效果为:本发明可以在一个没有预装操作系统的ARM架构移动通信设备上,通过图形界面选择所需启动的操作系统,进而从服务器端加载内核并启动,实现了多操作系统的支持和切换,而且操作系统运行在移动通信设备上,但所有程序和数据存储在服务器端,这种本地计算,远程存储的模式,具有较好的数据安全性。 
附图说明
图1为本发明一实施例方法流程图; 
图2 为LCD驱动流程图; 
图3 本发明一实施例网卡驱动主程序流程图;
图4 本发明一实施例网卡驱动中断服务程序流程图; 
图5 为NAND Flash分区结构图;
图6 为引导程序流程图;
图7为本发明一实施例移动设备NAND Flash分区结构图。
具体实施方式
本发明的总体思路为:在ARM架构的移动设备开机后,先进行内存、网络设备、看门狗、I/O等设备的初始化,之后进入操作系统选择界面,Bootloader会根据用户选定的操作系统设置相应启动参数,同时向服务器端发送启动中断,服务器截断该中断信号后,会搜索对应的系统内核、文件系统,并将系统内核以文件形式加载到客户端,烧录进既定的Flash分区再启动,文件系统直接采用nfs网络协议挂载到根目录下,完成操作系统的网络启动。 
本发明具体步骤如下: 
S1:在ARM架构智能移动设备的Boot loader层设计一个操作系统选择的图形用户界面:在Boot loader层添加开机图形用户界面,显示可选的多操作系统列表,添加菜单和按键选择功能,增强人机交互性。
S2:在ARM架构智能移动设备的Boot loader层移植LCD驱动:参照附图2,在Boot loader层增加LCD驱动程序,在LCD上显示S1的图形用户界面,用户通过LCD按键选择所需要启动的操作系统。 
S3:在ARM架构智能移动设备的Boot loader中移植无线网卡驱动:参照附图3和附图4,在Boot loader中增加无线网卡驱动,实现在无操作系统的情况下与服务器端建立网络连接,然后使用tftp文件传输协议加载操作系统内核到移动设备。 
S4:对ARM架构智能移动设备的Flash进行分区:使用Flash分区技术,为不同的操作系统划分专用的Flash区域,用于引导系统时能正确启动需要的操作系统,并且在分区时需要充分考虑到不同系统对Flash的使用和影响,将Boot loader置于Flash的开始部分、操作系统内核通常放在文件系统之前。 
S5:设计引导程序管理机制,对完成S4以后所形成的多个分区进行管理,参照附图5,实现多系统支持:不同系统的启动参数以及环境变量并不相同,Boot loader中要先写好不同操作系统引导代码,参照附图6,当用户选择某一系统时,通过启动这一系统的引导代码,传递系统启动参数,在Flash中无任何操作系统镜像的情况下,将该系统内核通过网络从服务器下载到内存中,从内存中加载到相应的Flash分区中执行,完成系统启动。 
S6:设置服务器端和网络环境:准备一台PC作为服务器,事先配置好tftp和nfs网络服务,采用tftp和nfs网络协议为移动设备端提供资源存储和管理、用户管理、系统监控等服务,通过配置网络服务环境,建立用户目录来配合客户端为用户提供操作系统、应用管理等各种服务。 
S7:编译运行:将经过以上六个步骤修改过后的Boot loader进行编译,并下载到Flash的Boot loader分区内。 
完成以上七个步骤便可上电启动,运行Boot loader,进入图形用户界面,Boot loader会根据用户选定的操作系统设置相应启动参数,同时向服务器端发送启动中断,服务器截断该中断信号后,会搜索对应的系统内核、文件系统,并以文件形式加载到客户端,烧录进Flash分区再启动,文件系统直接采用nfs协议挂载到根目录下,完成操作系统的网络启动。 
以下结合具体实例说明本发明的方法。 
该实例采用型号为OK6410的一款ARM架构智能移动终端开发板作为移动设备,该开发板可用于开发平板电脑、手机等,硬件配置为:ARM架构CPU,型号为S3C6410;无线网卡,型号Marvell 8686;按键模块;存储模块为2G容量的NAND Flash。采用Uboot作为具体的Boot loader层实例;使用上述S1~S7的步骤,实现在未安装任何操作系统的情况下,对Linux和Android两个常用的嵌入式系统进行支持和切换。具体实施步骤如图1中的S1~ S7所示。 
实例S1:在Uboot中添加图形用户界面:找一个jpeg文件,通过命令行处理为8bit的bmp图片。将bmp文件放入/tools/logos中,并修改Makefile文件,替换相关bmp文件名,修改配置文件。在Uboot的main函数中添加几组switch语句用来选择按键,准备转入启动部分代码。 
实例S2:在Uboot启动之后,进入到菜单选择界面。这里要添加一个LCD驱动模块:在driver/video目录下新建s3c6410_fb.c,用来设置与LCD相关的寄存器,并修改相关配置文件。 
实例S3:引用驱动移植技术,在带有SDIO接口驱动的Uboot上移植网卡驱动程序,进入board /smdk6410.c目录,将默认网卡驱动替换成无线网卡Marvell8686的驱动,并修改相关配置文件,这样就添加了对无线网卡的支持,为后续网络启动和引导操作系统做铺垫。 
实例S4:参照附图7,该方法中引用了NAND Flash分区技术,对Flash存储器进行区域划分,将Flash上第一个2M空间留给客户端启动引导程序,即修改过的Uboot,随后5M是Linux的操作系统内核分区,再5M是Android的操作系统内核分区。 
实例S5:客户端Uboot设置bootargs启动参数:通过tftp协议,将Android/Linux系统内核下载到本地SDRAM中运行,再通过nfs协议,挂载服务器端的根文件系统。设置启动参数内容包括nfs共享目录,服务器和客户端的ip设置,tftp下载地址,启动地址等。Android/Linux系统的nfs共享目录在服务器端的nfs目录下,tftp下载地址在0x50008000,使用bootm命令进行启动。 
实例S601:在装有Linux系统的服务器上安装tftp和nfs服务,tftp服务文件目录为/tftproot,nfs共享目录为/nfs。 
实例S602:将Android和Linux的内核镜像拷贝到服务器端/tftproot路径下,将文件系统拷贝到/nfs路径下。 
实例S7:编译经过以上步骤修改过后的Uboot代码,并将Uboot镜像文件拷入到NAND Flash的前2M空间内。 

Claims (4)

1.一种适用于ARM架构移动设备的多操作系统切换方法,其特征在于,该方法为:
1)在ARM架构智能移动设备的Boot loader层设计操作系统选择的图形用户界面;
2)在ARM架构智能移动设备的Boot loader层移植LCD驱动,在LCD上显示上述图形用户界面,并通过LCD选择需要启动的操作系统;
3)在ARM架构智能移动设备的Boot loader中移植无线网卡驱动,使ARM架构智能移动设备与服务器端建立网络连接,使用文件传输协议加载操作系统内核到ARM架构智能移动设备;
4)对ARM架构智能移动设备的Flash进行分区,为不同的操作系统划分专用的Flash区域;
5)在Boot loader中写入不同操作系统引导代码,将需要启动的操作系统内核从服务器下载到内存中,然后从内存中加载到相应的Flash分区中执行,采用nfs网络协议将需要启动的操作系统的文件系统直接挂载在nfs共享目录下,完成操作系统启动;
6)在服务器上配置好tftp和nfs网络服务,采用tftp和nfs网络协议为ARM架构智能移动设备端提供服务,通过配置网络服务环境,为用户提供各种服务;
7)编译经以上步骤1)~步骤6)修改过后的Boot loader,并将编译后的Boot loader下载到Flash的Boot loader分区内。
2.根据权利要求1所述的适用于ARM架构移动设备的多操作系统切换方法,其特征在于,所述步骤3)中,使用tftp文件传输协议加载操作系统内核到ARM架构智能移动设备。
3.根据权利要求1所述的适用于ARM架构移动设备的多操作系统切换方法,其特征在于,所述ARM架构移动设备型号为OK6410;Boot loader采用Uboot。
4.根据权利要求3所述的适用于ARM架构移动设备的多操作系统切换方法,其特征在于,对Linux和Android两个嵌入式系统进行切换的方法如下:
1)在Uboot中添加图形用户界面:找一个jpeg文件,通过命令行处理为8bit的bmp图片;将bmp文件放入/tools/logos中,并修改Makefile文件,替换相关bmp文件名,修改配置文件;在Uboot的main函数中添加多组switch语句用来选择按键,准备转入启动部分代码;
2)在Uboot启动之后,进入到菜单选择界面;添加一个LCD驱动模块;
3)引用驱动移植技术,在带有SDIO接口驱动的Uboot上移植网卡驱动程序,将默认网卡驱动替换成无线网卡Marvell8686的驱动,并修改相关配置文件;
4)利用NAND Flash分区技术对Flash存储器进行区域划分,将Flash上第一个2M空间留给客户端启动引导程序,即修改过的Uboot;
5)客户端Uboot设置bootargs启动参数:通过tftp协议,将Android/Linux系统内核下载到本地SDRAM中运行,再通过nfs协议,挂载服务器端的根文件系统;
6)在装有Linux系统的服务器上安装tftp和nfs服务,tftp服务文件目录为/tftproot,nfs共享目录为/nfs;
7)将Android和Linux的内核镜像拷贝到服务器端/tftproot路径下,将Android和Linux的文件系统拷贝到/nfs路径下;
8)编译经过以上步骤修改过后的Uboot代码,并将Uboot镜像文件拷入到NAND Flash的前2M空间内。
CN201410013575.7A 2014-01-13 2014-01-13 一种适用于arm架构移动设备的多操作系统切换方法 Pending CN103761088A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410013575.7A CN103761088A (zh) 2014-01-13 2014-01-13 一种适用于arm架构移动设备的多操作系统切换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410013575.7A CN103761088A (zh) 2014-01-13 2014-01-13 一种适用于arm架构移动设备的多操作系统切换方法

Publications (1)

Publication Number Publication Date
CN103761088A true CN103761088A (zh) 2014-04-30

Family

ID=50528332

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410013575.7A Pending CN103761088A (zh) 2014-01-13 2014-01-13 一种适用于arm架构移动设备的多操作系统切换方法

Country Status (1)

Country Link
CN (1) CN103761088A (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104239039A (zh) * 2014-09-03 2014-12-24 来安县新元机电设备设计有限公司 一种系统切换的方法、移动终端和服务器
CN104375911A (zh) * 2014-11-24 2015-02-25 上海盈方微电子有限公司 一种基于安卓平台工程模式的快速安卓整机功能检测方法
CN104516762A (zh) * 2015-01-16 2015-04-15 浪潮电子信息产业股份有限公司 一种多个服务器操作系统共存的安装方法
CN105045621A (zh) * 2015-07-14 2015-11-11 河南科技大学 基于链式引导和动态修改分区表的任意多系统的安装方法
CN105224402A (zh) * 2015-09-11 2016-01-06 上海斐讯数据通信技术有限公司 一种多系统快速切换方法及系统
CN105635818A (zh) * 2015-12-18 2016-06-01 小米科技有限责任公司 启动方法及装置
WO2017092681A1 (zh) * 2015-12-01 2017-06-08 华为技术有限公司 一种界面处理方法、电子设备及图形用户界面
WO2018210063A1 (zh) * 2017-05-17 2018-11-22 华为技术有限公司 一种终端系统启动方法及终端
CN109561088A (zh) * 2018-11-29 2019-04-02 山东超越数控电子股份有限公司 一种网络隔离系统以及设备
WO2019078795A3 (en) * 2017-09-29 2019-06-06 Netaş Telekomüni̇kasyon Anoni̇m Şi̇rketi̇ Method for simultaneous operation of a plurality of operating systems on mobile devices
CN110837376A (zh) * 2019-10-28 2020-02-25 天津七一二通信广播股份有限公司 用于无线平面调车系统设备的linux系统及引入方法
CN111158273A (zh) * 2019-12-20 2020-05-15 中核控制系统工程有限公司 一种无操作系统的安全显示界面实现方法
CN113342475A (zh) * 2021-07-05 2021-09-03 统信软件技术有限公司 一种服务器集群构建方法、计算设备及存储介质
CN114489702A (zh) * 2022-01-29 2022-05-13 北京有竹居网络技术有限公司 安装操作系统的方法、装置、介质以及电子设备
WO2023246594A1 (zh) * 2022-06-21 2023-12-28 中兴通讯股份有限公司 终端、操作系统切换方法、存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101000566A (zh) * 2006-01-12 2007-07-18 三星电子株式会社 操作系统切换设备和操作系统切换方法
EP2527975A1 (en) * 2011-05-23 2012-11-28 Devon IT, Inc. Set-up of a thin client computer
CN103024545A (zh) * 2012-12-26 2013-04-03 深圳市九洲电器有限公司 一种机顶盒的操作系统启动方法及机顶盒、服务器
CN103079107A (zh) * 2012-12-25 2013-05-01 深圳市九洲电器有限公司 机顶盒的操作系统的加载方法及机顶盒

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101000566A (zh) * 2006-01-12 2007-07-18 三星电子株式会社 操作系统切换设备和操作系统切换方法
EP2527975A1 (en) * 2011-05-23 2012-11-28 Devon IT, Inc. Set-up of a thin client computer
CN103079107A (zh) * 2012-12-25 2013-05-01 深圳市九洲电器有限公司 机顶盒的操作系统的加载方法及机顶盒
CN103024545A (zh) * 2012-12-26 2013-04-03 深圳市九洲电器有限公司 一种机顶盒的操作系统启动方法及机顶盒、服务器

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104239039A (zh) * 2014-09-03 2014-12-24 来安县新元机电设备设计有限公司 一种系统切换的方法、移动终端和服务器
CN104375911A (zh) * 2014-11-24 2015-02-25 上海盈方微电子有限公司 一种基于安卓平台工程模式的快速安卓整机功能检测方法
CN104516762A (zh) * 2015-01-16 2015-04-15 浪潮电子信息产业股份有限公司 一种多个服务器操作系统共存的安装方法
CN105045621A (zh) * 2015-07-14 2015-11-11 河南科技大学 基于链式引导和动态修改分区表的任意多系统的安装方法
CN105045621B (zh) * 2015-07-14 2018-04-13 河南科技大学 基于链式引导和动态修改分区表的任意多系统的安装方法
CN105224402A (zh) * 2015-09-11 2016-01-06 上海斐讯数据通信技术有限公司 一种多系统快速切换方法及系统
CN106815497B (zh) * 2015-12-01 2019-04-23 华为终端(东莞)有限公司 一种界面处理方法、电子设备及图形用户界面
WO2017092681A1 (zh) * 2015-12-01 2017-06-08 华为技术有限公司 一种界面处理方法、电子设备及图形用户界面
CN106815497A (zh) * 2015-12-01 2017-06-09 华为终端(东莞)有限公司 一种界面处理方法、电子设备及图形用户界面
US20180276012A1 (en) * 2015-12-01 2018-09-27 Huawei Technologies Co., Ltd. Interface processing method, electronic device, and graphical user interface
US10853098B2 (en) * 2015-12-01 2020-12-01 Huawei Technologies Co., Ltd. Interface processing method, electronic device, and graphical user interface
CN105635818A (zh) * 2015-12-18 2016-06-01 小米科技有限责任公司 启动方法及装置
WO2018210063A1 (zh) * 2017-05-17 2018-11-22 华为技术有限公司 一种终端系统启动方法及终端
WO2019078795A3 (en) * 2017-09-29 2019-06-06 Netaş Telekomüni̇kasyon Anoni̇m Şi̇rketi̇ Method for simultaneous operation of a plurality of operating systems on mobile devices
CN109561088A (zh) * 2018-11-29 2019-04-02 山东超越数控电子股份有限公司 一种网络隔离系统以及设备
CN110837376A (zh) * 2019-10-28 2020-02-25 天津七一二通信广播股份有限公司 用于无线平面调车系统设备的linux系统及引入方法
CN111158273A (zh) * 2019-12-20 2020-05-15 中核控制系统工程有限公司 一种无操作系统的安全显示界面实现方法
CN111158273B (zh) * 2019-12-20 2021-04-13 中核控制系统工程有限公司 一种无操作系统的安全显示界面实现方法
CN113342475A (zh) * 2021-07-05 2021-09-03 统信软件技术有限公司 一种服务器集群构建方法、计算设备及存储介质
CN113342475B (zh) * 2021-07-05 2024-03-01 统信软件技术有限公司 一种服务器集群构建方法、计算设备及存储介质
CN114489702A (zh) * 2022-01-29 2022-05-13 北京有竹居网络技术有限公司 安装操作系统的方法、装置、介质以及电子设备
CN114489702B (zh) * 2022-01-29 2023-09-15 北京有竹居网络技术有限公司 安装操作系统的方法、装置、介质以及电子设备
WO2023246594A1 (zh) * 2022-06-21 2023-12-28 中兴通讯股份有限公司 终端、操作系统切换方法、存储介质

Similar Documents

Publication Publication Date Title
CN103761088A (zh) 一种适用于arm架构移动设备的多操作系统切换方法
CN101763279B (zh) 一种BootLoader架构设计方法
EP2675110B1 (en) Method, system and terminal for system update between mobile communication terminals
CN106201563B (zh) 启动参数的配置方法和装置、主板启动的方法和装置
US10922123B2 (en) Container migration in computing systems
CN103885833B (zh) 一种资源管理方法和系统
CN103917949A (zh) 使用管理引擎的部件更新
CN102902556A (zh) 一种嵌入式设备的多级引导加载方法
CN103282883A (zh) 在webtop应用托盘中显示安卓应用启动器的系统和方法
US20160239321A1 (en) Supporting multiple operating system environments in computing device without contents conversion
US10684838B2 (en) Dynamic application deployment
CN101493781A (zh) 一种虚拟机系统及其启动方法
CN110753088B (zh) 一种系统部署方法及装置
KR101673299B1 (ko) 운영 시스템 복구 방법 및 장치, 그리고 단말기기
CN103853586A (zh) 一种在uefi层实现无线网卡驱动的方法
WO2021136200A1 (zh) 引导程序的加载方法、存储介质及嵌入式终端
CN103777981A (zh) 一种适用于x86架构的多操作系统远程加载实现方法
CN103853557A (zh) 一种用Uboot网络启动WinCE的方法
CN104202332A (zh) 基于Linux内核的移动设备虚拟化系统及即时安装方法
CN102073524B (zh) 一种无线通讯终端及其自启动的方法
WO2022199335A1 (zh) 服务器部件固件升级的控制方法、装置、设备及存储介质
CN104318091A (zh) 一种基于虚拟化计算机系统的小卫星地面测试方法
CN109710297B (zh) 一种设备整体或分模块进行升级和回退方法
Datta Android stack integration in embedded systems
CN104809021A (zh) 多重作业环境服务的管理系统及管理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned
AD01 Patent right deemed abandoned

Effective date of abandoning: 20171208