Ubuntu
ArtInChip 推荐的 Linux 发行版为 Ubuntu 20.04 LTS(Long Term Support)版本,本节以此版本展示 Ubuntu 系统安装流程和注意事项。如使用其他版本,需要安装软件包对应的依赖和版本。
系统安装注意事项
安装 Ubuntu 系统时,需注意以下事项:
-
至少保留 10 GB 磁盘空间,用于保存 SDK 源码。
-
若使用虚拟机,不建议将 SDK 放在虚拟机与实体机的共享目录。
下载 Baremetal
Baremetal 的代码托管于 Gitee 服务器中,可通过如下方式进行下载(确保已安装 git 工具):
git clone https://gitee.com/artinchip/baremetal.git
搭建开发环境
-
GCC 版本 ≥ 6.4
-
GLIBCXX 版本 ≥ 3.4.22(在 libstd++.so.6 库文件中查看该版本号)
-
Python3 版本 ≥ 3.5
-
一键安装
-
手动安装
-
Python 安装
一键安装
-
开发环境中有可用的软件源。
-
且已有 apt-get 工具。Ubuntu 系统用 apt-get 工具完成软件安装。一键安装脚本也需要用到此 apt-get 工具。
-
执行以下一键安装脚本命令:
cd Luban_SDK_Root_Directory/ ./tools/scripts/oneclick.sh quiet
注:oneclick.sh 目前已支持的系统有:
- Ubuntu 14.04、16.04、18.04、20.04、22.04
- CentOS 7.x、8.x
Ubuntu 14.04、16.04 和 CentOS 7.x 自带的 GCC 版本太低, oneclick.sh 会自动编译安装一份 GCC 6.4。
-
等待安装完成。安装成功后,系统会返回以下提示信息:
... fdt 0.3.2 [OK] >>> Congratulations! All the package is ready. >>> Enjoy the LubanOS!
注:- oneclick.sh 会自动检查当前系统的版本、环境,在软件源可以正常访问的情况下,逐个安装 Luban 需要的软件工具。
- 执行 oneclick.sh 时的
quiet 参数会隐藏所有需要用户确认的环节,如果去掉
quiet
参数,会在以下几个软件包的安装时提问是否继续:
- GCC
- Python3
- Python3-dev
- Python3-pip
-
如需要,可以通过手动执行下列 apt-get 命令来逐个安装依赖,否则可以跳过此步。
sudo apt-get update sudo apt-get install build-essential python3 python3-pip sudo pip install pycrypto sudo pip install fdt
手动安装
-
执行下列命令分别安装对应的 deb 离线包:
-
tools 包
cd tools sudo dpkg -i *.deb
-
python 包
cd python sudo dpkg -i *.deb
-
vim 包
cd vim sudo dpkg -i vim-tiny_2%3a8.1.2269-1ubuntu5.7_amd64.deb
-
-
执行下列命令完成所选 deb 文件的安装:
sudo dpkg -i *.deb
-
deb 文件安装完成后,如发现依赖缺失,可按照下列任意一种方式解决,否则可跳过此步。
不同的系统的依赖可能会有不同。
- 单独安装某一 deb 安装包,获取缺失的依赖。
- 在另外一有网络环境的计算机上下载缺失的依赖包。
- 复制所下载的依赖包到本服务器,安装依赖包
aic@aic-virtual-machine:~/work/test$ sudo dpkg -i libgcc-9-dev_9.3.0-17ubuntu1~20.04_amd64.deb ...... dpkg: dependency problems prevent configuration of libgcc-9-dev:amd64: libgcc-9-dev:amd64 depends on libitm1 (≥ 9.3.0-17ubuntu1~20.04); however: Package libitm1 is not installed. libgcc-9-dev:amd64 depends on libatomic1 (≥ 9.3.0-17ubuntu1~20.04); however: Package libatomic1 is not installed. libgcc-9-dev:amd64 depends on libasan5 (≥ 9.3.0-17ubuntu1~20.04); however: Package libasan5 is not installed. libgcc-9-dev:amd64 depends on liblsan0 (≥ 9.3.0-17ubuntu1~20.04); however: Package liblsan0 is not installed. libgcc-9-dev:amd64 depends on libtsan0 (≥ 9.3.0-17ubuntu1~20.04); however: Package libtsan0 is not installed. libgcc-9-dev:amd64 depends on libubsan1 (≥ 9.3.0-17ubuntu1~20.04); however: Package libubsan1 is not installed. libgcc-9-dev:amd64 depends on libquadmath0 (≥ 9.3.0-17ubuntu1~20.04); however: Package libquadmath0 is not installed. dpkg: error processing package libgcc-9-dev:amd64 (--install): dependency problems - leaving unconfigured Errors were encountered while processing: libgcc-9-dev:amd64 aic@aic-virtual-machine:~/work/test$ apt-get download libitm1 libatomic1 libasan5 liblsan0 libtsan0 libubsan1 libquadmath0 Get:1 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 libasan5 amd64 9.3.0-17ubuntu1~20.04 [394 KB] Get:2 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 libatomic1 amd64 10.3.0-1ubuntu1~20.04 [9,284 B] Get:3 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 libitm1 amd64 10.3.0-1ubuntu1~20.04 [26.2 KB] Get:4 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 liblsan0 amd64 10.3.0-1ubuntu1~20.04 [835 KB] Get:5 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 libquadmath0 amd64 10.3.0-1ubuntu1~20.04 [146 KB] Get:6 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 libtsan0 amd64 10.3.0-1ubuntu1~20.04 [2,009 KB] Get:7 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 libubsan1 amd64 10.3.0-1ubuntu1~20.04 [784 KB] Fetched 4,204 KB in 18s (231 KB/s) aic@aic-virtual-machine:~/work/test$ cp *.deb /media/aic/SDCARD/
Python 安装
-
编译安装
- 下载源码进行安装,例如使用通用的 pip 工具,通过源码 build 安装,以 pip-22.0.3
为例:
cd pip-22.0.3/ python3 setup.py build sudo python3 setup.py install
关于其他 Python 工具下载安装,可查看官网 http://www.pypi.org
- 如果有依赖,则下载并安装依赖,否则跳过此步骤。
- 下载源码进行安装,例如使用通用的 pip 工具,通过源码 build 安装,以 pip-22.0.3
为例:
-
压缩包安装
- Python 的打包格式有 Wheel(.whl) 和 Egg(.egg)
,实际上两者都属于压缩文件,目的是支持不需要编译的安装过程。 Wheel 文件可以使用 pip
直接安装。
sudo pip install pycryptodome-3.14.1-cp27-cp27mu-manylinux2010.whl
- 如果有依赖,则下载并安装依赖,否则跳过此步骤。
- Python 的打包格式有 Wheel(.whl) 和 Egg(.egg)
,实际上两者都属于压缩文件,目的是支持不需要编译的安装过程。 Wheel 文件可以使用 pip
直接安装。