实际上Sipeed已经提供好了一个可以直接使用得docker镜像:https://wiki.sipeed.com/hardware/zh/lichee/RV/user.html#BSP-SDK-%E5%BC%80%E5%8F%91%E6%8C%87%E5%8D%97 但由于文件放在百度云上,看了一下有9个G,不知要下到猴年马月,于是干脆自己搭个docker
之所以使用docker主要是考虑到我的linux机器上已经有很多其他工具链了,不想污染原来的环境,使用docker可以方便地将RV编译环境与其他环境隔离。
(注:以下host环境和docker环境均为ubuntu 20.04 )
docker安装
sudo apt-get install docker.io
sudo docker pull ubuntu
安装完成后,使用docker images 应该能看到ubuntu的镜像。
运行及进入docker环境
sudo docker run -itd --name ubuntu-docker ubuntu
sudo docker exec -it ubuntu-docker /bin/bash
如果一切正常,应该能看到:
root@70da20904b34:/#
注意,这个ubuntu的镜像十分的简朴(简陋),请自行安装vim等编辑器。
Tina编译环境安装
编译环境的安装可以参考全志的教程:编译环境配置 – D1-H (aw-ol.com)
我这里把主要步骤给贴了过来:
sudo apt-get update
sudo apt-get install build-essential subversion git-core libncurses5-dev zlib1g-dev gawk flex quilt libssl-dev xsltproc libxml-parser-perl mercurial bzr ecj cvs unzip lib32z1 lib32z1-dev lib32stdc++6 libstdc++6 -y
接着运行:
sudo apt-get install libc6-i386 lib32ncurses6 lib32z1
(此处与全志教程稍有不同,因为ubuntu版本有点区别)
装完之后,建个新用户来编译(使用root编译会有奇奇怪怪的问题,此为经验总结,并无理论支撑,如果有人知道根本原因希望能指导一下,个人猜测是rootfs构建的时候,如果用root,可能会有一些权限问题)
mkdir /home/XXXX
useradd XXXX -d /home/XXXX
passwd XXXX
cp /etc/skel/.b* /home/XXXX/
cp /etc/skel/.p* /home/XXXX/
Tina SDK下载及编译
Tina下载
直接登陆全志客户服务平台 (allwinnertech.com)后,找到 资源下载, 上面有详细指导。
第一次编译
source build/envsetup.sh
lunch
make -j1 (第一次编译建议使用单核编译,如果出错方便找到准确的报错位置)
pack
如果不出意外的话,第一次编译应该会失败的
失败原因及解决方法可以参考这里:使用Ubuntu20.04 LTS编译D1-Tina踩坑记录 | 全志在线开发者论坛 (aw-ol.com) (坑3)