rk3568平台,openharmony需要用到ssh的功能,但是openharmony并不支持ssh。网上看到已经有作者移植过dropbaer到openharmony,参考进行移植。
1.编译openharmony-3.2.3源码(4.1.1版本也是可以的),并且成功编译后。
2.下载dropbear源码到openharmony源码的developtools目录
cd developtools/
git clone https://gitee.com/LightIt/openharmony-dropbaer dropbear
如果是openharmony-4.1的版本,需要修改dropbear源码下的BUILD.gn文件,把set_sources_assignment_filter([]) 删除掉。
3.修改openharmony源码文件vendor/hihope/rk3568/ohos.build
添加:
"//developtools/dropbear:dropbear"
如下:
{
"parts": {
"product_rk3568": {
"module_list": [
"//vendor/hihope/rk3568/default_app_config:default_app_config",
"//vendor/hihope/rk3568/image_conf:custom_image_conf",
"//vendor/hihope/rk3568/preinstall-config:preinstall-config",
"//vendor/hihope/rk3568/resourceschedule:resourceschedule",
"//vendor/hihope/rk3568/etc:product_etc_conf",
"//vendor/hihope/rk3568/hals/audio:hdf_audio_config",
"//vendor/hihope/rk3568/hals/codec/:hdf_codec_config",
"//vendor/hihope/rk3568/hdf_config/uhdf:hdf_config",
"//vendor/hihope/rk3568/window_config:window_config",
"//developtools/dropbear:dropbear"
]
}
},
"subsystem": "product_hihope"
}
4.修改openharmony源码文件vendor/hihope/rk3568/config.json
添加:
{
"subsystem": "developtools",
"components": [
{
"component": "dropbear",
"features": []
}
]
}
如下:
......
{
"subsystem": "ai",
"components": [
{
"component": "mindspore",
"features": []
}
]
},
{
"subsystem": "developtools",
"components": [
{
"component": "dropbear",
"features": []
}
]
},
{
"subsystem": "msdp",
"components": [
{
"component": "device_status",
"features": [
"fusion_interaction_coordination = false"
]
}
]
},......
5.openharmony源码目录下执行编译
./build.sh --product-name rk3568 --ccache --target-cpu arm64
编译成功后把
out/rk3568/packages/phone/images
镜像文件烧录到板卡
6.测试
进入系统后,查看
/etc/init/dropbear.cfg
/data/dropbear
已经生成,但是执行命令
ps -ef | grep drop
root 278 1 0 22:59:26 ? 00:00:00 dropbear_service dropbear -RB
root 1367 1331 3 23:02:38 ttyFIQ0 00:00:00 grep drop
查看dropbear服务已经启动。
注意:如果系统开启了SELinux,因为权限问题dropbear服务可能启动不了。
关闭SELinux方法,修改
vendor/hihope/rk3568/config.json
改build_selinux为false
或者添加SELinux规则,使dropbear服务在SELinux开启时也可以启动。
如果dropbear服务没有自动启动,可以手动方式启动dropbear服务:
dropbear_service dropbear -RB
配置网卡ip
ifconfig eth0 10.18.18.21
PC端使用ssh工具登录,
用户名:shell或者root
密码:123456
密码可以通过修改dropbear.cfg配置文件的DROPBEAR_PASSWORD参数更改。
openharmony-dropbaer源码是参考
https://gitee.com/xfan1024/oh-dropbear
基础上修改,另外还参考了
https://gitee.com/fuqingxin/openharmony-3.2release_-ok3568-c/tree/master/dropbear
的源码
感谢上述两位作者!