OpenHarmony鸿蒙系统移植rk3288过程记录

我的熟悉路径(粗粮版)

  1. 能够编译linux4.19内核,生成img文件,并在虚拟机上更新(如何)
  2. 能够编译安卓系统,并能够刷在手机上(红米6)
  3. 能够编译鸿蒙系统,移植在rk3288芯片上

todo

  1. 目前首先需要编译linux4.19内核

  2. 似乎进行到:F:\rk3288\软件开发文档\RockChip_Uboot开发文档V1.0.pdf 其中的编译步骤

  3. 似乎又进行到:F:\rk3288\DLT-RK3288B_V03用户手册.pdf 其中的4.1 编译 Android 5.1 源码。dtb文件报语法错误,猜测需要重新生成设备树文件?

  4. [keystone] - 将上述编译之前的编译调通即可得到.bin和uboot.img文件

  5. 进行到 大骆驼的源码使用的linux kernel是3.x版本;而caesar wang 源码仓库中rk3288适配的是4.19.x版本,

  6. 尝试单独使用rockchip-kernel4.4.x编译boot.img, 然后与大骆驼生成的img合并,再尝试刷机。。

  7. 使用OpenHarmony4.0Release版本源码配合官网步骤进行,尝试编源代码(https://docs.openharmony.cn/pages/v4.0/zh-cn/device-dev/quick-start/quickstart-pkg-sourcecode.md/)

  8. 同步使用github中的Rockchip-kernel4.4版本(含rk3288芯片支持)linux内核源码,尝试编译boot.img(https://github.com/rockchip-linux/kernel/tree/develop-4.4)

  1. 使用caesar wang的linux kernel4.19(https://gitee.com/caesar-wang/openharmony-rockchip/issues/I45DEB) 编译内核,修正dts设备目录树错误
    • 9.0 首先下载对应的arm交叉编译工具链,目前我用的是arm-eabi-
    • 9.1 make mrproper
    • 9.2 alias mgcc2=’make CROSS_COMPILE=arm-eabi-‘
    • 9.3 mgcc2 ARCH=arm rockchip_linux_defconfig
    • 9.4 mgcc2 ARCH=arm digitech-rk3288.img -j$(nproc)
    • 9.5 mgcc2 ARCH=arm digitech-rk3288.img -j$(nproc) uImage 生成uImage,编译成功后会在arch/arm/boot/下生成uImage文件,这就是我们需要的内核Image文件
  2. 完成第9步即可在根路径下生成boot.img, kernel.img, resource.img, zboot.img,如图:

引用

  1. Linux 内核下载
  2. Linux 内核动手编译实用指南
  3. Linux 内核编译与安装(完整过程)
  4. OpenHarmony鸿蒙内核Liteos-a最小系统移植教程(IMX6ULL开发板)
  5. OpenHarmony教程
  6. Rockchip快速上手OpenHarmony L2
  7. caesar wang / kernel-4.19 Rockchip Kernel4.19的开发,目前主要支持 RK3566/RK3568/RV1126/1109/RK3399/RK3326/rk3288/PX30/RK3399Pro等芯片
  8. Linux内核映像vmlinux、Image、zImage、uImage区别
  9. 什么是uboot?uboot有什么用?
  10. 嵌入式Linux移植和Uboot(一):Bootloader介绍,U-boot介绍(特点,目录结构)
  11. Google官方编译安卓系统的准备工作
  12. Google官方搭建编译环境
  13. ARM-Linux 交叉编译工具链安装
  14. 瑞芯微芯片 RK3036, RK3066, RK312X, RK3188, RK322X,RK3288, RK3328, RK3368, RK3399, PX30使用的linux kernel官方编译手册及代码仓库
  15. 内核移植开发板通用流程 - 移植Linux 6.3.5系统到imx6ull开发板
  16. arm 交叉编译器各种gcc 傻傻分不清楚:gnueabi,gnueabhf,none-eaib
  17. ARM工具链选择参考
  18. 嵌入式Linux系统移植的四大步骤
  19. 详解三大编译器:gcc、llvm 和 clang
  20. ohos内核,initrd,设备树启动说明
  21. Linux kernel 编译方法大全记录