论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
ToB企服应用市场:ToB评测及商务社交产业平台
»
论坛
›
软件与程序人生
›
移动端开发
›
鸿蒙
›
rk3399pro移植openharmony3.0移植笔记2
rk3399pro移植openharmony3.0移植笔记2
大连密封材料
金牌会员
|
2022-6-24 05:24:19
|
显示全部楼层
|
阅读模式
楼主
主题
739
|
帖子
739
|
积分
2217
说明
本篇文章介绍将rk3399pro内核放入鸿蒙源码并打上hdf驱动框架补丁,linux内核移植openharmony的hdf驱动子系统。
环境介绍
使用的内核为4.4.185版本的,openharmony3.0源码编译环境使用的docker是swr.cn-south-1.myhuaweicloud.com/openharmony-docker/openharmony-docker-standard:0.0.5,在docker环境中输入以下命令编译完整openharmony3.0源码。
./build.sh --product-name Hi3516DV300
复制代码
以下步骤皆在docker环境下完成。
内核打hdf补丁
补丁文件链接
将patch_hdf.sh拷贝到OpenHarmony/drivers/adapter/khdf/linux目录下。
再将rk3399pro内核源码放到out/KERNEL_OBJ/kernel/src_tmp/linux/下。
export PROJ_ROOT=/home/openharmony/ #docker环境下openharmony源码根目录路径
#打补丁
$PROJ_ROOT/drivers/adapter/khdf/linux/patch_hdf.sh \
$PROJ_ROOT # 指定工程根目录路径 \
$PROJ_ROOT/out/KERNEL_OBJ/kernel/src_tmp/linux/kernel4.4 # 打补丁的内核目录路径 \
$PROJ_ROOT/kernel/linux/patches/linux-4.19/hi3516dv300_patch/hdf.patch # HDF补丁文件
复制代码
以上补丁存在部分文件修改存在问题,根据错误提示内容自行在相应文件中修改添加内容。
添加完成后在.config文件中添加编译选项。
CONFIG_DRIVERS_HDF=y
CONFIG_HDF_SUPPORT_LEVEL=2
CONFIG_DRIVERS_HDF_PLATFORM=y
CONFIG_DRIVERS_HDF_TEST=y
复制代码
编译内核
export PROJ_ROOT=/home/openharmony/
export PRODUCT_PATH=vendor/hisilicon/Hi3516DV300
export PATH=$PROJ_ROOT/prebuilts/clang/ohos/linux-x86_64/llvm/bin:$PROJ_ROOT/prebuilts/gcc/linux-x86/aarch64/gcc-linaro-7.5.0-2019.12-x86_64_aarch64-linux-gnu/bin/:$PATH
export MAKE_OPTIONS="ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- CC=clang HOSTCC=clang"
make ${MAKE_OPTIONS} rd3399pro-android.img -j12
复制代码
开始编译,中间会遇到一些文件的编译存在问题,根据问题提示自行修改代码。
等待编译完成,打包镜像,我使用的是rk3399pro源码中提供的mkbootimg来打包。
python3 mkbootimg/mkbootimg --kernel kernel/arch/arm64/boot/Image --second kernel/resource.img --os_version 9 --header_version 1 --os_patch_level 2019-08-05 --cmdline "console=ttyFIQ0 androidboot.baseband=N/A androidboot.wificountrycode=US androidboot.veritymode=enforcing androidboot.hardware=rk30board androidboot.console=ttyFIQ0 firmware_class.path=/vendor/etc/firmware init=/init rootwait ro init=/init root=PARTUUID=af01642c-9b84-11e8-9b2a-234eb5e198a0 loop.max_part=7 androidboot.selinux=permissive" --output /home/xf/work/boot.img
复制代码
打包完成后在我指定的目录下生成的boot.img烧写到板子上即可。
结果截图
uname -a可以看到我的内核版本是4.4,在板子的/dev目录下存在HDF设备,移植成功。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
大连密封材料
金牌会员
这个人很懒什么都没写!
楼主热帖
Postgres14.4(Docker安装)
这是啥SQL,室友看了人傻了
Java EnumMap putAll()方法具有什么功 ...
Kubernetes(k8s)基础概念介绍 ...
ClickHouse(02)ClickHouse架构设计介绍 ...
java结构之顺序结构
Fastjson反序列化
使用git&GitHub通过两台电脑协同作业, ...
太厉害了,终于有人能把文件上传漏洞讲 ...
最新系统MacOs13 Ventura(M1/M2芯片) + ...
标签云
挺好的
服务器
快速回复
返回顶部
返回列表