色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

OpenHarmony富設備移植指南(2)從postmarketOS獲取移植資源

開鴻智谷 ? 2023-02-08 10:58 ? 次閱讀

開篇引言

安卓設備的引導需要boot.img鏡像,其中含有內核鏡像,設備樹,boot配置文件,initrd.img根文件系統鏡像,開發板因為是開發用途,系統引導基本沒有限制,而成品安卓手機往往有各種限制,我們需要通過刷入postmarketOS進行確認手機是否可以啟動第三方系統,從中獲取引導啟動的相關信息以及文件,并仿照postmarketOS的引導鏡像創建我們自己的引導鏡像。

1,準備postmarketOS編譯環境

參照??pmbootstrap - postmarketOS?? 中的 Installation -- From git 準備編譯環境

  1. $ git clone https://git.sr.ht/~postmarketos/pmbootstrap
  2. $ mkdir -p ~/.local/bin
  3. $ ln -s "$PWD/pmbootstrap/pmbootstrap.py" ~/.local/bin/pmbootstrap
  4. $ pmbootstrap --version
  5. 1.50.1

2,執行初始化

  1. 1. pmbootstrap init
OpenHarmony富設備移植指南(2)從postmarketOS獲取移植資源-開源基礎軟件社區

或者替換使用鏡像源,不然會有網絡問題,需要替換兩個鏡像源地址,postmarketOS鏡像,和Alpine Linux鏡像

使用以下命令設置設置成清華源進行初始化,也可以根據鏡像源列表找自己喜歡的設置

  1. 1. pmbootstrap --mirror-pmOS https://mirrors.tuna.tsinghua.edu.cn/postmarketOS/ --mirror-alpine https://mirrors.tuna.tsinghua.edu.cn/alpine/


postmarketOS鏡像源列表:??postmarketOS // Official postmarketOS Mirrors??

Alpine Linux鏡像源列表:??Mirror health (alpinelinux.org)?

3,編譯安卓格式的刷機包

  1. 1. pmbootstrap install --android-recovery-zip

編譯時間會比較長,中間會提示創建進入手機系統的新密碼

如果中途出現錯誤,可以重試幾次,仍然不行的話刪除整個work目錄,重新執行初始化再編譯刷機包,最終結果如下

OpenHarmony富設備移植指南(2)從postmarketOS獲取移植資源-開源基礎軟件社區

4,導出刷機包

  1. 1. pmbootstrap export
OpenHarmony富設備移植指南(2)從postmarketOS獲取移植資源-開源基礎軟件社區

執行以下命令找到刷機包位置

cd $(dirname $(readlink /tmp/postmarketOS-export/pmos-*.zip))

OpenHarmony富設備移植指南(2)從postmarketOS獲取移植資源-開源基礎軟件社區

至此拿到刷機包

OpenHarmony富設備移植指南(2)從postmarketOS獲取移植資源-開源基礎軟件社區

查找資料的時候有參考這篇文章的方案二部分,在此貼出

??手機運行Docker: 從修改內核到刷入原生Linux | yzddMr6's Blog??

5,刷入手機驗證并獲取芯片控制器名稱

音量上+電源開機進入twrp(twrp的安裝是搞機必備,網上教程很多,在此不再重復)

??小米(Mi) 6小米(Mi) 6 手機刷 TWRP 方法,刷三方Recovery方法(解決卡米問題)刷機解鎖 (onfix.cn)???

點擊安裝

OpenHarmony富設備移植指南(2)從postmarketOS獲取移植資源-開源基礎軟件社區

點擊刷機包

OpenHarmony富設備移植指南(2)從postmarketOS獲取移植資源-開源基礎軟件社區

確認刷入

OpenHarmony富設備移植指南(2)從postmarketOS獲取移植資源-開源基礎軟件社區

刷機會出現錯誤,不用管

OpenHarmony富設備移植指南(2)從postmarketOS獲取移植資源-開源基礎軟件社區

刷完重啟,等待一段時間直到顯示welcome信息

OpenHarmony富設備移植指南(2)從postmarketOS獲取移植資源-開源基礎軟件社區

輸入用戶名:user,密碼:自己之前設置的,進入系統

OpenHarmony富設備移植指南(2)從postmarketOS獲取移植資源-開源基礎軟件社區

至此確認手機正常運行Linux系統,顯示,觸摸等正常工作。

