네트워크 부팅 복구
이동식 미디어가 아닌 네트워크를 통해 DevKit을 부팅해야 할 때 네트워크 부팅 복구 기능을 사용하세요. 다음의 경우에 유용합니다.
- DevKit을 이전 릴리스의 SDK로 다운그레이드해야 합니다.
- 최신 릴리스가 아닌 빌드를 설치해야 합니다(예: 사전 릴리스
develop빌드 또는 내부 엔지니어링 이미지). - 손상된 부트로더 또는 파일 시스템이 있는 보드를 복구해야 하는데, SD 카드가 없습니다.
- 새 보드를 브링업하려 하시는데, 내부 저장 장치의 마모를 줄이고 싶으신 것 같습니다.
- 현재 Modalix DevKit을 Yocto Linux에서 eLxr로, 또는 eLxr에서 다시 Yocto Linux로 변환하고 있습니다. 변환에 필요한 구체적인 요구 사항은 eLxr로 변 환을 참조하십시오.
이 가이드는 SiMa.ai가 제공하는 이미지를 사용하며, 보드에서 U-Boot 프롬프트가 동작해야 합니다. 직접 빌드한 이미지를 설치하는 방법은 이 가이드에서 다루지 않습니다. 그 경우에는 eMMC에 이미지 플래싱을 참조하십시오.
sima-cli bootimg와 함께 --netboot 옵션을 사용하세요. 그러면 대상 보드의 부트 이미지를 다운로드하여 호스트의 내장 TFTP 서버에서 제공합니다. 펌웨어 버전 2.1.3 이상을 실행 중인 접근 가능한 DevKit 또는 PCIe 카드의 경우, --devkit <ip>를 추가하여 호스트가 U-Boot 환경을 구성하고 네트워크 부팅을 시작할 수 있도록 합니다. 이렇게 하면 3단계를 건너뛸 수 있습니다. 이전 펌웨어를 사용하거나 접근할 수 없는 장치의 경우, 3단계에서 직렬 콘솔을 통해 U-Boot를 구성합니다.
1단계: 물리적 설정
이 절차는 macOS 및 Ubuntu Linux 호스트를 지원합니다.
호스트 시스템에 sima-cli가 설치되어 있지 않으면, 다음 단계를 진행하기 전에 설치하십시오.
호스트 셸 세션을 사용하여 TFTP 서버를 시작하고 eMMC 플래시를 시작합니다. --devkit 및 --autoflash를 사용하는 경우에도 netboot 진행 상황을 모니터링하기 위해 별도의 직렬 콘솔 연결을 사용하는 것이 좋습니다. 3단계에서 수동으로 U-Boot를 구성하려면 직렬 콘솔이 필요합니다.
-
DevKit의 이더넷 포트를 호스트 장치에 직접 연결하고, 호스트의 네트워크 인터페이스를 정적 IP 주소 192.168.1.10으로 설정합니다. Modalix 얼리 액세스 DevKit에서는 이더넷 포트 0을 사용합니다.
-
권장되는 직렬 연결을 위해 DevKit의 UART 포트를 호스트에 연결하여 콘솔에 액세스합니다. 호스트에
sima-cli를 설치한 후 직렬 터미널을 엽니다.sima-user@sima-user-machine:~$ sima-cli serial -
DevKit에서 네트워크 인터페이스를 기본 정적 IP 주소인 192.168.1.20으로 구성합니다. 구성 방법은 독립 실행형 모드 네트워크 설정을 따르십시오.
2단계. 호스트에서 TFTP 네트워크 부팅 서버를 시작합니다.
요구 사항
- 호스트와 DevKit은 동일한 물리적 네트워크 또는 직접 이더넷 연결을 통해 연결되어야 합니다.
- 이더넷 연결은 기가비트 인터페이스 이상이어야 합니다(전송 속도는 1000Mbps를 초과해야 함).
- 호스트는 펌웨어 이미지를 다운로드하기 위해 인터넷에 접속해야 합니다.
- UDP 포트 **69(TFTP)**는 호스트 방화벽에 의해 차단되어서는 안 됩니다.
<version>을 대상 SDK 버전(예: 2.1.3)으로, <boardtype>을 modalix 또는 mlsoc로, <fwtype>을 yocto 또는 elxr로 바꿉니다.
macOS에서:
sima-user@sima-user-machine:~$ sima-cli bootimg --boardtype <boardtype> --fwtype <fwtype> -v <version> --netboot
Linux에서:
TFTP 서버는 권한이 필요한 포트 69에 연결되므로 sudo 명령어를 사용해야 합니다.
sima-user@sima-user-machine:~$ sudo ~/.sima-cli/.venv/bin/sima-cli bootimg --boardtype <boardtype> --fwtype <fwtype> -v <version> --netboot