近期在研究X86鴻蒙,通過一段時間的研究終于成功了,在X86機器上成功啟動了openharmony系統了.下面做個總結和分享
1. 下載源碼
獲取OpenHarmony標準系統源碼
repo init -u https://gitee.com/openharmony/manifest.git -b refs/tags/OpenHarmony-v5.1.0-Release --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
下載X86平臺適配代碼
git clone -b OpenHarmony-5.1.0-Release https://gitee.com/ohos-porting-communities/vendor_opc.git vendor/opc
git clone -b OpenHarmony-5.1.0-Release https://gitee.com/ohos-porting-communities/device_board_opc.git device/board/opc
git clone -b OpenHarmony-5.1.0-Release https://gitee.com/ohos-porting-communities/device_soc_opc.git device/soc/opc
2. 編譯代碼
執行prebuilts
bash build/prebuilts_download.sh
開始編譯
./build.sh --product-name x86_general --ccache
編譯成功后可以在out/x86_general/packages/phone/images/目錄下看到以下image文件
3. 燒錄系統
使用U盤進行啟動:
- 準備一個8G以上高速U盤
- 使用DiskGenius將U盤轉換為GUID分區表格式
- 使用DiskGenius分區工具分出4個分區,分區依次如下:
分區名稱 | 分區大小 | 分區格式 |
---|---|---|
boot | 500M | fat32 |
system | 3G | ext4 |
vendor | 500M | ext4 |
data | 3G | ext4 |
注意:新建分區時點擊詳細參數,刪除分區名字
-
直接復制device/board/opc/x86_general/loader文件夾內容到boot分區根目錄
-
使用Linux的dd命令燒錄鏡像,用df確認需要燒寫的分區,也就是sdx中的x,可能是a、b、c
sudo dd if=system.img of=/dev/sdx2 bs=1M
sudo dd if=vendor.img of=/dev/sdx3 bs=1M
-
data分區為格式化空分區
-
插入電腦,BIOS選擇U盤啟動
4. 運行效果展示
5. 鏡像文件下載
如果你也感興趣想安裝試一下,可以下載下面我編譯出來的image文件進行安裝
loader引導程序
Image鏡像文件
參考資料
https://gitee.com/ohos-porting-communities/vendor_opc