CN105260205A - 一种嵌入式板上实现双操作系统启动的方法 - Google Patents

一种嵌入式板上实现双操作系统启动的方法 Download PDF

Info

Publication number
CN105260205A
CN105260205A CN201510645179.0A CN201510645179A CN105260205A CN 105260205 A CN105260205 A CN 105260205A CN 201510645179 A CN201510645179 A CN 201510645179A CN 105260205 A CN105260205 A CN 105260205A
Authority
CN
China
Prior art keywords
subregion
android
linux
recovery
embedded board
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
CN201510645179.0A
Other languages
English (en)
Other versions
CN105260205B (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.)
T-Chip Electronics Technology Co Ltd
Original Assignee
T-Chip Electronics Technology Co Ltd
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 T-Chip Electronics Technology Co Ltd filed Critical T-Chip Electronics Technology Co Ltd
Priority to CN201510645179.0A priority Critical patent/CN105260205B/zh
Publication of CN105260205A publication Critical patent/CN105260205A/zh
Application granted granted Critical
Publication of CN105260205B publication Critical patent/CN105260205B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明为了在嵌入式板卡上实现安卓与Linux双系统的启动与切换,提出了一种双操作系统启动的方法,其操作步包括:初设置步骤、系统切换步骤和还原启动步骤,具体是将Android系统的Recovery分区的急救系统移至其它空闲分区,例如backup分区当中,并写入Linux系统的内核和引导系统,通过修改MISC分区的脚本命令引导切换加载Android系统和Linux系统。本发明的方法确保了对系统的最低限度修改,解决了双系统启动模式存在的移植过程麻烦、成本高等问题,令到嵌入式板卡支持双系统并保留有安卓自有的急救模式,以便安卓系统可以进行恢复出厂设置和OTA升级等操作。

Description

