• / 8
  • 下載費用:30 金幣  

一種嵌入式板上實現雙操作系統啟動的方法.pdf

摘要
申請專利號:

CN201510645179.0

申請日:

2015.09.30

公開號:

CN105260205A

公開日:

2016.01.20

當前法律狀態:

授權

有效性:

有權

法律詳情: 授權|||著錄事項變更IPC(主分類):G06F 9/445變更事項:申請人變更前:中山市天啟電子科技有限公司變更后:中山市天啟智能科技有限公司變更事項:地址變更前:528400 廣東省中山市東區中山四路57號宏宇大廈1座2101變更后:528400 廣東省中山市東區中山四路57號宏宇大廈1座2101|||實質審查的生效IPC(主分類):G06F 9/445申請日:20150930|||公開
IPC分類號: G06F9/445 主分類號: G06F9/445
申請人: 中山市天啟電子科技有限公司
發明人: 黃其勇; 何俊; 潘雨瑋; 杜靖武; 彭新杰
地址: 528400廣東省中山市東區中山四路57號宏宇大廈1座2101
優先權:
專利代理機構: 中山市銘洋專利商標事務所(普通合伙)44286 代理人: 鄒常友
PDF完整版下載: PDF下載
法律狀態
申請(專利)號:

CN201510645179.0

授權公告號:

|||||||||

法律狀態公告日:

2018.11.06|||2018.10.16|||2016.02.17|||2016.01.20

法律狀態類型:

授權|||著錄事項變更|||實質審查的生效|||公開

摘要

本發明為了在嵌入式板卡上實現安卓與Linux雙系統的啟動與切換,提出了一種雙操作系統啟動的方法,其操作步包括:初設置步驟、系統切換步驟和還原啟動步驟,具體是將Android系統的Recovery分區的急救系統移至其它空閑分區,例如backup分區當中,并寫入Linux系統的內核和引導系統,通過修改MISC分區的腳本命令引導切換加載Android系統和Linux系統。本發明的方法確保了對系統的最低限度修改,解決了雙系統啟動模式存在的移植過程麻煩、成本高等問題,令到嵌入式板卡支持雙系統并保留有安卓自有的急救模式,以便安卓系統可以進行恢復出廠設置和OTA升級等操作。

權利要求書

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根文件系統。

說明書

一種嵌入式板上實現雙操作系統啟動的方法

技術領域

本發明涉及一種嵌入式板上實現雙操作系統啟動的方法。

背景技術

搭載有安卓操作系統的嵌入式板卡(以下稱安卓板卡)應用十分廣泛,包括作為顯示屏驅動板、平板電腦、電視板、多端口測試板等,安卓系統雖然使用較為便利,界面友好,但其定制和功能擴展性卻不如傳統的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分區即可。如此修改,可以最大程序上兼容原有系統。

上述優選實施方式應視為本申請方案實施方式的舉例說明,凡與本申請方案雷同、近似或以此為基礎作出的技術推演、替換、改進等,均應視為本專利的保護范圍。

關 鍵 詞:
一種 嵌入式 實現 操作 系統啟動 方法
  專利查詢網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:一種嵌入式板上實現雙操作系統啟動的方法.pdf
鏈接地址:http://www.rgyfuv.icu/p-6345491.html
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服客服 - 聯系我們

[email protected] 2017-2018 zhuanlichaxun.net網站版權所有
經營許可證編號:粵ICP備17046363號-1 
 


收起
展開
山东11选5中奖结果走势图