日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

開鴻智谷 ? 2023-02-08 10:58 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

開篇引言

安卓設(shè)備的引導(dǎo)需要boot.img鏡像,其中含有內(nèi)核鏡像,設(shè)備樹,boot配置文件,initrd.img根文件系統(tǒng)鏡像,開發(fā)板因?yàn)槭情_發(fā)用途,系統(tǒng)引導(dǎo)基本沒有限制,而成品安卓手機(jī)往往有各種限制,我們需要通過刷入postmarketOS進(jìn)行確認(rèn)手機(jī)是否可以啟動(dòng)第三方系統(tǒng),從中獲取引導(dǎo)啟動(dòng)的相關(guān)信息以及文件,并仿照postmarketOS的引導(dǎo)鏡像創(chuàng)建我們自己的引導(dǎo)鏡像。

1,準(zhǔn)備postmarketOS編譯環(huán)境

參照??pmbootstrap - postmarketOS?? 中的 Installation -- From git 準(zhǔn)備編譯環(huán)境

  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,執(zhí)行初始化

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

或者替換使用鏡像源,不然會(huì)有網(wǎng)絡(luò)問題,需要替換兩個(gè)鏡像源地址,postmarketOS鏡像,和Alpine Linux鏡像

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

  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,編譯安卓格式的刷機(jī)包

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

編譯時(shí)間會(huì)比較長(zhǎng),中間會(huì)提示創(chuàng)建進(jìn)入手機(jī)系統(tǒng)的新密碼

如果中途出現(xiàn)錯(cuò)誤,可以重試幾次,仍然不行的話刪除整個(gè)work目錄,重新執(zhí)行初始化再編譯刷機(jī)包,最終結(jié)果如下

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

4,導(dǎo)出刷機(jī)包

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

執(zhí)行以下命令找到刷機(jī)包位置

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

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

至此拿到刷機(jī)包

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

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

??手機(jī)運(yùn)行Docker: 從修改內(nèi)核到刷入原生Linux | yzddMr6's Blog??

5,刷入手機(jī)驗(yàn)證并獲取芯片控制器名稱

音量上+電源開機(jī)進(jìn)入twrp(twrp的安裝是搞機(jī)必備,網(wǎng)上教程很多,在此不再重復(fù))

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

點(diǎn)擊安裝

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

點(diǎn)擊刷機(jī)包

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

確認(rèn)刷入

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

刷機(jī)會(huì)出現(xiàn)錯(cuò)誤,不用管

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

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

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

輸入用戶名:user,密碼:自己之前設(shè)置的,進(jìn)入系統(tǒng)

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

至此確認(rèn)手機(jī)正常運(yùn)行Linux系統(tǒng),顯示,觸摸等正常工作。

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

解包獲取的資料:

bootimg.cfg:boot分區(qū)配置信息,內(nèi)核啟動(dòng)參數(shù)

config:默認(rèn)內(nèi)核編譯配置,后續(xù)適配內(nèi)核在此基礎(chǔ)進(jìn)行變更

firmware:?jiǎn)?dòng)加載必須的驅(qū)動(dòng)固件文件

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

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

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

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

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

  1. sudo apt update
  2. sudo apt install abootimg

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

  1. 1. abootimg -x boot.img

得到boot分區(qū)配置bootimg.cfg

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

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

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

使用gzip解壓,發(fā)現(xiàn)解壓失敗,原因?yàn)楹缶Y名不支持,我們使用mv命令復(fù)制initrd.img為initrd.img.gz,然后使用解壓命令就可以成功解壓了,解壓后原來的initrd.img會(huì)被解壓出的文件替換掉,這時(shí)initrd.img的格式為cpio鏡像文件

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

使用cpio解壓initrd.img鏡像

  1. 1. cpio -idmv < initrd.img

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

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

7,獲取正常啟動(dòng)的log

