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 을 받습니다.
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. 준비물
| 필요한 것 | 값 |
|---|---|
| 호스트 OS | Ubuntu 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:7023 | 64GB·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. 굽고 난 뒤
- 보드는 스스로 재부팅해 올라옵니다. 리커버리(
0955:7223)로 남아 있으면 전원을 완전히 껐다 켭니다. - 첫 부팅에 디스크 확장과 docker 설치(인터넷 필요)가 자동으로 돕니다 — 로그인 후 몇 분 기다리세요.
- 계정
avs/ 비밀번호telelian - 확인:
. /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)로 문의하세요.