6,解包獲取移植需要的資料

解包獲取的資料:

bootimg.cfg:boot分區配置信息,內核啟動參數

config:默認內核編譯配置,后續適配內核在此基礎進行變更

firmware:啟動加載必須的驅動固件文件

右鍵解壓縮pmos-xiaomi-sagit.zip得到pmos-xiaomi-sagit

OpenHarmony富設備移植指南(2)從postmarketOS獲取移植資源-開源基礎軟件社區

同樣使用右鍵解壓縮rootfs.tar.gz得到rootfs,在rootfs/boot文件夾拿到boot.img和內核編譯的config配置

OpenHarmony富設備移植指南(2)從postmarketOS獲取移植資源-開源基礎軟件社區

安裝安卓boot打包解包工具:

  1. sudo apt update
  2. sudo apt install abootimg

把boot.img復制到任意的文件夾,然后使用以下命令解包:

  1. 1. abootimg -x boot.img

得到boot分區配置bootimg.cfg

OpenHarmony富設備移植指南(2)從postmarketOS獲取移植資源-開源基礎軟件社區

查看initrd.img文件格式為gzip壓縮文件

OpenHarmony富設備移植指南(2)從postmarketOS獲取移植資源-開源基礎軟件社區

使用gzip解壓,發現解壓失敗,原因為后綴名不支持,我們使用mv命令復制initrd.img為initrd.img.gz,然后使用解壓命令就可以成功解壓了,解壓后原來的initrd.img會被解壓出的文件替換掉,這時initrd.img的格式為cpio鏡像文件

OpenHarmony富設備移植指南(2)從postmarketOS獲取移植資源-開源基礎軟件社區

使用cpio解壓initrd.img鏡像

  1. 1. cpio -idmv < initrd.img

得到我們需要的boot階段所必須的固件firmware,后面要編譯進OH的ramdisk鏡像中

OpenHarmony富設備移植指南(2)從postmarketOS獲取移植資源-開源基礎軟件社區

7,獲取正常啟動的log

參考上面手機運行docker那篇文章,用usb連接電腦,設置好驅動

打開命令提示符,使用ssh連接Linux,ip是固定的172.16.42.1

  1. 1. ssh user@172.16.42.1

OpenHarmony富設備移植指南(2)從postmarketOS獲取移植資源-開源基礎軟件社區

輸入dmesg打印輸出內核log,這個是正常的內核啟動log,復制下來保存好以便移植時啟動出錯或者驅動有問題時方便進行對照

  1. 1. dmesg

OpenHarmony富設備移植指南(2)從postmarketOS獲取移植資源-開源基礎軟件社區

8,獲取設備名,分區信息

連接Linux,輸入以下命令獲取信息

獲取USB控制器名稱,后面移植hdc連接程序會用到

  1. ls /sys/class/udc/
  2. a800000.usb

獲取存儲控制器名稱,后面配置分區會用到

  1. ls /sys/devices/platform/soc

暫時判斷1da4000.ufshc為存儲控制器名稱

OpenHarmony富設備移植指南(2)從postmarketOS獲取移植資源-開源基礎軟件社區

重啟,進入twrp,輸入以下命令進入recovery的shell

  1. 1. adb shell

OpenHarmony富設備移植指南(2)從postmarketOS獲取移植資源-開源基礎軟件社區

輸入以下命令可以交叉確認1da4000.ufshc為存儲控制器名稱

  1. 1. ls dev/block/platform/soc/

OpenHarmony富設備移植指南(2)從postmarketOS獲取移植資源-開源基礎軟件社區

獲取分區信息

  1. 1. ls -al /dev/block/platform/soc/1da4000.ufshc/by-name/

OpenHarmony富設備移植指南(2)從postmarketOS獲取移植資源-開源基礎軟件社區OpenHarmony富設備移植指南(2)從postmarketOS獲取移植資源-開源基礎軟件社區OpenHarmony富設備移植指南(2)從postmarketOS獲取移植資源-開源基礎軟件社區

手機上勾選掛載vendor分區

OpenHarmony富設備移植指南(2)從postmarketOS獲取移植資源-開源基礎軟件社區

  1. 1. df -h

OpenHarmony富設備移植指南(2)從postmarketOS獲取移植資源-開源基礎軟件社區

確認vendor分區對應到sde42 -> cust