參考上面手機(jī)運(yùn)行docker那篇文章,用usb連接電腦,設(shè)置好驅(qū)動(dòng)

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

  1. 1. ssh user@172.16.42.1

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

輸入dmesg打印輸出內(nèi)核log,這個(gè)是正常的內(nèi)核啟動(dòng)log,復(fù)制下來保存好以便移植時(shí)啟動(dòng)出錯(cuò)或者驅(qū)動(dòng)有問題時(shí)方便進(jìn)行對(duì)照

  1. 1. dmesg

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

8,獲取設(shè)備名,分區(qū)信息

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

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

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

獲取存儲(chǔ)控制器名稱,后面配置分區(qū)會(huì)用到

  1. ls /sys/devices/platform/soc

暫時(shí)判斷1da4000.ufshc為存儲(chǔ)控制器名稱

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

重啟,進(jìn)入twrp,輸入以下命令進(jìn)入recovery的shell

  1. 1. adb shell

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

輸入以下命令可以交叉確認(rèn)1da4000.ufshc為存儲(chǔ)控制器名稱

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

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

獲取分區(qū)信息

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

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

手機(jī)上勾選掛載vendor分區(qū)

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

  1. 1. df -h

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

、

確認(rèn)vendor分區(qū)對(duì)應(yīng)到sde42 -> cust

system分區(qū)因?yàn)榘惭bpmOS的緣故無法掛載,但是可以確定分區(qū)映射關(guān)系是,

