体验编译构建 OpenHarmony
一、说明
OpenHarmony是由开放原子开源基金会(OpenAtom Foundation)的开源项目,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,促进万物互联产业的繁荣发展。
二、基于ubuntu环境构建
注:ubuntu版本20.04
(一)安装更新组件
sudo apt-get install build-essential gcc g++ make zlib* libffi-dev sudo apt-get install dosfstools mtools mtd-utils default-jre default-jdk sudo apt-get install git git-lfs ruby libncurses5 python3-pip curl sudo apt-get install flex bison ccache libtool sudo apt autoremove
(二)python和pip3
sudo rm -rf /bin/sh sudo ln -s /bin/bash /bin/sh sudo ln -sf /usr/bin/python3.8 /usr/bin/python pip3 install --upgrade pip pip3 install setuptools pip3 install kconfiglib pip3 install pycryptodome pip3 install six pip3 install ecdsa pip3 install scons python3 -m pip install --user ohos-build
(三)配置gitee
git config --global user.email "you@mail.com" git config --global user.name "your name" git config --global credential.helper store
(四)下载repo
curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > ~/repo sudo chmod a+x ~/repo sudo mv ~/repo /usr/bin/repo pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
(五)最新版mater仓库
cd ~ mkdir ohos cd ohos repo init -u https://gitee.com/openharmony/manifest.git -b master --no-repo-verify repo sync -c repo forall -c git lfs pull
(六)下载配置编译器
./build/prebuilts_download.sh
(七)编译构建
./build.sh --product-name Hi3516DV300 --ccache
三、基于openEuler环境 基本与ubuntu安装方法一样,不过这里安装组件用dnf install,部分组件未集成,需手工安装。 (一)组件安装
sudo dnf -y install gcc bc gcc-c++ ncurses ncurses-devel cmake elfutils-libelf-devel openssl-devel bison flex sudo dnf -y install binutils.x86_64 gnupg2.x86_64 flex.x86_64 bison.x86_64 zip.x86_64 curl.x86_64 ccache.x86_64 unzip.x86_64 m4.x86_64 gperf.x86_64 sudo dnf -y install dosfstools.x86_64 mtools.x86_64 mtdev.x86_64 mtdev-devel.x86_64 sudo dnf -y install java ruby sudo dnf -y install lzo.x86_64 lzo-devel.x86_64 sudo dnf -y install zstd-devel.x86_64 zstd.x86_64 sudo dnf -y install uboot-tools.x86_64 sudo dnf -y install libvirt.x86_64 libvirt-daemon.x86_64 sudo dnf -y install bridge-utils.x86_64 sudo dnf -y install libatomic-static.x86_64 libatomic.x86_64 boost-atomic.x86_64 sudo dnf -y install libstdc++-static.x86_64 libstdc++.x86_64
(二)内核增加驱动模块 1、源码编译安装mtd-utils
wget ftp://ftp.infradead.org/pub/mtd-utils/mtd-utils-2.1.2.tar.bz2 tar -xvf mtd-utils-2.1.2.tar.bz2 cd mtd-utils-2.1.2 ./configure --prefix=/usr make -j4 sudo make install
2、开启jffs2文件系统支持:
File systems -> Miscellaneous filesystems ->
[*] Flash File System JFFS2
3、kernel开启mtdram
Device Drivers ->
[*]Memory Technology Device (MTD) support ->
[M] Caching block device access to MTD devices
Self-contained MTD device drivers ->
<M> Test driver using RAM
4、安装驱动
sudo make modules sudo make modules_install
5、安装python2.7(若需要可参考)
wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz tar -xvf Python-2.7.18 cd Pythob-2.7.18 ./configure --prefix=/usr make -j4 sudo make install 将python链接修改为python2.7,以后需要3.8可以自行修改 sudo ln -sf /usr/bin/python2.7 /usr/bin/python
6、安装git-lfs(系统暂未集成,可直接借用centos).
sudo dnf install https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/g/git-lfs-2.10.0-1.el7.x86_64.rpm
(三)其它配置与ubuntu一致(略) 三、qemu虚拟机测试
hb set qemu_small_system_demo hb build ./qemu-run
