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

OpenHarmony富設備移植指南(五)打包刷機與簡單設備調試

系統 OpenHarmony
原解壓出的大小是8m多,我們的內核因為把模塊編譯進內核的緣故,容量會增大,導致使用原有配置文件會無法成功打包,所以我們增大到16m,小米6的boot分區有64m不會影響boot.img的刷入。

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

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

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

一、打包boot.img鏡像

boot.img打包流程:

1.內核+設備樹打包出帶設備樹的內核

2.設備樹內核+bootimg.cfg+ramdisk.img打包成boot.img

1、修改內核啟動參數

(1)修改boot.img大小

原解壓出的大小是8m多,我們的內核因為把模塊編譯進內核的緣故,容量會增大,導致使用原有配置文件會無法成功打包,所以我們增大到16m,小米6的boot分區有64m不會影響boot.img的刷入。

bootsize = 0x1000000

(2)修改并添加內核啟動參數

cmdline = clk_ignore_unused console=tty1 console=ttyGS0,115200 no_console_suspend hardware=sagit default_boot_device=1da4000.ufshc ohos.required_mount.system=/dev/block/platform/soc/1da4000.ufshc/by-name/system@/usr@ext4@ro,barrier=1@wait,required ohos.required_mount.vendor=/dev/block/platform/soc/1da4000.ufshc/by-name/cust@/vendor@ext4@ro,barrier=1@wait,required

其中hardware和default_boot_device為OH初始化時用于識別設備的參數,實測不配置也不影響啟動。

hardware=sagit default_boot_device=1da4000.ufshc

ohos.required_mount.system和ohos.required_mount.vendor是OH啟動必須掛載的兩個分區,必須進行配置。

?ohos.required_mount.system=/dev/block/platform/soc/1da4000.ufshc/by-name/system@/usr@ext4@ro,barrier=1@wait,required ohos.required_mount.vendor=/dev/block/platform/soc/1da4000.ufshc/by-name/cust@/vendor@ext4@ro,barrier=1@wait,required

console=tty1 是為啟動日志輸出到屏幕,后續可以進行觀察OH的渲染框架是否接管屏幕 console=ttyGS0,115200 為開啟串口控制臺,后續方便進行輸入命令,進行debug調試等。

其他可按需配置,啟動參數參考標準Linux。

2、打包帶設備樹的內核

命令如下,直接用cat命令,把內核和設備樹二進制文件直接輸出成Image.gz-dtb。

cat ${KERNEL_IMAGE_FILE} ${DTB} > "${OUT_PKG_DIR}/Image.gz-dtb"

3、打包boot.img

命令如下,使用abootimg工具,--create指定進行boot.img創建的位置,-f指定bootimg.cfg位置,-k指定帶設備樹內核的位置,-r指定ramdisk.img的位置。

abootimg --create "${OUT_PKG_DIR}/boot.img" -f ${BOOTCFG} -k "${OUT_PKG_DIR}/Image.gz-dtb" -r "${OUT_PKG_DIR}/ramdisk.img"

OH的編譯框架已經幫我們打包好了system.img和vendor.img,在out/packages/phone/images中,復制boot.img,system.img和vendor.img到電腦中,準備進行刷機工作。

注意:刷機會格式化手機,請使用備用機進行刷機,刷機前有需要的話請把手機的數據復制到電腦,刷機有風險,請自行判斷,變磚概不負責!

二、刷入鏡像

1、TWRP刷入鏡像


按音量鍵上+電源開機進入TWRP,這時TWRP會進入MTP模式,把刷機鏡像復制進手機。

OpenHarmony富設備移植指南(5)打包刷機與簡單設備調試-開源基礎軟件社區

選擇安裝:

OpenHarmony富設備移植指南(5)打包刷機與簡單設備調試-開源基礎軟件社區

OpenHarmony富設備移植指南(5)打包刷機與簡單設備調試-開源基礎軟件社區

選擇刷入鏡像,這時才會顯示我們的刷機文件。

OpenHarmony富設備移植指南(5)打包刷機與簡單設備調試-開源基礎軟件社區

選擇boot.img,選擇boot分區。

OpenHarmony富設備移植指南(5)打包刷機與簡單設備調試-開源基礎軟件社區

滑動確認刷入。

OpenHarmony富設備移植指南(5)打包刷機與簡單設備調試-開源基礎軟件社區

按兩次返回,選擇system.img,選擇system分區。

OpenHarmony富設備移植指南(5)打包刷機與簡單設備調試-開源基礎軟件社區

同樣按兩次返回,選擇vendor.img,選擇vendor分區。

OpenHarmony富設備移植指南(5)打包刷機與簡單設備調試-開源基礎軟件社區

回到主頁,選擇清除,選擇格式化Data分區。

OpenHarmony富設備移植指南(5)打包刷機與簡單設備調試-開源基礎軟件社區

輸入yes,格式化完成后重啟。

OpenHarmony富設備移植指南(5)打包刷機與簡單設備調試-開源基礎軟件社區


2、fastboot刷入鏡像

按音量鍵下+開機鍵進入fastboot模式,連接電腦,裝好驅動,使用以下命令進行刷機,fastboot需要額外userdata.img,默認OHbeta5生成的userdata是f2fs格式的,需要修改build/ohos/images/mkimage/userdata_image_conf.txt,把--fs_type=f2fs中的f2fs修改成ext4,然后重新編譯。

fastboot flash boot (boot.img的路徑)
fastboot flash system (system.img的路徑)
fastboot flash cust (vendor.img的路徑)#網友【賀小帥解說】提醒在此修正
fastboot erase userdata
fastboot flash userdata (userdata.img的路徑) #網友【賀小帥解說】提醒在此修正
fastboot reboot