/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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    26

    文章

    6433

    瀏覽量

    121176
  • OpenHarmony
    +關(guān)注

    關(guān)注

    33

    文章

    3977

    瀏覽量

    21373
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    實(shí)戰(zhàn) | 睿擎平臺(tái)SQLite:嵌入式設(shè)備上的數(shù)據(jù)持久化方案,移植到應(yīng)用一文打通

    在嵌入式開發(fā)中,數(shù)據(jù)存儲(chǔ)一直是個(gè)剛需:設(shè)備參數(shù)配置、傳感器歷史數(shù)據(jù)、運(yùn)行日志記錄……傳統(tǒng)方案要么用文件系統(tǒng)裸奔,解析麻煩;要么上SQLite,但移植門檻高、踩坑多。今天分享一個(gè)基于睿擎派RC3506
    的頭像 發(fā)表于 04-29 19:22 ?3973次閱讀
    實(shí)戰(zhàn) | 睿擎平臺(tái)SQLite:嵌入式<b class='flag-5'>設(shè)備</b>上的數(shù)據(jù)持久化方案,<b class='flag-5'>從</b><b class='flag-5'>移植</b>到應(yīng)用一文打通

    BLDC 驅(qū)動(dòng)板 FOC 矢量控制算法移植與參數(shù)調(diào)試(工程實(shí)用版)

    這是一篇可直接用于項(xiàng)目開發(fā)、量產(chǎn)調(diào)試的 FOC 移植與調(diào)試指南,面向STM32/GD32 + 三相 BLDC/PMSM 無刷馬達(dá)驅(qū)動(dòng)板,包含移植步驟、關(guān)鍵參數(shù)、調(diào)試流程、波形判斷、常見故障,完全匹配你前面設(shè)計(jì)的MT6835 磁編
    的頭像 發(fā)表于 04-27 15:32 ?720次閱讀

    直播預(yù)告 | 開源軟件包移植適配專題(第1期):SQLite 入門到精通

    嵌入式數(shù)據(jù)庫在資源受限設(shè)備上跑不動(dòng)?交叉編譯SQLite總是缺依賴、配置難?想在AMP雙系統(tǒng)下統(tǒng)一數(shù)據(jù)存儲(chǔ)方案?睿擎平臺(tái)正式推出「開源軟件包移植適配專題」,每期深度講解一個(gè)主流開源軟件在睿擎派上
    的頭像 發(fā)表于 04-24 18:05 ?432次閱讀
    直播預(yù)告 | 開源軟件包<b class='flag-5'>移植</b>適配專題(第1期):SQLite <b class='flag-5'>從</b>入門到精通

    RT-Thread 中設(shè)備樹的適配方法 | 技術(shù)集結(jié)

    本文基于RT-Thread現(xiàn)有的DM(設(shè)備模型)框架,以Rock2F開發(fā)板為例,系統(tǒng)梳理了RK3528SoC的快速移植流程,涵蓋了CLK、Pinctrl、ADC、NVMEM、Thermal、RNG等
    的頭像 發(fā)表于 04-04 18:05 ?3217次閱讀
    RT-Thread 中<b class='flag-5'>設(shè)備</b>樹的適配方法 | 技術(shù)集結(jié)

    基于極海APM32F4的Azure RTOS ThreadX移植過程分享

    最近在玩APM32F407IG的板子,發(fā)現(xiàn)官方提供了兩個(gè)RTOS的demo,F(xiàn)reeRTOS和RT-thread。想著APM32F4這么豐富的資源,是不是也可以跑一下ThreadX RTOS看看
    的頭像 發(fā)表于 04-02 11:30 ?1109次閱讀
    基于極海APM32F4的Azure RTOS ThreadX<b class='flag-5'>移植</b>過程分享

    ElfBoard技術(shù)貼|如何在【RK3588】ELF 2開發(fā)板移植LVGL8.2

    隨著嵌入式設(shè)備對(duì)圖形用戶界面(GUI)的需求不斷提升,選擇一款高效、輕量且易于移植的GUI框架已成為項(xiàng)目開發(fā)中的關(guān)鍵環(huán)節(jié)。LVGL與Qt作為嵌入式領(lǐng)域廣泛使用的兩種GUI解決方案,在架構(gòu)設(shè)計(jì)、資源
    的頭像 發(fā)表于 10-15 08:52 ?6155次閱讀
    ElfBoard技術(shù)貼|如何在【RK3588】ELF <b class='flag-5'>2</b>開發(fā)板<b class='flag-5'>移植</b>LVGL8.2

    請(qǐng)問STM32如何移植Audio框架?

    最近在學(xué)習(xí)音頻解碼,想用一下Audio框架。 1、這個(gè)該如何移植到自己創(chuàng)建的BSP并對(duì)接到device框架中?看了官方移植文檔沒有對(duì)沒有對(duì)該部分的描述。 2、我只想實(shí)現(xiàn)一個(gè)簡(jiǎn)單的播放功能,只用一個(gè)DAC芯片(比如CS4344)是
    發(fā)表于 09-25 07:17

    恩智浦MCU教程 基于MCUXpresso和FRDM-MCXA346的RT-Thread Nano移植

    本篇還是以移植RT-Thread Nano到MCUXpresso IDE為主,移植的代碼可以在nxpic.org.cn論壇搜索到。
    的頭像 發(fā)表于 08-21 09:49 ?6975次閱讀
    恩智浦MCU教程 基于MCUXpresso和FRDM-MCXA346的RT-Thread Nano<b class='flag-5'>移植</b>

    如何移植 RT-Thread Nano 并創(chuàng)建 2 個(gè)線程?

    基于 BSP 中的 GPIO_OutputInput 演示,展示了如何移植 RT-Thread Nano 并創(chuàng)建 2 個(gè)線程。
    發(fā)表于 08-19 07:45

    RT-Thread Nano硬核移植指南:手把手實(shí)現(xiàn)VGLite圖形驅(qū)動(dòng)適配 | 技術(shù)集結(jié)

    VGLite是NXP提供的輕量級(jí)2D圖形API,本文將手把手帶你實(shí)現(xiàn)VGLite圖形驅(qū)動(dòng)適配RT-Thread。文章分為上、下兩篇,將手把手教您移植。上篇對(duì)RT-ThreadNano內(nèi)核與Finsh組件進(jìn)行移植,下篇?jiǎng)t教您改寫S
    的頭像 發(fā)表于 07-17 14:40 ?3649次閱讀
    RT-Thread Nano硬核<b class='flag-5'>移植</b><b class='flag-5'>指南</b>:手把手實(shí)現(xiàn)VGLite圖形驅(qū)動(dòng)適配 | 技術(shù)集結(jié)

    高效開發(fā) | 瑞迅基于瑞芯微系列主板QT移植部署(上)

    模塊化的必然趨勢(shì),這一技術(shù)組合將成為連接“硬件算力”與“用戶體驗(yàn)”的核心紐帶,推動(dòng)更多智能設(shè)備“功能可用”邁向“體驗(yàn)卓越”。瑞迅RK3568主板移植部署QT5技術(shù)
    的頭像 發(fā)表于 07-11 15:39 ?1250次閱讀
    高效開發(fā) | 瑞迅基于瑞芯微系列主板QT<b class='flag-5'>移植</b>部署(上)

    移植 ZephyrRTOS 到思澈 SF32LB58 過程筆記 一

    為 ZephyrRTOS 增加 SoC 支持(2) 基礎(chǔ)框架 N32L406 的移植還沒有完成,最近又開坑做思澈 SF32LB58 的移植。原因一是這個(gè)芯片帶藍(lán)牙和 2D GPU,適合
    的頭像 發(fā)表于 07-04 11:17 ?2769次閱讀
    <b class='flag-5'>移植</b> ZephyrRTOS 到思澈 SF32LB58 過程筆記 一

    機(jī)智云配網(wǎng)教程第三期:?jiǎn)纹瑱C(jī)代碼移植實(shí)戰(zhàn)

    :stm32f103c8t6,WiFi模塊:ESP-01s,下載器:ST-LINK2.軟件:keil5的工程文件模板,mcu代碼包代碼資源:未移植移植后(注:本文是基于stm32標(biāo)
    的頭像 發(fā)表于 07-01 17:32 ?2179次閱讀
    機(jī)智云配網(wǎng)教程第三期:?jiǎn)纹瑱C(jī)代碼<b class='flag-5'>移植</b>實(shí)戰(zhàn)

    求助,關(guān)于K230 linux SENSOR 移植讀取CIF的RAW數(shù)據(jù)的疑問?

    在K230 linux SENSOR 移植指南中給出了K230移植普通攝像頭的教程,mipi讀取的時(shí)ISP后的數(shù)據(jù),但如果我想在k230里面移植自己的攝像頭,通過mipi接口讀取cif
    發(fā)表于 06-16 06:56

    STM32與機(jī)智云連接實(shí)現(xiàn)步驟與技巧(下篇):機(jī)智云代碼移植與優(yōu)化

    在《STM32與機(jī)智云連接實(shí)現(xiàn)步驟與技巧(上篇)》中,我們介紹了硬件連接和通信協(xié)議配置。本篇將重點(diǎn)講解如何將機(jī)智云相關(guān)代碼移植到STM32,完成數(shù)據(jù)上傳和設(shè)備控制。我們將介紹如何在STM32中配置
    的頭像 發(fā)表于 05-23 18:10 ?1367次閱讀
    STM32與機(jī)智云連接實(shí)現(xiàn)步驟與技巧(下篇):機(jī)智云代碼<b class='flag-5'>移植</b>與優(yōu)化
    汉阴县| 汉中市| 循化| 辽宁省| 五河县| 连云港市| 光山县| 阿荣旗| 东方市| 九江市| 额济纳旗| 遵义县| 河东区| 纳雍县| 杨浦区| 闸北区| 英山县| 泾源县| 盐山县| 通河县| 比如县| 泽普县| 建阳市| 诸暨市| 博白县| 深圳市| 根河市| 永济市| 樟树市| 都昌县| 通榆县| 永泰县| 兴安盟| 隆子县| 遂平县| 阿拉善左旗| 马山县| 宜兰县| 大庆市| 庄浪县| 永安市|