近期在研究X86鸿蒙,通过一段时间的研究终于成功了,在X86机器上成功启动了openharmony系统了.下面做个总结和分享
1. 下载源码
获取OpenHarmony标准系统源码
bash
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平台适配代码
bash
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
bash build/prebuilts_download.sh
开始编译
bash
./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
bash
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镜像文件