시스템 업데이트 작업
sima-cli update로 일일 빌드, 서명된 eLxr 3.0 SWU 번들, A/B 검사, 저장소 스테이징 및 영구 오버레이 처리를 사용합니다.
명령 참조: sima-cli update
eLxr 3.0+ 내부 일일 업데이트
내부 모드에서는 사전 릴리스 경고를 표시합니다. 이미 eLxr 3.0+를 실행 중인 Modalix 장치에서 sima-cli -i update는 Artifactory를 먼저 조회합니다. 자격 증명 누락, HTTP 401/403 또는 5xx 응답, 연결 실패 및 시간 초과 시 일일 플랫폼 인덱스로 전환합니다. 조회에 성공했지만 일치하는 빌드가 없으면 전환하지 않습니다.
sima-cli -i update -f -v 3.0
sima-cli -i update -f -v 3.0.0_daily_develop_B1247
정확히 일치하는 결과가 우선합니다. 부분 검색은 인덱스를 필터링하고 최신 순으로 결과를 표시합니다. palette SWU가 포함된 빌드만 선택할 수 있습니다. 미러 다운로드는 서명된 설치 전에 인덱스에 기록된 크기와 SHA-256을 검증합니다. -f를 사용하면 Artifactory 아티팩트 다운로드 실패 시 선택한 동일 빌드로만 대체할 수 있습니다. 아티팩트가 없거나 무결성 검사가 실패하면 설치 전에 중단합니다.
eLxr 2.1.3 장치는 기존 APT 업데이트 동작과 --force 정책을 유지합니다. 이러한 장치를 3.0으로 이전하려면 복구 또는 프로비저닝이 필요합니다.
eLxr 3.0 서명된 A/B 업데이트
A/B가 프로비저닝된 Modalix 시스템에서 update는 실행 중인 슬롯과 /data를 보존하면서 비활성 슬롯에 서명된 전체 시스템 SWU를 설치합니다.
sima-cli update /path/to/full-system.swu
sima-cli update --ip 192.168.6.5 /path/to/full-system.swu
sima-cli update --inspect
sima-cli update --ip 192.168.6.5 --inspect
스테이징은 /data, /media/nvme/swupdate, /tmp 순으로 확인하며 번들 크기와 추가 64 MiB 공간이 필요합니다. SWUpdate는 /tmp에 압축 해제 공간도 필요합니다. /tmp가 RAM 기반이면 df에 충분한 공간이 표시되어도 사용 가능한 RAM을 확인합니다. 전용 tmpfs는 시스템에 최소 512 MiB 또는 RAM의 10% 중 더 큰 용량이 남는 경우에만 현재 마운트에 대해 확장할 수 있습니다. --dryrun은 마운트를 변경하지 않고 가능한 확장을 보고합니다.
--dryrun을 제외하면 NVMe를 사용하기 전에 읽기/쓰기로 마운트하거나 다시 마운트합니다. 다운로드한 번들과 임시 스테이징은 설치 성공 직후 삭제합니다. 설치 실패 시 진단을 위해 스테이징된 번들을 유지하며, 사용자가 제공한 원본 파일은 삭제하지 않습니다.
원격 업데이트는 호스트에서 다운로드하고, 선택한 보드 저장소로 전송하고, 전송 체크섬을 검증한 뒤 보드에서 SWUpdate를 실행합니다. 로컬 및 원격 모드 모두 서명된 번들을 검증하고 update,full을 선택합니다. /etc/swupdate/public.pem이 없으면 포함된 SiMa 인증서를 임시로 배치한 뒤 제거하며, 기존 키는 보존합니다. --force는 미러 대체 동작만 변경하며 서명 검증을 비활성화하지 않습니다.
설치 성공 후 재부팅이 필요합니다. --reboot를 사용하면 원격 업데이트가 다시 연결하여 새 슬롯과 정상 상태 확인을 검증합니다. 연결 끊김 또는 설치 실패 시 재시도 전에 확인해야 합니다.
A/B 검사
--inspect는 두 슬롯, 버전과 유효성, 실행 중인 슬롯과 다음 부팅 슬롯, 보류 중인 업데이트와 롤백 상태 및 부팅 횟수를 표시합니다. 펌웨어 다운로드 또는 설치, 슬롯 전환, 재부팅 또는 sima-cli 자체 업데이트는 수행하지 않습니다.
영구 오버레이 이미지에서는 기반 장치를 검증한 뒤 /oldroot의 원본 루트에서 활성 버전을 읽습니다. 필요하면 저널 재생을 비활성화하고 다른 루트를 읽기 전용으로 임시 마운트한 다음 이전 LVM 활성 상태를 복원합니다. 없거나 검증할 수 없는 메타데이터는 알 수 없는 상태로 남습니다.
영구 오버레이 사용자 변경 처리
검사와 일반 3.0 업데이트는 읽기 전용 오버레이 개요를 표시합니다. 보고서는 실제 적용된 dpkg 데이터베이스와 하위 계층의 데이터베이스를 비교하고 상위 계층 항목을 구성/서비스, 로컬 소프트웨어 후보, 삭제, 패키지 상태, 캐시/로그 및 기타 파일로 분류합니다. --verbose는 전체 패키지 비교와 범주별 개수를 추가합니다.
simaai-palette-*가 서로 다른 패키지 세트 빌드 ID를 나타내면 sima-cli는 영구 메타데이터가 이전 이미지에서 왔으며 APT가 잘못된 버전을 보고하거나 이미지와 오버레이 파일을 혼합할 수 있다고 경고합니다. 상위 계층에 복사된 파일은 의도적인 사용자 변경으로 자동 분류하지 않으며, 사용할 수 없거나 읽을 수 없는 기준 데이터는 추측하지 않고 보고합니다.
업데이트 중 패키지 빌드가 일치하지 않으면 깨끗한 오버레이 워크플로를 제공합니다:
- 선택한 SWU가
SWUPDATE_CLEAN_OVERLAY를 지원하는지 검증합니다. /data/.overlay-backup아래에 목록과 체크섬을 저장합니다.- 오버 레이 정리를 활성화하여 SWUpdate를 실행합니다.
- 재부팅 후 검증 및 재설치 지침을 출력합니다.
-y가 있으면 불일치 감지 시 자동으로 정리를 선택합니다. -y가 없으면 사용자가 오버레이를 유지할 수 있습니다. 정리 계약이 없는 번들은 설치 또는 백업 전에 거부합니다. 목록은 패키지 선택, 이미지 식별 정보, 경로, 소유권 및 권한을 기록하지만 파일 내용, dpkg 데이터베이스, APT 캐시 또는 전체 상위 계층은 포함하지 않습니다. 이는 복구 정보이며 자동 복원 아카이브가 아닙니다. 원격 DevKit에서도 --ip로 동일 워크플로를 사용합니다.