一种嵌入式板上实现双操作系统启动的方法
技术领域
本发明涉及一种嵌入式板上实现双操作系统启动的方法。
背景技术
搭载有安卓操作系统的嵌入式板卡(以下称安卓板卡)应用十分广泛,包括作为显示屏驱动板、平板电脑、电视板、多端口测试板等,安卓系统虽然使用较为便利,界面友好,但其定制和功能扩展性却不如传统的Linux系统。传统的平板电脑仅支持单一系统的启动,即仅搭载安卓系统或Linux系统,无法兼顾两者系统的优势而为开发者和用户提供应用的便利。然而,现有的嵌入式板卡要么只是单独搭载一种操作系统,要么需要进行复杂的双系统植入操作,以实现双系启动,这类的双系统植入操作不但成本高,而且一般是以牺牲原系统中的部分功能为代价的。
对此,本专利技术方案旨于实现对原厂安卓系统的最小限度更改,令其支持双系统启动,并保留安卓自有的急救模式(RecoverySystem)。
发明内容
本发明为了在嵌入式板卡上实现安卓与Linux双系统的启动与切换,提出了一种双操作系统启动的方法,令到嵌入式板卡支持双系统,并保留有安卓自有的急救模式,以便安卓系统可以进行恢复出厂设置和OTA升级等操作。
本发明的具体技术内容如下:
一种嵌入式板上实现双操作系统启动的方法,包括
初设置步骤:
1)于嵌入式板上搭载Android系统,建立有写有Android内核和引导系统的BOOT分区,写有Android内核和急救系统的RECOVERY分区,空闲的BACKUP分区,以及对分区引导设置的MISC分区。
2)将RECOVERY分区内Android的急救系统移至BACKUP分区,并于RECOVERY分区写入Linux内核及其引导系统;
3)系统MISC分区内默认写有指向Android系统的boot命令,令嵌入式板默认加载Android系统;
系统切换步骤:
1)在Android系统下操作,将MISC分区内的boot命令改写成recovery命令,并加入引导Linux系统的标识;
2)重新加载系统,引导加载器Bootloader检查识别MISC分区内的命令:
若为有指向Android系统的boot命令,则加载Android系统;
若为recovery命令,则解压调用RECOVERY分区内引导系统,该引导系统识别该MISC分区内是否存在Linux系统的标识,若有,则启动加载Linux系统,否则加载BACKUP分区里的急救系统进行自救恢复。
进一步的,还包括还原启动步骤:在Linux系统下操作,将MISC分区内容清零,重启后该MISC分区内自动加载指向Android系统的boot命令,从而引导启动Android系统。
进一步的,所述Linux系统为Ubuntu系统。
进一步的,所述引导系统为initramfs根文件系统。
本发明与现有技术相比,其优越性体现在:利用安卓系统本身所支持的双启动模式,以对系统的最少修改实现安卓与Linux双系统的启动与切换,降低复杂性,便于用户或系统开发者进行功能定制和扩展,解决了现有方案中双系统启动模式存在的移植过程麻烦、成本高等问题;同时,还保留有安卓自有的急救模式,以便安卓系统可以进行恢复出厂设置和OTA升级等操作。
附图说明
图1为本发明实现双系统切换的流程图。
图2为本发明实现系统启动自检的流程图。
具体实施方式
如下结合附图,对本申请方案作进一步描述:
一种嵌入式板上实现双操作系统启动的方法,包括
初设置步骤:
1)于嵌入式板上搭载Android系统,建立有写有Android内核和引导系统的BOOT分区,写有Android内核和急救系统的RECOVERY分区,空闲的BACKUP分区,以及对分区引导设置的MISC分区。
2)将RECOVERY分区内Android的急救系统移至BACKUP分区,并于RECOVERY分区写入Linux内核及其引导系统;
3)系统MISC分区内默认写有指向Android系统的boot命令,令嵌入式板默认加载Android系统;
系统切换步骤:
1)在Android系统下操作,将MISC分区内的boot命令改写成recovery命令,并加入引导Linux系统的标识;
2)重新加载系统,引导加载器Bootloader检查识别MISC分区内的命令:
若为有指向Android系统的boot命令,则加载Android系统;
若为recovery命令,则解压调用RECOVERY分区内引导系统,该引导系统识别该MISC分区内是否存在Linux系统的标识,若有,则启动加载Linux系统,否则加载BACKUP分区里的急救系统进行自救恢复。
进一步的,还包括还原启动步骤:在Linux系统下操作,将MISC分区内容清零,重启后该MISC分区内自动加载指向Android系统的boot命令,从而引导启动Android系统。
进一步的,所述Linux系统为Ubuntu系统。
进一步的,所述引导系统为initramfs根文件系统,所述initramfs是固化了的小型根文件系统,内核启动后会将其解压至内存中,并执行其中的init程序进行初始化;也就是说,initramfs是第一个获得执行权的根文件系统,负责挂载真正的根文件系统。
本发明实施的具体举例:
一、Rockchip系列安卓系统的启动流程
1、uboot初始化
1.1uboot读取CPU寄存器,如果有recovery标志,则跳转到3
1.2uboot读取misc分区,如果含有recovery命令,则跳转到3
1.3正常启动模式,跳转到2
2、正常启动模式
2.1加载boot分区
2.1.1如果boot分区含有内核和initramfs,则分别加载到内存特定位置,跳转到2.3(略过kernel分区处理)
2.1.2如果boot分区仅含有initramfs,则加载到内存特定位置。
2.2加载kernel分区到内存特定位置。
2.3跳转到4
3、急救模式
3.1读出recovery分区内含的内核和initramfs,分别加载到内存特定位置,跳转到4
4初始化内核启动参数,将执行权移交内核。
在Linux系统内实现安卓急救系统的部分功能。
这样就可以实现,往misc分区写入“recovery”指令,或开机时按住设备的recovery按钮不接USBOTG线,就可以加载recovery分区存储的Linux系统的内核和initramfs,从而引导Linux系统的根文件系统分区启动,进入Linux系统。如果将misc分区清零,则可以引导kernel和/或boot分区存储的安卓系统的内核和initramfs,从而正常加载安卓系统。
二、利用安卓系统recovery分区引导Linux系统的启动流程:
保留recovery分区为Linux系统的内核和initramfs不变,将安卓系统的急救系统(即原recovery分区里的安卓系统的内核和initramfs)里的initramfs放在backup分区即所述第三分区里,然后修改Linux系统的initramfs里的初始化流程:
1、判断misc分区是否有特殊的标志内容“firefly-linux”,如果没有,则转6。
2、判断backup分区是否含有安卓急救系统的initramfs,如果没有,则转6。
3、提取backup分区的initramfs,解压至/root目录中。
4、将/proc,/sys,/dev等重要的系统目录移到/root中(mount–n–omove)。
5、执行execchroot/root/init命令,将/root目录切换成新的根目录,并执行里面的init程序,从而引导安卓系统本身的急救系统。操作完成。
6、走原有流程,正常加载Linux系统。操作完成。
采用这样的修改,用Linux系统的initramfs有选择地去加载安卓的急救系统,便可以达到要求。Linux系统的initramfs的init程序是shell脚本,修改和调试起来非常方便安卓系统的急救程序无需任何修改。
剩下要做的,就要修改安卓系统的切换系统菜单项,将入切换到Linux系统的特殊标志内容“firefly-linux”写到misc分区即可。如此修改,可以最大程序上兼容原有系统。
上述优选实施方式应视为本申请方案实施方式的举例说明,凡与本申请方案雷同、近似或以此为基础作出的技术推演、替换、改进等,均应视为本专利的保护范围。