system分區因為安裝pmOS的緣故無法掛載,但是可以確定分區映射關系是,

/dev/block/platform/soc/1da4000.ufshc/by-name/cust ---> sde42 ---> vendor

/dev/block/platform/soc/1da4000.ufshc/by-name/system ---> sde43 ---> system

/dev/block/platform/soc/1da4000.ufshc/by-name/userdata --->sda17 ---> data

至此移植需要提前準備的信息基本講完,下篇開始講解OpenHarmony編譯的部分,敬請期待

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 開發板
    +關注

    關注

    25

    文章

    5067

    瀏覽量

    97589
  • OpenHarmony
    +關注

    關注

    25

    文章

    3725

    瀏覽量

    16368
收藏 人收藏

    評論

    相關推薦

    多平臺FPGA工程快速移植與構建

    作為一名FPGA工程師,經常需要在多個FPGA設備之間移植項目,核心的問題是IP的管理和移植,今天通過安裝和使用 FuseSoC 在多個 AMD FPGA 之間移植一個簡單的項目。
    的頭像 發表于 11-20 16:12 ?916次閱讀
    多平臺FPGA工程快速<b class='flag-5'>移植</b>與構建

    【北京迅為】i.mx8mm嵌入式linux開發指南第四篇 嵌入式Linux系統移植篇第六十九章uboot移植

    【北京迅為】i.mx8mm嵌入式linux開發指南第四篇 嵌入式Linux系統移植篇第六十九章uboot移植
    的頭像 發表于 10-22 14:46 ?651次閱讀
    【北京迅為】i.mx8mm嵌入式linux開發<b class='flag-5'>指南</b>第四篇 嵌入式Linux系統<b class='flag-5'>移植</b>篇第六十九章uboot<b class='flag-5'>移植</b>

    Nordic-RT-Thread5.1.0移植筆記

    Nordic-RT-Thread5.1.0移植筆記
    的頭像 發表于 10-16 08:09 ?472次閱讀
    Nordic-RT-Thread5.1.0<b class='flag-5'>移植</b>筆記

    基于機智云移植STM32L496G代碼移植

    前言最近我拿到了STM32L496AGMCU,發現其擴展版可以連接ESP-01S。我想嘗試將開發板連接到我們的機智云上,并根據機智云提供的文檔進行程序移植。STM32CubeMX移植機智云自動生成
    的頭像 發表于 09-20 08:05 ?439次閱讀
    基于機智云<b class='flag-5'>移植</b>STM32L496G代碼<b class='flag-5'>移植</b>

    【GD32 MCU 移植教程】9、 STM32F10x 系列移植到 GD32F30x 系列

    對比、外設及性能對比以及 STM32F10x 移植到 GD32F30x 的移植步驟,旨在讓開發者能夠快速STM32F10x 移植到 GD
    的頭像 發表于 09-07 09:57 ?756次閱讀
    【GD32 MCU <b class='flag-5'>移植</b>教程】9、<b class='flag-5'>從</b> STM32F10x 系列<b class='flag-5'>移植</b>到 GD32F30x 系列

    Openharmony軟件評估指南-米爾瑞芯微RK3568開發板

    MYD-LR3568開發板正面 圖1-2. 米爾MYD-LR3568開發板反面 1.軟件資源米爾米粉派3568系列開發板的Openharmony BSP是基于瑞芯微官方開源社區版Openhar
    發表于 09-06 20:06

    【GD32 MCU 移植教程】8、 STM32F4xx 系列移植到 GD32F4xx 系

    、外設及性能對比以及 STM32F4xx 移植到 GD32F4xx 的移植步驟,旨在讓開發者能夠快速STM32F4xx移植到 GD32F
    的頭像 發表于 09-06 09:40 ?1337次閱讀
    【GD32 MCU <b class='flag-5'>移植</b>教程】8、<b class='flag-5'>從</b> STM32F4xx 系列<b class='flag-5'>移植</b>到 GD32F4xx 系

    【GD32 MCU 移植教程】2 GD32F303 移植到 GD32F503

    GD32E503 系列是 GD 推出的 Cortex_M33 系列產品,該系列資源上與 GD32F303 兼容度非常高,本應用筆記旨在幫助您快速將應用程序 GD32F303 系列微控制器移植到 GD32E503 系列微控制器。
    的頭像 發表于 08-31 09:36 ?1491次閱讀
    【GD32 MCU <b class='flag-5'>移植</b>教程】<b class='flag-5'>2</b>、<b class='flag-5'>從</b> GD32F303 <b class='flag-5'>移植</b>到 GD32F503

    【GD32 MCU 移植教程】1、 GD32F10x 移植到 GD32F30x

    應用程序移植到新的微控制器。本應用筆記旨在幫助您快速將應用程序 GD32F10x 系列微控制器移植到 GD32F30x 系列微控制器。
    的頭像 發表于 08-30 09:52 ?1582次閱讀
    【GD32 MCU <b class='flag-5'>移植</b>教程】1、<b class='flag-5'>從</b> GD32F10x <b class='flag-5'>移植</b>到 GD32F30x

    鴻蒙OpenHarmony南向/北向快速開發教程-迅為RK3568開發板

    P2_OpenHarmony功能框架 P3_OpenHarmony技術特性 P4_OpenHarmony支持設備類型 p5_南向開發和北向開發的區別 P6_
    發表于 07-23 10:44

    CC2500和CC1101移植說明

    主要通過如何移植移植注意、關于芯片配置、如何生成導出配置四大步驟來說明CC2500和CC1101移植
    的頭像 發表于 06-15 14:32 ?625次閱讀
    CC2500和CC1101<b class='flag-5'>移植</b>說明

    芯海通用 MCU 應用筆記: CS32F03x-RA 系列兼容性和移植指南

    本節旨在幫助您分析現有的 CS32F03x 產品移植到 CS32F03x-RA 系列產品所需的步驟。要將應用程序 CS32F03x 系列移植到 CS32F03x-RA 系列,用戶需
    發表于 05-16 10:59

    鴻蒙ArkUI【開發移植Carbon】

    本項目是基于開源項目[Carbon]?進行harmonyos化的移植和開發的。
    的頭像 發表于 03-25 15:41 ?524次閱讀
    鴻蒙ArkUI【開發<b class='flag-5'>移植</b>Carbon】

    【鴻蒙】標準系統移植指南

    標準系統移植指南 本文描述了移植一塊開發板的通用步驟,和具體芯片相關的詳細移植過程無法在此一一列舉。后續社區還會陸續發布開發板移植的實例供開
    的頭像 發表于 02-27 14:36 ?927次閱讀
    【鴻蒙】標準系統<b class='flag-5'>移植</b><b class='flag-5'>指南</b>

    將應用程序XMC7200開發套件移植到XMC7100芯片的指南/時鐘問題求解

    XMC7100 芯片的定制主板,我在使用時鐘配置移植項目時遇到了問題。 我為移植應用程序所采取的步驟: 我隨附的開發套件 design.modus 文件開始。 然后我使用 BSP 助手將 BSP
    發表于 01-30 06:04
    主站蜘蛛池模板: 亚洲理论片在线中文字幕| 国产精品18久久久久久欧美 | 欧美xxxx性喷潮| 四虎永久免费网址| 一个人在线观看免费视频| s8sp视频高清在线播放| 国产亚洲人成网站在线观看播放| 久久精品男人影院| 日本艳妓BBW高潮一19| 亚洲免费每日在线观看| a久久99精品久久久久久蜜芽| 国产婷婷综合在线视频中文| 蜜臀亚洲AV永久无码精品老司机| 无码免费视频AAAAAA片草莓| 在线视频免费观看| 国产盗摄一区二区三区| 美女尿口羞羞视频| 午夜看片网| A级毛片无码久久精品免费| 狠狠操天天操夜夜操| 人妖和美女玩| 真人裸交有声性动态图| 国产精品爆乳尤物99精品| 免费观看a视频| 亚洲人人为我我为人人| 大中国免费视频大全在线观看| 久久精品国产首叶| 午夜黄视频| 成人毛片免费在线观看| 老女老肥熟国产在线视频| 亚洲成人欧美| 嘟嘟嘟影院免费观看视频| 蜜桃传媒星空传媒在线播放| 亚洲国产在线2o20| 粉色视频午夜网站入口| 免费国产久久啪在线| 亚洲欧洲日本天天堂在线观看| 俄罗斯兽交XXXXX在线| 某上海少妇3P黑人完整版BD| 亚洲中文字幕国产综合| 国产成人精品123区免费视频|