dnf remove -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
dnf install -y moby-engine moby-cli moby-compose
个人使用请勿留言
dnf remove -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
dnf install -y moby-engine moby-cli moby-compose
相关网站1,https://www.jetson-ai-lab.com/
相关网站2,https://developer.nvidia.com/embedded/jetpack/downloads
Json Nano需要使用6.2.1 https://developer.nvidia.com/embedded/jetpack-sdk-621
终于可以摆脱使用愚蠢的 NVIDIA SDK Manager将系统安装到SSD了
推荐使用 Etcher 作为Image的写卡工具 https://etcher.balena.io/
将SD Card Image写入你的Nvme SSD

打开任意可以编辑Linux分区文件的工具,比如Disk Genius
下载/boot/extlinux/extlinux.conf 文件并使用合适工具编辑
找到以下位置
APPEND ${cbootargs} root=/dev/nvme1n1p1 rw rootwait rootfstype=ext4 mminit_loglevel=4 console=ttyTCU0,115200 firmware_class.path=/etc/firmware fbcon=map:0 video=efifb:off console=tty0
root=/dev/nvme1n1p1 ,将dev后面的设备从mmcblk0p1改为对应的nvme, 2280 是nvme0n1p1, 2230是nvme1n1p1 保存,上传并覆盖源文件。安装好ssd并开机。
验证Opencv版本及CUDA支持
apt install python3 python3-pip
pip3 install jetson-stats
jetson_release
原文链接 https://qengineering.eu/install-opencv-on-jetson-nano.html
1,确认Swap空间是否足够+增加Swap空间容量
vi /etc/systemd/nvzramconfig.sh
找到这一行
Calculate memory to use for zram (1/2 of ram)
totalmem=$(LC_ALL=C free | grep -e “^Mem:” | sed -e ‘s/^Mem: *//’ -e ‘s/ *.*//’)
mem=$(((“${totalmem}” / 2 / “${NRDEVICES}”) * 1024))
把它改成 去掉 / 2,变成:
Calculate memory to use for zram (ALL ram for zram, 2x previous)
totalmem=$(LC_ALL=C free | grep -e “^Mem:” | sed -e ‘s/^Mem: *//’ -e ‘s/ *.*//’)
mem=$(((“${totalmem}” / “${NRDEVICES}”) * 1024))
这样每个 zram 分区的大小会变成原来的 2 倍,总 swap 也就是现在的 2 倍左右。reboot
系统起来后,检查:
zramctl
cat /proc/swaps
2,基于脚本编译Opencv
为了简化流程,作者提供了一个一键脚本 (≈ 68 行命令),可自动执行包括依赖安装、环境配置、编译、链接、清理的全部步骤。一共大约需要 2 小时。
以安装 OpenCV 4.11.0 为例,命令如下:
先检查总内存 (RAM + swap) 是否 >= 8.5 GB
free -m
下载脚本
wget https://github.com/Qengineering/Install-OpenCV-Jetson-Nano/raw/main/OpenCV-4-11-0.sh
编辑脚本加入cmake版本信息
在# run cmake下面加入
-D CMAKE_CXX_STANDARD=17 \
sudo chmod 755 ./OpenCV-4-11-0.sh
./OpenCV-4-11-0.sh
安装完成后清理
rm OpenCV-4-11-0.sh
可选:删除源码文件,节省空间
sudo rm -rf ~/opencv
sudo rm -rf ~/opencv_contrib
如果你想安装其他版本 (4.10, 4.9, 4.8, …),也可以下载对应版本脚本执行。
改为进入shell
systemctl set-default multi-user.target
改为进入xwindows
systemctl set-default graphical.target
由于新版本snap的bug导致firefox等浏览器无法运行,安装旧版本snapd
snap download snapd –revision=24724
snap ack snapd_24724.assert
snap install snapd_24724.snap
snap refresh –hold snapd
snap install firefox
cat << EOF > 文件名
内容行1
内容行2
内容行3
EOF
# vi /etc/sudoers
在最后面加一行
gex ALL=(ALL) NOPASSWD: NOPASSWD: ALL
1,一样是需要在 https://www.docker.com/ 上有自己的账号。
2,vi Dockerfile 里面如下写
FROM ubuntu:latest
RUN apt update -y \
&& apt-get update \
&& apt install -y curl wget unzip jq \
&& curl -sL https://aka.ms/InstallAzureCLIDeb | bash \
&& wget -O – https://apt.releases.hashicorp.com/gpg | gpg –dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg \
&& echo “deb [arch=$(dpkg –print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main” | tee /etc/apt/sources.list.d/hashicorp.list \
&& apt update \
&& apt install terraform -y \
&& curl “https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip” -o “awscliv2.zip” \
&& unzip awscliv2.zip \
&& ./aws/install \
&& rm -rf awscliv2.zip \
&& apt upgrade -y
3,在存在Dockerfile的目录下执行
docker build -t qinzhen/ubuntu-az-tf:latest . (注意,末尾的 . 非常重要不可或缺)
在过程中可以看到进度,比如apt的安装过程或者报错等

4,之后就是docker push环节
1,一样是需要在 https://www.docker.com/ 上有自己的账号
2,docker run -it ubuntu:latest 运行一个你需要的环境,也可以先pull下来再run
3,在环境里安装自己需要的组件,下面的例子是我安装了azure cli和terraform
docker run -it ubuntu:latest
apt update -y
apt upgrade -y
apt install -y curl wget sudo vim unzip
curl -sL https://aka.ms/InstallAzureCLIDeb | sudo bash
wget -O – https://apt.releases.hashicorp.com/gpg | sudo gpg –dearmor -o /usr/share/keyrings/hashicorp-archive-keyring.gpg
echo “deb [arch=$(dpkg –print-architecture) signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main” | sudo tee /etc/apt/sources.list.d/hashicorp.list
sudo apt update && sudo apt install terraform -y
curl “https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip” -o “awscliv2.zip”
unzip awscliv2.zip
sudo ./aws/install
3,创建image:不要退出刚才的容器新连接一个ssh
docker commit -m “description” -a “author” <容器id> repository:tag
“description”:描述信息。
“author”:作者名。
<容器id>:可以在就终端那里看到,形如root@2ce6712ef339:/#。可以看到<容器id>是2ce6712ef339。
reposiory:镜像仓库名,任取即可。
tag:镜像标签名,任取即可。
在本例中,生成镜像使用如下命令
docker commit -m “ubuntu-az-terrafrom” -a “Zhen Qin” 6d726081f0fa qinzhen/ubuntu-az-tf:latest
4,将自建的Docker镜像推送至Docker Hub
docker push qinzhen/ubuntu-az-tf:latest
1,到docker.io上注册账号。
2,找一台装了docker的linux机器执行docker login登录docker hub
下载镜像
docker pull teddysun/kms
打标签
docker tag teddysun/kms:latest qinzhen/kms:latest
推送
docker push qinzhen/kms:latest
之后Docker Hub里就可以看到


3,在harbor中创建–仓库管理

4,在harbor中创建–复制管理 (成功后点复制就可以下载所有之前打过标签的镜像)