三、簡單調試經驗分享2,刷入鏡像

1、設備不斷重啟

上篇文章中我們配置了usb串口,如果內核驅動正常的話手機使用usb連接電腦會自動識別為com設備,這時我們使用xshell,mobaxterm等工具查看串口日志。

OpenHarmony富設備移植指南(5)打包刷機與簡單設備調試-開源基礎軟件社區


比如一般不斷重啟是因為render_service的崩潰,渲染服務是關鍵服務,OH設置了崩潰會自動重啟。

OpenHarmony富設備移植指南(5)打包刷機與簡單設備調試-開源基礎軟件社區

為了調試我們先更改一下設置,讓它不自動重啟,找到渲染服務的配置,把critical第一個參數從1改成0,這樣就不會自動重啟了。

OpenHarmony富設備移植指南(5)打包刷機與簡單設備調試-開源基礎軟件社區

2、使用modetest測試DRM驅動

要使OH能順利點亮,我們首先要確認內核DRM驅動是否正常工作,這里我使用的是modetest進行測試,modetest的代碼已經存在libdrm的倉庫中,但是沒有加入OH的編譯框架,有需要的同學可以參考我移植樹莓的board倉,里面的test文件夾中有寫好的配置。

編譯好modetest之后直接運行是沒有效果的,因為OH的渲染服務占用了顯卡,我們先把渲染服務關閉:

service_control stop render_service

關閉渲染服務之后,我們運行modetest,modetest會遍歷設備所有的顯卡,并打印出信息。

modetest

查看log:

......
trying to open device 'msm'...done
Encoders:
id crtc type possible crtcs possible clones
31 81 DSI 0x00000001 0x00000001

Connectors:
id encoder status name size (mm) modes encoders
32 31 connected DSI-1 64x114 1 31
modes:
index name refresh (Hz) hdisp hss hse htot vdisp vss vse vtot)
#0 1080x1920 60.00 1080 1200 1216 1256 1920 1924 1926 1930 145444 flags: ; type: preferred, driver
......

我們可以找到,我們的驅動模塊名為msm,Connector id為32,mode名為1080x1920。

查看modetest支持的命令,配置這兩個參數。

-M module use the given driver

-s <connector_id>[,<connector_id>][@<crtc_id>]:[#<mode index>]<mode>[-<vrefresh>][@<format>] set a mode

我的命令簡化為:

modetest -M msm -s 32:1080x1920

運行命令后,手機屏幕顯示出顏色條紋,即為DRM驅動工作正常。

OpenHarmony富設備移植指南(5)打包刷機與簡單設備調試-開源基礎軟件社區

3、OH渲染框架調試

配置hilog打印等級,啟動屏幕調試hilog打印。

OpenHarmony富設備移植指南(5)打包刷機與簡單設備調試-開源基礎軟件社區

OpenHarmony富設備移植指南(5)打包刷機與簡單設備調試-開源基礎軟件社區

使用命令啟動渲染服務,并過濾只顯示display相關的內容。

hilog -D 0xD001400 & service_control start render_service

打通串口并能顯示log信息之后就是各種調試代碼了,這部分操作就跟開發板差不多了,接下去就是對照log跟代碼不斷拉扯了,教程只能到這里了,祝各位調試順利。

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

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

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

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

2023-02-28 15:40:16

鴻蒙CPU渲染

2023-03-23 16:02:07

樹莓派4GPU調試

2023-04-06 09:10:13

設備移植鴻蒙

2023-03-06 16:11:00

設備移植開源GPU驅動

2023-03-10 09:47:45

OpenGL渲染設備移植

2023-02-06 16:21:48

2023-02-07 15:52:50

2023-02-08 15:46:50

設備移植第三方內核適配

2023-05-16 14:49:25

鴻蒙內核移植

2023-05-05 16:05:26

設備內核移植鴻蒙

2023-02-14 17:11:50

開源鴻蒙刷機指南

2023-07-25 10:45:48

OHScrcpy鴻蒙

2022-03-17 15:55:19

播放數字音頻解碼鴻蒙

2023-08-01 16:29:26

鴻蒙設備安裝

2022-03-14 15:19:36

鴻蒙開發板操作系統

2022-09-28 13:48:13

設備開發鴻蒙

2023-02-15 16:38:04

代碼敏捷開發

2022-10-24 14:54:29

LWIP協議鴻蒙

2022-02-15 14:45:14

OpenHarmo系統鴻蒙

2021-10-14 15:48:28

鴻蒙HarmonyOS應用
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩爱爱网 | 亚洲精品美女视频 | 日韩电影免费观看中文字幕 | 欧美欧美欧美 | 欧美日韩在线视频一区二区 | 另类亚洲视频 | 日韩久久久久 | 亚洲二区在线观看 | 久久在视频 | 国产精品久久久久久久久久久久久 | 天天射色综合 | 精品一二三区视频 | 中文字幕在线视频观看 | 91爱啪啪 | 一级黄色夫妻生活 | 国产一区二区三区在线看 | 国产精品久久久久久吹潮 | 欧美精品一区在线 | 久久免费国产 | 亚洲一区二区三区国产 | 日韩av成人| 日本久久久久久 | 国产精品久久久久久久久久久免费看 | 精品国产一区二区三区久久久蜜月 | 一区视频 | 日日干天天操 | 欧美成人综合 | 男人影音| 在线观看av网站永久 | 免费在线毛片 | 日韩视频 中文字幕 | www.夜夜骑| 亚洲一区二区电影在线观看 | 天天干在线播放 | 色视频在线播放 | 久久精品小视频 | 黄色片免费在线观看 | 日日操天天射 | 九九综合 | 国产精品一区二区av | 日日操夜夜摸 |