책 소개와 목차 · ARLOBOOKS 서재

C.1 부록의 목적

Jetson Orin Nano는 Embedded Board 책의 본문에서 다루는 MCU 중심 제어보드와 성격이 조금 다르다. MCU 보드는 전원 인가 후 바로 펌웨어가 실행되는 구조가 많지만, Jetson 계열은 Linux 기반 MPU/SBC에 가깝고 OS Image, Boot Storage, Network, Package, Driver 설정이 함께 필요하다. 이 부록은 산업용 장비에서 Jetson Orin Nano를 보조 연산 보드, Vision 처리 보드, AI Inference 보드로 사용할 때 필요한 OS 설치 흐름을 정리하기 위한 초안이다.

버전 주의: JetPack, Ubuntu, CUDA, TensorRT 버전은 NVIDIA 배포 시점에 따라 바뀔 수 있다. 실제 설치 전에는 NVIDIA 공식 JetPack 다운로드 페이지와 해당 보드의 Getting Started 문서를 확인해야 한다.

C.2 다운로드

공식 다운로드 페이지:

설치 전에 다음 항목을 확인한다.

  • 사용하는 보드가 Jetson Orin Nano Developer Kit인지, 커스텀 Carrier Board인지 확인
  • 지원되는 JetPack 버전 확인
  • microSD Boot인지 NVMe Boot인지 확인
  • Host PC가 필요한 설치 방식인지, SD Card Image 방식인지 확인
  • 장비에 필요한 CUDA, TensorRT, OpenCV, GStreamer 버전 확인

C.3 준비물

  • Jetson Orin Nano 보드
  • 안정적인 전원 어댑터
  • microSD Card 또는 NVMe SSD
  • Ubuntu 기반 Host PC 또는 이미지 기록용 PC
  • USB Cable
  • HDMI Monitor, Keyboard, Mouse
  • Ethernet 또는 Wi-Fi 연결
  • 장비 적용 시 사용할 Camera, Sensor, USB Device, Ethernet Cable

산업용 장비에 적용할 경우 개발용 전원과 실제 장비 전원 조건이 다를 수 있다. 초기 설치는 개발 환경에서 진행하되, 최종 검증은 장비 내부 전원과 케이블 조건에서 다시 수행해야 한다.

C.4 설치 방식 선택

Jetson Orin Nano는 보드 구성과 저장장치에 따라 설치 방식이 달라질 수 있다. 일반적인 방법은 다음 두 가지다.

SD Card Image 방식

Developer Kit에서 가장 간단하게 시작할 수 있는 방식이다. NVIDIA에서 제공하는 이미지를 다운로드하고, Balena Etcher 같은 도구로 microSD Card에 기록한 뒤 보드에 삽입해 부팅한다.

장점은 빠르게 시작할 수 있다는 것이다. 단점은 microSD Card의 속도와 내구성이 산업용 장비에 충분하지 않을 수 있다는 점이다. 장시간 운영, 로그 저장, 영상 데이터 처리에는 NVMe SSD를 검토하는 것이 좋다.

SDK Manager 방식

Host PC에서 NVIDIA SDK Manager를 실행해 Jetson 보드에 JetPack을 설치하는 방식이다. Force Recovery Mode 진입, USB 연결, Target 선택, Package 설치 과정이 필요하다.

장점은 JetPack 구성요소를 선택적으로 설치하고 NVMe 같은 저장장치에 설치하기 쉽다는 점이다. 단점은 Host PC 환경과 USB 연결 상태에 영향을 받으며, 설치 절차가 SD Card Image보다 복잡하다는 점이다.

C.5 기본 설치 절차

  1. NVIDIA 공식 페이지에서 대상 보드와 JetPack 버전을 확인한다.
  2. 설치 방식을 SD Card Image 또는 SDK Manager 중 선택한다.
  3. 저장장치를 준비하고 기존 데이터를 백업한다.
  4. Image를 기록하거나 SDK Manager를 실행한다.
  5. Jetson 보드에 저장장치를 장착하고 전원을 연결한다.
  6. 최초 부팅 후 계정, 언어, 네트워크, 시간대를 설정한다.
  7. 터미널에서 시스템 정보를 확인한다.
  8. 필요 Package와 Driver를 설치한다.
  9. 장비에 사용할 Camera, USB, Ethernet, GPIO, Serial Port를 확인한다.
  10. 전원 재부팅 후 설정이 유지되는지 확인한다.

