成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

系統 OpenHarmony
我們需要通過刷入postmarketOS進行確認手機是否可以啟動第三方系統,從中獲取引導啟動的相關信息以及文件,并仿照postmarketOS的引導鏡像創建我們自己的引導鏡像。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??

開篇引言

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

1、準備postmarketOS編譯環境

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

$ git clone https://git.sr.ht/~postmarketos/pmbootstrap
$ mkdir -p ~/.local/bin
$ ln -s "$PWD/pmbootstrap/pmbootstrap.py" ~/.local/bin/pmbootstrap
$ pmbootstrap --version

2、執行初始化

pmbootstrap init1.

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

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

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

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

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

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

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

pmbootstrap install --android-recovery-zip1.

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

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

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

4、導出刷機包

pmbootstrap export1.

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

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

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

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打包解包工具:

sudo apt update
sudo apt install abootimg1.2.

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

abootimg -x boot.img1.

得到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鏡像。

cpio -idmv < initrd.img1.

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

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

7、獲取正常啟動的log

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

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

ssh user@172.16.42.11.

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

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

dmesg1.

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

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

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

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

ls /sys/class/udc/
a800000.usb1.2.

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

ls /sys/devices/platform/soc1.

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

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

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

adb shell1.

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

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

ls dev/block/platform/soc/1.

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

獲取分區信息。

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

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

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

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

手機上勾選掛載vendor分區。

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

df -h1.

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編譯的部分,敬請期待。

??想了解更多關于開源的內容,請訪問:??

??51CTO 開源基礎軟件社區??

??https://ost.51cto.com??

責任編輯:jianghua 來源: 51CTO 開源基礎軟件社區
相關推薦

2023-03-06 16:11:00

設備移植開源GPU驅動

2023-03-10 09:47:45

OpenGL渲染設備移植

2023-03-23 16:02:07

樹莓派4GPU調試

2023-02-28 15:40:16

鴻蒙CPU渲染

2023-04-06 09:10:13

設備移植鴻蒙

2023-02-07 15:52:50

2023-02-14 17:06:31

設備移植打包刷機

2023-05-05 16:05:26

設備內核移植鴻蒙

2023-02-08 15:46:50

設備移植第三方內核適配

2023-05-16 14:49:25

鴻蒙內核移植

2022-04-15 14:31:02

鴻蒙操作系統

2022-09-07 15:08:58

操作系統鴻蒙

2021-09-08 15:23:51

鴻蒙HarmonyOS應用

2022-02-09 19:45:41

MQTTOpenHarmon鴻蒙

2022-06-21 11:30:22

littleVGL鴻蒙

2021-10-14 15:48:28

鴻蒙HarmonyOS應用

2022-06-09 14:40:14

系統移植鴻蒙

2010-07-23 16:08:38

OPhone平臺

2021-12-29 16:11:11

鴻蒙HarmonyOS應用

2011-09-05 09:28:58

MySQLMongoDB
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日本韩国一区二区 | 欧美日韩亚洲一区 | 日韩一区二区三区四区五区 | 欧美成视频 | 亚洲人成在线观看 | 九九九精品视频 | 成人久久18免费网站麻豆 | 国产激情一区二区三区 | 天天干夜夜拍 | 久久九 | 最近中文字幕第一页 | 国产偷录叫床高潮录音 | 久久精品网 | 国产精品免费在线 | 亚洲精品一区久久久久久 | 女人毛片a毛片久久人人 | 国产精品1区2区3区 国产在线观看一区 | 色狠狠一区| 美女久久 | 国产精品日韩在线观看 | 中文字幕日韩欧美一区二区三区 | 99精品欧美一区二区蜜桃免费 | 国产最新视频在线 | 欧美在线一区二区三区 | 日韩毛片在线免费观看 | 亚洲欧美日韩精品久久亚洲区 | 日本黄色片免费在线观看 | 成年人在线观看视频 | 日韩亚洲视频 | www.久| 欧美一区二区免费 | 国产一区二区三区www | caoporn国产精品免费公开 | 色偷偷噜噜噜亚洲男人 | 91精品久久久久久久久中文字幕 | 久久日韩精品一区二区三区 | 国产在线精品一区二区三区 | 国产福利精品一区 | 欧美激情一区二区三级高清视频 | 欧美一级欧美一级在线播放 | 亚洲国产精品久久 |