Claims (4)

1.一种嵌入式板上实现双操作系统启动的方法,其特征在于,包括
初设置步骤:
1)于嵌入式板上搭载Android系统,建立有写有Android内核和引导系统的BOOT分区,写有Android内核和急救系统的RECOVERY分区,空闲的BACKUP分区,以及对分区引导设置的MISC分区;;
2)将RECOVERY分区内Android的急救系统移至BACKUP分区,并于RECOVERY分区写入Linux内核及其引导系统;
3)系统MISC分区内默认写有指向Android系统的boot命令,令嵌入式板默认加载Android系统;
系统切换步骤:
1)在Android系统下操作,将MISC分区内的boot命令改写成recovery命令,并加入引导Linux系统的标识;
2)重新加载系统,引导加载器Bootloader检查识别MISC分区内的命令:
若为有指向Android系统的boot命令,则加载Android系统;
若为recovery命令,则解压调用RECOVERY分区内引导系统,该引导系统识别该MISC分区内是否存在Linux系统的标识,若有,则启动加载Linux系统,否则加载BACKUP分区里的急救系统进行自救恢复。
2.根据权利要求1所述的嵌入式板上实现双操作系统启动的方法,其特征在于,还包括还原启动步骤:在Linux系统下操作,将MISC分区内容清零,重启后该MISC分区内自动加载指向Android系统的boot命令,从而引导启动Android系统。
3.根据权利要求1所述的嵌入式板上实现双操作系统启动的方法,其特征在于:所述Linux系统为Ubuntu系统。
4.根据权利要求1所述的嵌入式板上实现双操作系统启动的方法,其特征在于:所述引导系统为initramfs根文件系统。
CN201510645179.0A 2015-09-30 2015-09-30 一种嵌入式板上实现双操作系统启动的方法 Active CN105260205B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510645179.0A CN105260205B (zh) 2015-09-30 2015-09-30 一种嵌入式板上实现双操作系统启动的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510645179.0A CN105260205B (zh) 2015-09-30 2015-09-30 一种嵌入式板上实现双操作系统启动的方法

Publications (2)

Publication Number Publication Date
CN105260205A true CN105260205A (zh) 2016-01-20
CN105260205B CN105260205B (zh) 2018-11-06

Family

ID=55099908

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510645179.0A Active CN105260205B (zh) 2015-09-30 2015-09-30 一种嵌入式板上实现双操作系统启动的方法

Country Status (1)

