基于openharmony平台的RK3568开发板调试问题经验总结(持续更新)

经验汇总

Release-3.1版本下载命令

每个仓下的log记录只有有一条,有效减小本地存储占用。可以通过修改depth来调整log数量

repo init -u https://gitee.com/openharmony/manifest.git -b OpenHarmony-3.1-Release --no-repo-verify --depth 1; 
repo sync -c --no-tags

获取写权限命令

hdc shell mount -o remount,rw /

问题总结

编译类

1、FAILED: packages/phone/images

【问题现象】

基于openharmony平台的RK3568开发板调试问题经验总结(持续更新)_第1张图片

【问题原因】

缺少文件系统制作工具和压缩工具:genext2fs、liblz4-tool,导致无法完成镜像打包

【解决办法】
apt-get install genext2fs
apt-get install liblz4-tool

环境类

1、wsl存储空间不足

转载参考:http://www.xfy-learning.com/2020/05/30/WSL%E5%A4%87%E4%BB%BD%E4%B8%8E%E8%BF%98%E5%8E%9F/

【问题现象】

wsl默认是安装在c盘,在rk3568编译过程中,出现磁盘占用暴涨的诉求,如果c盘空间不足,将导致编译活动停止

【解决办法】

利用wsl export/import备份还原linux子系统,将c盘中的内容迁移到其他空间充足的盘
1、wsl -l查看linux子系统名称,如Ubuntu20.04 (默认),其中(默认)指的是打开wsl终端时默认启动的子系统,此处不用例会。所以下文中原始的对应此处的Ubuntu20.04

PS C:\Users\Administrator> wsl -l
适用于 Linux 的 Windows 子系统分发版:
Ubuntu20.04 (默认)

2、wsl -l --running查看该子系统是否在运行,如果运行则通过命令wsl --export 终止其运行。此处应该使用命令:wsl -t Ubuntu
3、使用wsl --export 来备份子系统,相当于将原来的系统做了一个镜像文件,并放置到下。此处应该使用命令:wsl --export Ubuntu F:\wsl\Ubuntu2004.tar
4、使用wsl --import ,将镜像恢复回子系统。此处应该使用命令:wsl --import Ubuntu F:\wsl\Ubuntu2004\ F:\wsl\Ubuntu2004.tar
基于openharmony平台的RK3568开发板调试问题经验总结(持续更新)_第2张图片5、使用wsl --unregister Ubuntu注销原始子系统,注销后c盘空间得到释放
基于openharmony平台的RK3568开发板调试问题经验总结(持续更新)_第3张图片6、迁移wsl路径后,用户默认变更为root,需要通过修改注册表进行变更
WSL-SetDefaultUser Ubuntu yourname中的yourname修改成原先的用户名,并执行即可。

# 定义函数WSL-SetDefaultUser,接收参数distro和user
Function WSL-SetDefaultUser ($distro, $user) { Get-ItemProperty Registry::HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\*\ DistributionName | Where-Object -Property DistributionName -eq $distro | Set-ItemProperty -Name DefaultUid -Value ((wsl -d $distro -u $user -e id -u) | Out-String); };

# 调用函数,此处对应发行版名称Ubuntu,用户名为yourname: WSL-SetDefaultUser  
WSL-SetDefaultUser Ubuntu yourname

# 取消函数定义
Remove-Item Function:WSL-SetDefaultUser

7、执行命令wsl,启动Ubuntu子系统

【遗留问题】

变更后,继续执行rk3568的构建,会卡在关系分析的环节,还在分析原因中

你可能感兴趣的:(openharmony学习,harmonyos,iot)