임베디드 리눅스 기반 장치는 종종 응용 프로그램 및 시스템 파일을 업데이트하는 메커니즘이 필요합니다. 예를 들어 USB 포트가있는 (네트워크에 연결되지 않은) 실험 장비는 USB 스틱에서 소프트웨어 업데이트를받을 수 있습니다.임베디드 리눅스를 안전하게 업데이트하기위한 권장 기술
스크립트를 실행하여 파일을 장치의 내부 플래시 메모리의 특정 위치에 복사하는 것은 간단합니다. 그러나 장치가 업데이트 도중 전력을 잃어 버리고 벽돌로 끝날 위험이 있습니다.
응용 프로그램 디렉토리를 복제하고 복사본을 한 개 업데이트하고 이전 및 새 디렉토리를 신속하게 교체하여 장애 창을 최소화 할 수있는 공간이 있기 때문에 응용 프로그램 파일의 상황이 조금 쉽습니다.
커널과 시스템 파일이 파일 시스템 전체에 퍼져 있기 때문에 상황이 더 복잡합니다.
중요한 파일을 식별하기 위해 파일 시스템에서 하드 링크와 소프트 링크를 사용했습니다. 우리는 파일 및 아카이브에 대한 해시를 사용하여 파일 무결성을 확인합니다. 업데이트 된 파일 시스템에서 시작하는 것이 실패하면 커널에서 긴급 ramfs를 사용하여 폴백을 고려했습니다.
이 요구 사항에 대한 접근 방식은 무엇입니까?
이 질문에 대한 내 대답을 참조하십시오 : http://stackoverflow.com/questions/5167226/linux-based-firmware-how-to-implement-a-good-way- 업데이트를 하시겠습니까? lq = 1 – Patrick