X86 OpenHarmony5.1.0系统移植与安装

近期在研究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盘进行启动:

  1. 准备一个8G以上高速U盘
  2. 使用DiskGenius将U盘转换为GUID分区表格式
  3. 使用DiskGenius分区工具分出4个分区,分区依次如下:
分区名称 分区大小 分区格式
boot 500M fat32
system 3G ext4
vendor 500M ext4
data 3G ext4

注意:新建分区时点击详细参数,删除分区名字

  1. 直接复制device/board/opc/x86_general/loader文件夹内容到boot分区根目录

  2. 使用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
  1. data分区为格式化空分区

  2. 插入电脑,BIOS选择U盘启动

4. 运行效果展示

5. 镜像文件下载

如果你也感兴趣想安装试一下,可以下载下面我编译出来的image文件进行安装
loader引导程序
Image镜像文件

参考资料

https://gitee.com/ohos-porting-communities/vendor_opc