持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第22天,点击查看活动详情
docker镜像导入:
生成公钥
ssh-keygen -t rsa -C "852851198@qq.com"
查看公钥
cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....
配置
git config --global user.name "坚果"
git config --global user.email "852851198@qq.com"
git config --global credential.helper store
安装码云repo工具,可以执行如下命令。
curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo #如果没有权限,可下载至其他目录,并将其配置到环境变量中chmod a+x /usr/local/bin/repo
pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
获取源码
repo init -u git@gitee.com:openharmony/manifest.git -b refs/tags/OpenHarmony-v3.1.1-Release --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
下载以下交叉编译工具链: 交叉编译工具链下载
新建tools文件夹
将压缩包放至这儿。然后执行以下命令将压缩包解压到根目录:
tar -xvf gcc_riscv32-linux-7.3.0.tar.gz -C ~
编辑.bashrc文件
vim ~/.bashrc
将以下命令拷贝到.bashrc文件的最后一行,保存并退出。
export PATH=~/gcc_riscv32/bin:$PATH
生效环境变量。
source ~/.bashrc
Shell命令行中输入如下命令,如果能正确显示编译器版本号,表明编译器安装成功。
riscv32-unknown-elf-gcc -v
此时安装预编译工具包
# 预编译工具包:下载和编译时间较长,请耐心等待
./build/prebuilts_download.sh
编译代码:以下操作在docker环境内执行【耗时较长,请耐心等待】
编译标准版:编译过程较长,可能长达数小时
DAYU200: rk3568:
# 执行编译脚本:如首次编译不成功,且不是下述错误,可考虑再次运行
./build.sh --product-name rk3568 --ccache
# 如编译失败,提示curl目录下的问题,则可以如下处理,然后继续编译:
cd third_party/curl/
git stash
cd ../../
# 编译完成,显示如下信息:
[OHOS INFO] rk3568 build success
[OHOS INFO] cost time: 编译时间很长,作者环境初次4小时以上
# 编译完成后,刷机镜像文件位于:
# out/rk3568/packages/phone/images/
就可以烧录了
导出镜像
docker export f8dc8c5569a7 > openharmony3.tar
root@f8dc8c5569a7:/home#
其中 > 表示输出到文件,openharmony3.tar为目标文件,f8dc8c5569a7
是源容器ID(name)
现在正在导出中。
使用 docker import 命令则可将这个镜像文件导入进来。
docker import OpenHarmony-xxx.tar oh:v1
import是导入镜像的意思
OpenHarmony-xxx.tar 是需要导入的镜像,
my_openharmony:v1: my_openharmony是镜像名称,v1是TAG
导入之后运行
docker run -it oh:v1 /bin/bash