Country Link
CN (1) CN105260205B (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528114A (zh) * 2016-10-25 2017-03-22 北京海誉动想科技股份有限公司 安卓固件应用、安卓固件和固件升级方法
CN107704337A (zh) * 2017-08-22 2018-02-16 北京珠穆朗玛移动通信有限公司 恢复出厂设置的方法、移动终端及具有存储功能的装置
CN108319472A (zh) * 2018-05-08 2018-07-24 上海彭创教育科技有限公司 一种双系统驱动板卡
CN108694051A (zh) * 2018-05-18 2018-10-23 深圳市先河系统技术有限公司 基于双系统的升级方法、装置以及存储装置
CN108845819A (zh) * 2018-08-10 2018-11-20 百度在线网络技术(北京)有限公司 用于设备的程序升级方法和装置
CN108924955A (zh) * 2018-07-30 2018-11-30 山东大骋医疗科技有限公司 一种基于双链无线通信的ct数据传输与控制方法及装置
CN109062617A (zh) * 2018-06-26 2018-12-21 百富计算机技术(深圳)有限公司 一种支持多类型设备的平台的应用方法、移动终端
CN109358871A (zh) * 2018-09-18 2019-02-19 深圳Tcl数字技术有限公司 嵌入式系统设备的应用系统更换方法、装置及存储介质
CN109542524A (zh) * 2018-11-22 2019-03-29 铭软件股份有限公司 一种Linux与安卓相互快速切换方法
CN110134445A (zh) * 2019-04-02 2019-08-16 视联动力信息技术股份有限公司 一种操作系统的切换方法和装置
CN110704116A (zh) * 2019-09-17 2020-01-17 一汽解放汽车有限公司 基于嵌入式处理器的一机多屏系统的实现方法
CN112631669A (zh) * 2020-12-30 2021-04-09 北京天融信网络安全技术有限公司 嵌入式系统启动的方法、装置、计算机设备和介质
CN114637559A (zh) * 2020-12-15 2022-06-17 博泰车联网科技(上海)股份有限公司 显示开机界面的方法、系统、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102469207A (zh) * 2010-11-19 2012-05-23 希姆通信息技术(上海)有限公司 多操作系统手机及其实现方法
CN103024547A (zh) * 2012-12-28 2013-04-03 北京赛科世纪数码科技有限公司 一种启动控制方法、启动控制装置及数字电视机顶盒
CN103593289A (zh) * 2013-11-12 2014-02-19 浪潮齐鲁软件产业有限公司 一种安卓机顶盒生产测试软件的设计方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102469207A (zh) * 2010-11-19 2012-05-23 希姆通信息技术(上海)有限公司 多操作系统手机及其实现方法
CN103024547A (zh) * 2012-12-28 2013-04-03 北京赛科世纪数码科技有限公司 一种启动控制方法、启动控制装置及数字电视机顶盒
CN103593289A (zh) * 2013-11-12 2014-02-19 浪潮齐鲁软件产业有限公司 一种安卓机顶盒生产测试软件的设计方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
BUSYBEE: "Firefly-RK328双系统启动的设计和实现", 《HTTP://DEVELOPER.T-FIREFLY.COMTHREAD-190-1-1.HTML》 *

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106528114B (zh) * 2016-10-25 2022-03-29 北京海誉动想科技股份有限公司 一种安卓固件应用装置和安卓固件升级方法
CN106528114A (zh) * 2016-10-25 2017-03-22 北京海誉动想科技股份有限公司 安卓固件应用、安卓固件和固件升级方法
CN107704337B (zh) * 2017-08-22 2020-08-25 北京珠穆朗玛移动通信有限公司 恢复出厂设置的方法、移动终端及具有存储功能的装置
CN107704337A (zh) * 2017-08-22 2018-02-16 北京珠穆朗玛移动通信有限公司 恢复出厂设置的方法、移动终端及具有存储功能的装置
CN108319472A (zh) * 2018-05-08 2018-07-24 上海彭创教育科技有限公司 一种双系统驱动板卡
CN108694051A (zh) * 2018-05-18 2018-10-23 深圳市先河系统技术有限公司 基于双系统的升级方法、装置以及存储装置
CN109062617A (zh) * 2018-06-26 2018-12-21 百富计算机技术(深圳)有限公司 一种支持多类型设备的平台的应用方法、移动终端
CN108924955A (zh) * 2018-07-30 2018-11-30 山东大骋医疗科技有限公司 一种基于双链无线通信的ct数据传输与控制方法及装置
CN108924955B (zh) * 2018-07-30 2021-12-14 山东大骋医疗科技有限公司 一种基于双链无线通信的ct数据传输与控制方法及装置
CN108845819B (zh) * 2018-08-10 2019-10-18 百度在线网络技术(北京)有限公司 用于设备的程序升级方法和装置
CN108845819A (zh) * 2018-08-10 2018-11-20 百度在线网络技术(北京)有限公司 用于设备的程序升级方法和装置
CN109358871A (zh) * 2018-09-18 2019-02-19 深圳Tcl数字技术有限公司 嵌入式系统设备的应用系统更换方法、装置及存储介质
CN109358871B (zh) * 2018-09-18 2022-11-15 深圳Tcl数字技术有限公司 嵌入式系统设备的应用系统更换方法、装置及存储介质
CN109542524A (zh) * 2018-11-22 2019-03-29 铭软件股份有限公司 一种Linux与安卓相互快速切换方法
CN109542524B (zh) * 2018-11-22 2022-08-05 一铭软件股份有限公司 一种Linux与安卓相互快速切换方法
CN110134445A (zh) * 2019-04-02 2019-08-16 视联动力信息技术股份有限公司 一种操作系统的切换方法和装置
CN110704116A (zh) * 2019-09-17 2020-01-17 一汽解放汽车有限公司 基于嵌入式处理器的一机多屏系统的实现方法
CN114637559A (zh) * 2020-12-15 2022-06-17 博泰车联网科技(上海)股份有限公司 显示开机界面的方法、系统、设备及存储介质
CN114637559B (zh) * 2020-12-15 2023-11-24 博泰车联网科技(上海)股份有限公司 显示开机界面的方法、系统、设备及存储介质
CN112631669A (zh) * 2020-12-30 2021-04-09 北京天融信网络安全技术有限公司 嵌入式系统启动的方法、装置、计算机设备和介质

Also Published As

Publication number Publication date
CN105260205B (zh) 2018-11-06

Similar Documents

Publication Publication Date Title
CN105260205A (zh) 一种嵌入式板上实现双操作系统启动的方法
US8914785B2 (en) Providing virtual appliance system firmware images
CN103826162B (zh) 基于安卓的智能机顶盒的嵌入式系统及其recovery方法
CN103106092A (zh) 终端设备中系统软件升级方法和装置
CN104360877A (zh) 基于Bootloader自更新的ECU固件更新方法
CN106933593B (zh) 一种基于移动终端的系统切换方法和装置
CN104899091B (zh) 一种智能嵌入式设备多操作系统切换方法
CN101251813A (zh) 手机系统恢复装置及其方法
CN103761088A (zh) 一种适用于arm架构移动设备的多操作系统切换方法
CN102880498A (zh) 在安卓系统的装置上虚拟sd卡的方法
KR20130142073A (ko) 모바일 메모리 카드를 사용하여 모바일폰 운영체제를 부팅시키는 방법 및 단말
CN104951328A (zh) 嵌入式设备及其启动方法
CN105677421B (zh) 一种移动终端的桌面启动器的定制方法及系统
CN109582372B (zh) 一种系统的启动方法及装置
WO2012071852A1 (zh) 引导程序的升级方法和装置
CN103077056B (zh) 使用少量ROM资源的Bootlorder实现方法
CN113672296B (zh) 定制应用的切换方法、切换装置、电子设备和存储介质
CN101169729A (zh) 嵌入式系统及其更新应用程序的方法
CN104657161A (zh) 移动终端固件更新方法及装置
CN104866324A (zh) 一种便携操作系统构建方法及便携存储器
CN104951330B (zh) 操作多重操作系统的方法及其电子装置
JP2010044574A (ja) 携帯端末、携帯端末制御方法、及び携帯端末制御プログラム
CN103019833A (zh) 终端设备以及使终端设备支持操作系统快速切换的方法
CN116400938B (zh) 操作系统的升级方法、设备及存储介质
CN102169446A (zh) 一种基于开源系统基本输入输出系统的bios系统和方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 528400 Hongyu Building 1, 2101 Zhongshan four road, East District, Zhongshan, Guangdong, 1

Applicant after: Zhongshan Apocalypse Intelligent Technology Co., Ltd.

Address before: 528400 Hongyu Building 1, 2101 Zhongshan four road, East District, Zhongshan, Guangdong, 1

Applicant before: T-CHIP ELECTRONICS TECHNOLOGY CO., LTD.

GR01 Patent grant
GR01 Patent grant