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

本文详细描述了在NVIDIAJetsonOrinNano上安装Linux36.2系统,包括NVIDIAJetpack的安装,基本远程环境设置(SSH、Samba、VNC)以及开发环境的配置,强调了Linux环境的通用性和基础环境搭建的重要性。

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 samba软链接访问

如果在[global]下增加以下配置,则软链接目录只要权限合适,也能像正常目录一样被Windows系统访问。

   follow symlinks = yes
   wide links = yes
   unix extensions = no

2.3.4 VNC远程登录

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

$ sudo apt install lightdm
$ sudo reboot

在这里插入图片描述在这里插入图片描述
如果选错了,请使用下面命令行进行重新配置:

$ sudo dpkg-reconfigure lightdm

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的开发!

### 安装和使用 PyOrbbec 库 对于希望在 Jetson Orin Nano 平台上利用 Python 进行三维视觉开发的开发者来说,PyOrbbec 是一个重要的库。然而,在官方文档以及提及 Jetson Orin Nano 配置的文章中并未直接涉及 PyOrbbec 的安装指南[^1][^2]。 #### 准备工作 为了确保能够顺利安装并运行 PyOrbbec,建议先完成基本的操作系统设置与更新: ```bash sudo apt-get update && sudo apt-get upgrade -y ``` 接着确认已经按照 Linux 36.236.3 版本的要求完成了 Jetson Orin Nano 基础环境的搭建,这通常包含了必要的依赖项和其他软件包的预处理。 #### 安装 PyOrbbec 尽管没有针对 Jetson Orin Nano 明确提到 PyOrbbec 的具体指导,可以尝试通过 pip 工具来获取该库。在此之前,可能还需要安装一些额外的支持组件如 libusb 或者其他由硬件制造商提供的 SDKs 来支持设备连接功能。 ```bash pip3 install pyorbbec ``` 如果遇到任何兼容性问题,则需查阅 Orbbec 提供的具体产品手册或技术支持资源,以获得更详细的帮助和支持信息。 #### 使用 PyOrbbec 一旦成功安装了 PyOrbbec 后,就可以编写简单的测试脚本来验证其是否正常工作。下面是一个读取深度图像的例子: ```python import numpy as np from pyorbbec import ObDeviceManager, ObDepthCameraExposureGainPair def main(): device_manager = ObDeviceManager() devices = device_manager.get_device_list() if not devices: print("No device connected.") return camera = devices[0].create_depth_camera() exposure_gain_pair = ObDepthCameraExposureGainPair(7000, 800) try: while True: frame = camera.read_frame() depth_data = np.array(frame.get_raw_data()) # Process the data here... print(f"Min Depth: {np.min(depth_data)}, Max Depth: {np.max(depth_data)}") except KeyboardInterrupt: pass finally: camera.close() if __name__ == "__main__": main() ``` 此代码片段展示了如何初始化摄像头对象,并持续捕获帧数据直到用户中断程序执行为止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值