설치 후 기본 확인 명령은 다음과 같다.

uname -a
cat /etc/nv_tegra_release
df -h
ip addr
lsusb
lspci

cat /etc/nv_tegra_release 결과를 통해 L4T 버전을 확인할 수 있다. JetPack 버전과 L4T 버전은 호환 관계가 있으므로 프로젝트 문서에 함께 기록한다.

C.6 장비 적용 전 확인 항목

Jetson 보드가 부팅된다고 바로 장비에 넣을 수 있는 것은 아니다. 산업용 장비에서는 다음 항목을 확인해야 한다.

  • 전원 인가 후 부팅 시간
  • 전원 차단 후 파일시스템 손상 가능성
  • 자동 실행 Service 동작 여부
  • Network 고정 IP 또는 DHCP 정책
  • Camera 인식과 Frame Rate
  • USB Device 재연결 안정성
  • Fan 또는 방열판 온도
  • 장비 내부 온도에서 Thermal Throttling 여부
  • Watchdog 또는 외부 MCU 감시 구조
  • 로그 저장 위치와 저장 용량

특히 갑작스러운 전원 차단은 Linux 기반 보드에서 중요한 문제다. 장비가 E-Stop이나 Main Power Off로 자주 꺼질 수 있다면 파일시스템 보호, Read-only Partition, UPS, 외부 MCU 기반 안전 종료 신호를 검토해야 한다.

C.7 자동 실행 설정

장비용 보드는 전원이 들어오면 사용자가 터미널을 열지 않아도 프로그램이 자동 실행되어야 한다. Linux에서는 systemd Service를 사용하는 방식이 일반적이다.

예시 Service 파일 구조는 다음과 같다.

[Unit]
Description=Equipment Vision Service
After=network-online.target

[Service]
Type=simple
User=jetson
WorkingDirectory=/opt/equipment
ExecStart=/usr/bin/python3 /opt/equipment/main.py
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

자동 실행 설정 후에는 다음을 확인한다.

  • 전원 재부팅 후 자동 실행되는가?
  • 프로그램이 죽었을 때 재시작되는가?
  • Network가 준비되기 전에 실행되어 오류가 나지 않는가?
  • Log가 어디에 저장되는가?
  • 장비 정지 조건에서 프로그램이 안전하게 종료되는가?

C.8 MCU 보드와의 역할 분담

Jetson Orin Nano는 AI, Vision, 고수준 판단에는 강하지만 실시간 안전 제어를 모두 맡기기에는 적합하지 않을 수 있다. Linux는 일반적으로 MCU Bare-metal 펌웨어처럼 결정적인 응답 시간을 보장하지 않는다. 따라서 장비 구조에서는 Jetson과 MCU 보드의 역할을 나누는 것이 좋다.

  • Jetson: 영상 처리, AI 추론, 데이터 저장, 네트워크, UI, 고수준 판단
  • MCU 보드: 센서 입력, 인터락, Solenoid 출력, Motor Enable, Watchdog, 안전 상태 유지
  • 상위 Controller: 장비 Sequence, 사용자 명령, 모듈 통합 제어

예를 들어 Pre-Aligner에서 Jetson이 Camera 영상을 처리해 Wafer 위치를 계산하더라도, Vacuum Fail이나 Door Interlock 같은 안전 조건은 MCU 보드가 직접 처리하는 구조가 더 안정적이다. Jetson이 멈추거나 재부팅되어도 MCU 보드는 출력을 안전 상태로 유지해야 한다.

C.10 체크리스트

  • 공식 문서 기준으로 JetPack과 보드 호환성을 확인했는가?
  • 저장장치 방식이 장비 운용 조건에 적합한가?
  • 전원 차단 시 파일시스템 보호 대책이 있는가?
  • 자동 실행 Service와 재시작 정책이 설정되었는가?
  • Camera, USB, Ethernet 장치가 재부팅 후에도 안정적으로 인식되는가?
  • Jetson과 MCU 보드의 역할 분담이 명확한가?
  • 설치 버전과 설정값을 프로젝트 문서에 기록했는가?

책 소개와 목차 · ARLOBOOKS 서재

← 이전 페이지   ·   목차   ·   다음 페이지 →