为了后面ubuntu下载安装软件快些,需要使用国内的源,比如清华源。
(备注:已经更新过或者不太关心下载速度可以跳过此步)
sources.list
目录:cd /etc/apt/
source.list
备份到source.list.bak
,为了防止修改失误,万一出现问题可以使用备份文件source.list.bak
进行还原。sudo cp sources.list sources.list.bak
打开清华源官网,选择自己使用的ubuntu的版本,例如:Ubuntu 20.04
https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/
使用vim打开源文件,删除原来所有的内容,然后将网站上的内容复制粘贴到源文件:
sudo vim sources.list
效果如下:
然后保存退出。
更新系统源命令如下:
sudo apt-get update
更新过程中出现了错误如下:
这里需要安装/更新证书ca-certificates,命令如下:
sudo apt-get install --reinstall ca-certificates
证书更新成功后,再次更新源:
sudo apt-get update
没有任何错误,更新成功。效果如下:
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
sudo docker run hello-world
因为需要在X86架构机器模拟ARM架构来编译,这里需要用到qemu-user-static
。qemu-user-static
是一个用于利用当前操作系统来运行其它架构的一个仿真器,可以通过x86的机器编译出其它各个架构的docker镜像。
qemu-user-static
项目的github地址:
https://github.com/multiarch/qemu-user-static
sudo apt-get install qemu
wget https://github.com/multiarch/qemu-user-static/releases/download/v5.1.0-5/qemu-aarch64-static.tar.gz
tar xzvf qemu-aarch64-static.tar.gz
sudo cp qemu-aarch64-static /usr/bin/
sudo chmod +x /usr/bin/qemu-aarch64-static
sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
安装TX2镜像
sudo docker pull nvcr.io/nvidia/l4t-base:r32.5.0
因为TX2实际的板子使用的版本为
r32.5.0
,所以这里的镜像保持一直都使用r32.5.0
版本。
运行效果如下:
创建并启动TX2容器
sudo docker run --name=TX2_Base --platform linux/arm64 -it nvcr.io/nvidia/l4t-base:r32.5.0 /bin/bash
成功创建容器并且进入的效果如下:
退出终端,直接输入exit
查看所有的容器命令如下:
sudo docker ps -a
通过查询命令可以看到刚刚被成功创建的TX2的容器,并且容器的ID为4ee9b494d6b8
,下次启动就可以直接通过容器ID来启动。
停止不使用的容器
首先查看哪些容器正在运行,命令如下:
sudo docker ps
可以看到容器4ee9b494d6b8
正在运行,如下:
然后将这个容器停止运行:
sudo docker stop 4ee9b494d6b8
执行后的效果如下:
每次当ubuntu系统重新启动之后,我们都需要重新启动一下qemu。执行如下步骤来启动前面创建的TX2容器,具体如下:
sudo docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
4ee9b494d6b8
为前面创建的TX2容器sudo docker start 4ee9b494d6b8
sudo docker exec -it 4ee9b494d6b8 /bin/bash