在上一篇(https://bbs.eeworld.com.cn/thread-1217987-1-1.html)中,因为下载原因造成环境搭建不成功,在本周实验里,找到了一个代理,下载docker image飞快,成功编译并点亮的了该板卡。实验记录如下:
打开网页地址https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors,获得专用加速链接:
根据阿里的建议,在Windows 10以上的用户,推荐使用Docker for Windows,于是重新卸载Docker Toolbox后安装Docker for Windows。注意这里一定要手工将注册表和.docker目录删除干净,否则安装成功,但使用时会提示错误。
在安装Docker for Windows的时候,会提示更新WSL,从应用程序更新非常慢,可以先从https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi下载以后手工安装。
运行Docker for Windows,第一次使用,可能是需要环境准备和下载一些内容,大约需要2分钟的准备时间,后面再使用就比较快了。
按照阿里云的方案,在windows托盘打开设置功能,修改"registry-mirrors"字段,重启docker后待用。
在Microsoft Store里面直接选择Ubuntu安装,可以选择的有18、20、22,都是LTS版,我这里用的是22。
值得注意的是,首次安装会发现是WSL 1,但是我们知道在WSL 1中不能再次套用docker,所以需要修改。
使用命令wsl --set-version Ubuntu-22.04 2转换。
转换成功后再次查看,可以看到版本已更新为WSL2
进入ubuntu以后,首先是编辑/etc/resolv.conf文件修改dns,增加
nameserver 8.8.8.8
这个步骤可能和主windows系统有关,不明白原因,但试过做dns代理不太行,如果大家在系统中可以用,就不需要这步操作。
修改/etc/apt/sources.list换源,这个见仁见智,一般清华源、阿里源、华为源都不错。
再使用sudo rm /var/lib/apt/lists/* -vfr命令清空源记录。
使用sudo apt update和sudo apt upgrade更新Ubuntu的文件与源一致。
在Ubuntu环境内输入
sudo curl https://get.docker.com | sh
安装docker,安装后需要手工启动该服务
sudo service docker start
在windows中,打开docker,选择WSL集成共享功能
在windows直接拉取指定image,命令为
docker pull ghcr.io/kendryte/k510_env
因为之前已经设置了下载代理,这时拉取image的速度基本可以达到1Mbps,较之之前不可同日而语。
下载完成后,在Ubuntu环境里面,可以用
docker images
看到image已经下载成功。
首先通过git下载k510_buildroot,命令为
git clone https://github.com/kendryte/k510_buildroot.git
下载完成后,可以看到指定目录下有一个k510_buildroot目录,且有脚本文件:
k510_buildroot/tools/docker/run_k510_docker.sh
尝试执行会发现提示权限不够,这是因为需要在k510_buildroot同级目录中设置一个ccache目录,可以修改脚本或者手工建立这个目录。
执行k510_buildroot/tools/docker/run_k510_docker.sh,命令为:
./ k510_buildroot/tools/docker/run_k510_docker.sh
进入Ubuntu下的docker环境,执行make时会发现dns异常,将github.com解析为本地地址localhost:
https://github.com/kendryte/k510_buildroot/releases/download/v1.6/dl.tar.gz
Connecting to github.com (github.com)|127.0.0.1|:443... failed: Connection refused.
Connecting to github.com (github.com)|::1|:443... failed: Cannot assign requested address.
因为权限不足没法直接更新resolv.conf,因此从docker中设置环境,在Ubuntu里面修改k510_buildroot/tools/docker/run_k510_docker.sh文件,增加
-v "/etc/resolv.conf:/etc/resolv.conf:ro" \
字段
再次执行./ k510_buildroot/tools/docker/run_k510_docker.sh,进入k510编译环境,分别输入:
make dl
make
命令,可以看到
k510_buildroot/k510_crb_lp3_v1_2_defconfig/images
目录下有sysimage-sdcard.img文件
这就是编译成功的版本。
十、烧写image文件
在Ubuntu下,使用命令explorer.exe .命令打开浏览器并拷贝到桌面,用解压缩文件打开可以看到包括fat和img两个分区:
使用Win32DiskImager烧入TF卡
写入完成后,可以看到实际有三个分区
|