본문으로 건너뛰기

AVS200 플래시 가이드 — L4T R39.2.1 · JetPack 7.2 (32GB · MAXN_SUPER)

이 문서는 JetPack 7.2 MFI 번들 하나로 AVS200 에 OS 를 설치(플래시)하는 방법을 설명합니다. 번들에는 굽기에 필요한 이미지와 도구가 모두 들어 있어 소스 트리나 인터넷 없이(의존 패키지 설치 제외) 여러 대를 동시에 구울 수 있습니다.

항목값
릴리스r39.2.1-20260928
소프트웨어L4T R39.2.1 · JetPack 7.2.1 · Ubuntu 24.04 · 커널 6.8.12-1021-tegra · DeepStream 9.1
대상 모듈AGX Orin 32GB (P3701-0004) 전용
전원 모드MAXN_SUPER (GPU 최대 1300.5 MHz)
캐리어gcam-rgbir-r1
기본 카메라gmsl-4x2-3g-sg3s-isx031c (sensing ISX031 8채널)
저장장치외장 NVMe (첫 부팅에 디스크 전체로 자동 확장)
번들 받는 곳

다운로드 페이지의 JetPack 7.2 표에서 번들과 그 옆의 .sha256 을 받습니다.

32GB(P3701-0004) 전용입니다

64GB(P3701-0005)·Industrial 모듈에는 이 번들을 쓰지 마세요. MAXN_SUPER 구성은 32GB 전용이며, 64GB 용 JetPack 7.2 번들은 아직 제공하지 않습니다. 보드에서 tr -d '\0' < /proc/device-tree/model 로 모듈을 확인하세요. 캐리어는 gcam-rgbir-r1 전용입니다. 64GB 모듈이거나 JetPack 6 이 필요하면 → 플래시 가이드 (JetPack 6.2.1) · Industrial 모듈은 공급사(telelian)로 문의하세요.

검증 범위

카메라 동작은 기본 구성 gmsl-4x2-3g-sg3s-isx031c(sensing ISX031) 로 검증했습니다. 다른 카메라 오버레이(AR0234·혼합 구성 등)를 쓰실 계획이면 공급사(telelian)와 먼저 확인해 주세요.


1. 준비물​

필요한 것값
호스트 OSUbuntu 22.04 / 24.04 x86_64
디스크 여유번들 약 14 GB + 푼 것 약 14 GB ≈ 30 GB
연결보드의 플래시용 USB-C ↔ 호스트 USB. 여러 대(최대 4대)면 USB 허브
경고

이 도구는 NFS + IPv6 를 씁니다. 방화벽이 NFS 를 막고 있으면 굽다가 멈춥니다. 굽는 동안 호스트의 nfs-kernel-server 가 재시작되니, 다른 NFS 공유를 쓰는 중이면 피해서 돌리세요.

1-1. 번들 무결성 확인​

받는 시간 · 끊겼을 때

번들은 약 14.3 GB 입니다(사내 측정: 약 17분, 14 MB/s). 받다가 끊기면 처음부터 다시 받지 말고 같은 폴더에서 이어받은 뒤 아래 무결성 확인을 하세요.

curl -C - -O <다운로드 페이지의 번들 URL>
sha256sum -c mfi_avs200-*-r39.2.1-20260928.tar.gz.sha256
# → "OK" 가 나와야 합니다. FAILED 면 삭제 후 다시 받으세요.

1-2. 번들 풀기 (권한 보존 필수)​

🔴 반드시 sudo + p(권한 보존) 옵션으로 풉니다. 빼면 굽기 도구의 권한이 틀어집니다.

sudo tar xzpf mfi_avs200-*-r39.2.1-20260928.tar.gz
cd mfi_avs200-agx-orin-super-maxn

pigz 가 깔려 있으면 더 빠릅니다: sudo sh -c 'pigz -dc mfi_avs200-*-r39.2.1-20260928.tar.gz | tar xpf -'

rootfs/ 가 비어 있는 것이 정상입니다

JetPack 7.2(L4T R39.2)는 보드가 직접 이미지를 받아 설치하므로 호스트의 rootfs/ 를 쓰지 않습니다. 풀린 뒤에는 아래 두 파일이 있는지만 확인하세요(크기로 판정하지 않습니다).

