赞
踩
爬坑点记录总结:
预备工作
准备环境
其中,Linux主机用于源码下载和编译,Windows主机用于烧写程序到单板以及源码编辑。
软件环境
sudo dpkg-reconfigure dash
选择“No”。
2. 配置Windows远程访问Ubuntu环境
#安装SSH服务并获取远程访问的IP地址
#在Ubuntu系统中,打开终端工具,执行如下命令安装SSH服务。
sudo apt-get install openssh-server
sudo systemctl start ssh
#在“https://mirrors.ustc.edu.cn/repogen/”下载对应版本最新的源。
#在下载好的文件(sources.list)所在的位置开启一个终端窗口,执行下列命令。 备份原始文件: sudo cp /etc/apt/sources.list /etc/apt/source.list.bak 替换源:sudo mv -f sources.list /etc/apt/ 更新软件包索引:sudo apt update #注意:如果找不到替换源,可以使用一下命令替换: 第一步:备份配置文件: sudo cp -a /etc/apt/sources.list /etc/apt/sources.list.bak 第二步修改sources.list文件,将http://archive.ubuntu.com和http://security.ubuntu.com 替换成http://repo.huaweicloud.com,可以参考如下命令: sudo sed -i "s@http://.*archive.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list sudo sed -i "s@http://.*security.ubuntu.com@http://repo.huaweicloud.com@g" /etc/apt/sources.list 第三步更新软件包索引: sudo apt update 配置国内源 Pip的配置文件为用户根目录下的: Linux路径为:~/.pip/pip.conf Windows路径为:C:\Users\<UserName>\pip\pip.ini) 可以配置如下内容: [global] index-url = https://repo.huaweicloud.com/repository/pypi/simple trusted-host = repo.huaweicloud.com timeout = 120
#需要分两步进行安装。注意,这里比较重要,官网文档用一步进行安装,会出现问题,导致安装不完整,从而导致后期编译出现“3000”错误。
sudo apt-get install binutils binutils-dev git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3.8 python3-pip ruby genext2fs device-tree-compiler make libffi-dev e2fsprogs pkg-config perl openssl libssl-dev libelf-dev libdwarf-dev u-boot-tools mtd-utils cpio doxygen liblz4-tool openjdk-8-jre gcc g++ texinfo dosfstools mtools default-jre default-jdk libncurses5 apt-utils wget scons python3.8-distutils tar rsync git-core libxml2-dev lib32z-dev grsync xxd libglib2.0-dev libpixman-1-dev kmod jfsutils reiserfsprogs xfsprogs squashfs-tools pcmciautils quota ppp libtinfo-dev libtinfo5 libncurses5-dev libncursesw5 libstdc++6 gcc-arm-none-eabi vim ssh locales libxinerama-dev libxcursor-dev libxrandr-dev libxi-dev
sudo apt-get install gcc-arm-linux-gnueabi gcc-9-arm-linux-gnueabi
#设置默认Python解释器,python和python3软链接为python3.8:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 1
python --version
#安装python包管理工具(pip3):
sudo apt install python3-pip
#配置pip软件包更新源:
mkdir ~/.pip
pip3 config set global.index-url https://mirrors.huaweicloud.com/repository/pypi/simple
pip3 config set global.trusted-host mirrors.huaweicloud.com
pip3 config set global.timeout 120
#用于在开发环境中使用VS Code编写代码。执行下列命令安装samba并打开配置文件: sudo apt install samba sudo gedit /etc/samba/smb.conf #在配置文件末尾添加以下内容: [home] comment = User Homes path = /home/{make} guest ok = no writable = yes browsable = yes create mask = 0755 directory mask = 0755 #建立用户并设置密码(请将下面的用户名换成您自己的): sudo smbpasswd -a make #重启samba: sudo service smbd restart
#安装git-lfs,会自动安装git: sudo apt install git-lfs #方式一:安装repo和requests: wget https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 sudo mv repo-py3 /usr/local/bin/repo sudo chmod a+x /usr/local/bin/repo pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests #方式二:个人推荐这种 安装repo和requests: # 安装git/git-lfs/python/curl: sudo apt install git git-lfs python3-pip curl #安装码云repo工具命令: mkdir ~/bin curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > ~/bin/repo chmod a+x ~/bin/repo pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
#配置git和SSH公钥 #注册码云gitee帐号。 #注册码云SSH公钥,请参考码云帮助中心。 #配置git用户信息,执行如下命令: #配置git(请将下面的邮箱和用户名换成您自己的): git config --global user.email "edu@qqq.cn" git config --global user.name "edu" git config --global credential.helper store git config --global --add safe.directory "*" #生成/添加SSH公钥 你可以按如下命令来生成 sshkey: ssh-keygen -t ed25519 -C "xxxxx@xxxxx.com" # Generating public/private ed25519 key pair... 按照提示完成三次回车,即可生成 ssh key。 通过查看 ~/.ssh/id_ed25519.pub 文件内容,获取到你的 public key cat ~/.ssh/id_ed25519.pub # ssh-ed25519 AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....
#添加后,在终端(Terminal)中输入
ssh -T git@gitee.com 或者 ssh -T git@git.oschina.net ---主要是用这个命令来测试连接是否畅通
首次使用需要确认并添加主机到本机SSH可信列表。
若返回 Hi XXX! You've successfully authenticated, but Gitee.com does not provide shell access.
内容,则证明添加成功。
添加成功后,就可以使用SSH协议对仓库进行操作了。
#以4.0为例(可以拉取branch或tag,这里使用branch): mkdir -p ~/openharmony/4.0 cd ~/openharmony/4.0 #源码下载方式一:通过repo + https 下载 repo init -u https://gitee.com/openharmony/manifest -b OpenHarmony-4.0-Release --no-repo-verify repo sync -c repo forall -c 'git lfs pull' #源码下载方式二:从版本发布Tag节点获取源码。可获取与版本发布时完全一致的源码:通过repo + https 下载 repo init -u https://gitee.com/openharmony/manifest -b refs/tags/OpenHarmony-v4.0-Release --no-repo-verify repo sync -c repo forall -c 'git lfs pull' #源码下载方式三:(推荐这种) repo init -u git@gitee.com:openharmony/manifest.git -b OpenHarmony-4.0-Release --no-repo-verify repo sync -c repo forall -c 'git lfs pull' #源码下载方式四:从版本发布Tag节点获取源码。可获取与版本发布时完全一致的源码。 repo init -u git@gitee.com:openharmony/manifest.git -b refs/tags/OpenHarmony-v4.0-Release --no-repo-verify repo sync -c repo forall -c 'git lfs pull' #在源码根目录下执行prebuilts脚本,安装编译器及二进制工具: bash build/prebuilts_download.sh #下载的prebuilts二进制默认存放在与OpenHarmony同目录下的OpenHarmony_2.0_canary_prebuilts下 # prebuilts_download.sh这个脚本会创建prebuilts目录,并将边回忆工具链下载、解压到这个目录下: #以上全部完成后,磁盘空间占用50G: du -d1 -h .
#在源码根目录运行如下命令安装hb并更新至最新版本:
python3 -m pip install --user build/hb
#设置环境变量:
echo 'export PATH=~/.local/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
12. 查看可执行的版本
13. 编译
#两种方式,使用hb或者build.sh。
#方式一:使用hb。在源码根目录运行如下命令(选择要编译的产品并进行编译):
hb set
hb build
#方式二:使用build.sh。命令格式为:./build.sh --product-name {product_name} --ccache
#例如,在源码根目录运行如下命令:
./build.sh --product-name rk3568 --ccache
#编译开源鸿蒙sdk,生成工具文件在 out/sdk/ohos-sdk文件夹里,有两个子文件夹(windows | linux),
可以把windows文件夹拷贝到windows主机,然后可以在toolchains里看到hdc_std.exe
./build.sh --product-name ohos-sdk
耐心等待,对于标准系统来说,完整编译过程会持续2-3小时。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。