Bootstrap

Linux 36.2@Jetson Orin Nano之基础环境构建

1. 源由

现在流行什么,也跟风来么一个一篇。当然,后续是要用到这个AI环境的GPU算力。

不过其实很多技术都是具有共通性的,所以大可不必为此感觉很烦恼。Just do as always do!

初学爱好者都是在这种最为基础的地方卡主,然后兴趣就嘎然而止。今天安装过程中简单的在Jetson Orin Nano上敲了一个命令:

$ uname -a
Linux daniel-nvidia 5.15.122-tegra #1 SMP PREEMPT Mon Dec 18 21:24:25 PST 2023 aarch64 aarch64 aarch64 GNU/Linux

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 22.04.3 LTS
Release:        22.04
Codename:       jammy

卧槽! 这是什么,这是什么。。。。不用多说了吧。

注:安装的是NVIDIA Jetson Linux 36.2系统。

好嘛,那就照搬咯,那我们来看看是不是一样。

2. 步骤

2.1 安装NVIDIA Jetson Linux 36.2系统

略,这部分不介绍了,就是Jetson Orin Nano Quick Start的烧录。

$ sudo apt show nvidia-jetpack
Package: nvidia-jetpack
Version: 6.0-b52
Priority: standard
Section: metapackages
Maintainer: NVIDIA Corporation
Installed-Size: 199 kB
Depends: nvidia-jetpack-runtime (= 6.0-b52), nvidia-jetpack-dev (= 6.0-b52)
Homepage: http://developer.nvidia.com/jetson
Download-Size: 29.3 kB
APT-Manual-Installed: yes
APT-Sources: https://repo.download.nvidia.com/jetson/common r36.2/main arm64 Packages
Description: NVIDIA Jetpack Meta Package

装完,系统更新下,常规操作!

$ sudo apt-get update
$ sudo apt-get upgrade

2.2 必备软件安装

新增nano和tree命令:

$ sudo apt-get install aptitude tree nano 
$ sudo apt-get install vim net-tools
  • tree: 目录结构,对AI程序、工程不熟悉,还是装一个适时使用。
  • nano: ubuntu上经常用的,这里没有不太习惯。
  • aptitude: 主要用于系统内搜索软件包使用。
  • [Jetson Orin Nano自带]vim: 本人的笔记本按键有的时候会乱,但是装了vim就不会,因此,必装。
  • [Jetson Orin Nano自带]net-tools: 使用ifconfig查询当前IP地址的。

2.3 基本远程环境

2.3.1 远程ssh登录

Jetson Orin Nano镜像自带openssh-server,所以下面安装命令可以直接跳过。

$ sudo apt-get install openssh-server

2.3.2 samba局域网

局域网内,映射一个网络硬盘到Windows机器上办公,还是非常方便的。

$ sudo apt-get install samba

因为samba是独立于linux系统的一个应用软件,其用户/目录需要明确指定。

一般常用安装时的用户名和目录,这里使用daniel

$ sudo smbpasswd -a daniel

samba配置非常简单

$ sudo nano /etc/samba/smb.conf

只要将HOME下的一些注释调整下即可,主要修改内容如下:

# Un-comment the following (and tweak the other settings below to suit)
# to enable the default home directory shares. This will share each
# user's home directory as \\server\username
[homes]
   comment = Home Directories
   browseable = no

# By default, the home directories are exported read-only. Change the
# next parameter to 'no' if you want to be able to write to them.
   read only = no

# File creation mask is set to 0700 for security reasons. If you want to
# create files with group=rw permissions, set next parameter to 0775.
   create mask = 0700

# Directory creation mask is set to 0700 for security reasons. If you want to
# create dirs. with group=rw permissions, set next parameter to 0775.
   directory mask = 0700

# By default, \\server\username shares can be connected to by anyone
# with access to the samba server.
# Un-comment the following parameter to make sure that only "username"
# can connect to \\server\username
# This might need tweaking when using external authentication schemes
   valid users = %S

配置完成后,重新启动服务。

$ sudo service smbd restart

注:关于软连接的设置,详见:《Linux 36.3 + JetPack v6.0@jetson-inference之图像分类》

2.3.3 VNC远程登录

*lightdm安装,请选择lightdm选项。

$ sudo apt install lightdm
$ sudo reboot

在这里插入图片描述在这里插入图片描述

x11vnc安装*

$ sudo apt install x11vnc

x11vnc配置,mypassword请根据自己的需要进行修改,这只是VNC连接的密码,并非系统登录用户密码。

$ sudo nano /lib/systemd/system/x11vnc.service
$ sudo cat /lib/systemd/system/x11vnc.service
[Unit]
Description=x11vnc service
After=display-manager.service network.target syslog.target

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -forever -display :0 -auth guess -passwd mypassword
ExecStop=/usr/bin/killall x11vnc
Restart=on-failure

[Install]
WantedBy=multi-user.target

x11vnc自启动

$ systemctl daemon-reload
$ systemctl enable x11vnc.service
$ systemctl start x11vnc.service

x11vnc状态查询

$ systemctl status x11vnc.service

在这里插入图片描述

2.4 开发环境安装

这个因人而异,不再展开。通常来说git/svn/cvs等代码库软件是必须的。

不过Jetson自带了Git。

$ sudo apt-get install git subversion

注:Github代码下不来,可以参考:Github操作网络异常笔记

3. 总结

熟悉Linux好处就是多,看看,这么一顿操作下来,也没什么差别嘛!

  1. 基本的环境安装基本也就是30分钟的事情。
  2. 更多的时间应该专注在领域技术细节分析和问题研究。

通过整理,与大家一起共勉,参与Jetson AI的开发!

;