ls tools/kernel_flash/images/external/system.img tools/kernel_flash/initrdflashparam.txt

1-3. 의존 패키지 설치 (최초 1회, 인터넷 필요)​

sudo ./tools/l4t_flash_prerequisites.sh

2. 보드를 리커버리(RCM) 모드로 연결​

케이블 연결과 리커버리 진입 방법은 JetPack 6.2.1 과 같습니다 — 플래시 가이드 (R36.4.4) › 2-2 를 따르세요. 부팅돼 있는 보드라면 ssh avs@<보드IP> 'sudo reboot forced-recovery' 가 가장 간단합니다.

lsusb -d 0955:7223 # 구울 보드 수만큼 줄이 나와야 합니다
PID뜻
0955:7223리커버리 — 굽기 준비 완료 (AGX Orin 32GB)
0955:702364GB·Industrial 모듈 — 🔴 이 번들의 대상이 아닙니다
0955:7035굽는 중
0955:7020부팅된 상태 — 아직 리커버리가 아닙니다

3. 굽기​

sudo ./flash.sh 1 # 1대. 여러 대면 대수를 줍니다 (최대 4)

flash.sh 는 리커버리 보드 대수가 주신 숫자와 다르면 굽지 않고 멈춥니다. 1대 약 7분입니다.

성공 판정​

화면 마지막에 아래 줄이 나와야 성공입니다. 종료코드 0 만으로는 성공이 아닙니다 — flash.sh 가 보드별 로그를 직접 읽어 판정합니다.

[flash] ✅ 1 대 전부 'Flash is successful'

보드별 로그: initrdlog/flash_<포트>_<n>_<타임스탬프>.log


4. 굽고 난 뒤​

  1. 보드는 스스로 재부팅해 올라옵니다. 리커버리(0955:7223)로 남아 있으면 전원을 완전히 껐다 켭니다.
  2. 첫 부팅에 디스크 확장과 docker 설치(인터넷 필요)가 자동으로 돕니다 — 로그인 후 몇 분 기다리세요.
  3. 계정 avs / 비밀번호 telelian
  4. 확인:
. /etc/avs-release && echo "$AVS_RELEASE" # r39.2.1-20260928
sudo nvpmodel -q | head -1 # NV Power Mode: MAXN_SUPER
avs-camera show # 지금 부팅된 카메라 구성
systemctl --failed # 0 loaded units listed

5. 카메라 바꾸기​

카메라는 /boot/extlinux/extlinux.conf 의 OVERLAYS 한 줄로 정해집니다(25종 수록). 보드에서 jetson-io 로 바꿉니다.

sudo /opt/nvidia/jetson-io/jetson-io.py
# Configure Jetson AGX CSI Connector → Configure for compatible hardware → 카메라 선택 → Save and reboot
  • 한 번에 하나만 고릅니다. jetson-io 는 LABEL JetsonIO 항목을 만들고 DEFAULT 를 그쪽으로 돌립니다. 출하 구성으로 되돌리려면 DEFAULT primary 로 고치고 재부팅합니다.
  • 카메라를 바꾼 뒤에는 보드 전원을 완전히 내렸다 켜세요. RGBIR 처럼 보조전원을 쓰는 카메라는 보조전원도 함께 내립니다.

6. 문제 해결​

증상원인대응
대수가 안 맞는다며 멈춤리커버리에 안 들어간 보드가 있다 / 64GB·Industrial 모듈(7023)lsusb -d 0955: 로 PID 확인. 7023 이면 이 번들의 대상이 아닙니다
might be timeout in USB write리커버리로 오래 방치한 보드전원을 껐다 켜고 리커버리로 다시 넣습니다
NFS 관련 오류방화벽 / 다른 NFS 공유와 충돌1. 준비물의 경고 참고
굽고 나서 안 켜진다웜 리셋으로 리커버리에 돌아갔다전원을 완전히 내렸다 넣습니다

그 밖의 증상은 플래시 가이드 (R36.4.4) › 문제 해결 도 참고하고, 해결되지 않으면 공급사(telelian)로 문의하세요.