SD카드 이미지 비교
임베디드 제품을 B2B로 판매하다보니 EMMC와 SD 카드를 OS 및 이미지 저장 장치로 사용하고 있다. 대량으로 EMMC와 SD 카드에 동일한 이미지를 넣어서 납품을 해야하는데, 몇몇 문제가 생긴 제품들에 대해서 EMMC와 SD 카드 내에 이미지에 이상이 있는지 확인하기 위해 이미지 비교를 확인해봤다. 제 3의 linux PC에서 아래와 같은 방법으로 두 개의 SD 카드(정상과 비정상 제품)을 마운팅하고 이미지 자체가 깨지거나 문제가 생긴 게 있는 지 확인 하는 과정이다.
Mounting
sudo mkdir -p /mnt/sdf1 # boot1 파티션용 sudo mkdir -p /mnt/sdf2 # root1 파티션용 sudo mount /dev/sdf1 /mnt/sdf1 # sde1 → /mnt/sde1 sudo mount /dev/sdf2 /mnt/sdf2 # sde2 → /mnt/sde2 sudo mkdir -p /mnt/sdg1 # boot1 파티션용 sudo mkdir -p /mnt/sdg2 # root1 파티션용 sudo mount /dev/sdg1 /mnt/sdg1 # sde1 → /mnt/sde1 sudo mount /dev/sdg2 /mnt/sdg2 # sde2 → /mnt/sde2
비교
sudo sh -c ' cd /mnt/sdg2 && \ find . -path "./System Volume Information" -prune -o -type f -exec sha256sum {} + | sort \ > /home/jamesyeon/hash_sdg2.txt ' sudo sh -c ' cd /mnt/sdf2 && \ find . -path "./System Volume Information" -prune -o -type f -exec sha256sum {} + | sort \ > /home/jamesyeon/hash_sdf2.txt ' sudo diff -u ~/hash_sdg2.txt ~/hash_sdf2.txt sudo sh -c ' cd /mnt/sdg1 && \ find . -path "./System Volume Information" -prune -o -type f -exec sha256sum {} + | sort \ > /home/jamesyeon/hash_sdg1.txt ' sudo sh -c ' cd /mnt/sdf1 && \ find . -path "./System Volume Information" -prune -o -type f -exec sha256sum {} + | sort \ > /home/jamesyeon/hash_sdf1.txt ' sudo diff -u ~/hash_sdg1.txt ~/hash_sdf1.txt
sudo rsync -avc --exclude='System Volume Information/**' \ --exclude='var/lib/systemd/random-seed' \ /mnt/sdg2/ /mnt/sdf2/
Unmount
sudo umount /mnt/sdd1 /mnt/sdd2 sudo umount /mnt/sdf1 /mnt/sdf2
비교 커맨드 자체는 스크립트로 작성해서 빠르게 실행할 수 있지만, 가장 오래걸리는 건 정상인지 확인할 비교 대상 SD카드를 넣고 빼는 물리적인 과정은 자동화할 방법이 없다. 수십 개의 SD카드를 비교하려면 수십 번의 행동이 필요하다.
Related posts
AXERA AX650N 설치 및 사용기
Sep 18, 2025
Axera AX650N 테스트 기록
AI와 만든 첫 PCB 샘플, 설계보다 어려웠던 것은
Aug 31, 2026
회사 업무용 보조 보드를 처음 설계·발주해 PCBA로 받아본 기록이다. AI가 회로와 생산 준비를 빠르게 밀어줬지만, 커넥터 수급과 실물 크기·배치 검증은 결국 직접 해결해야 했다.
ThunderScope: 화면과 연산을 PC로 옮긴 오픈소스 오실로스코프
Aug 12, 2026
ThunderScope는 4채널 1 GS/s 데이터를 Thunderbolt·USB4 또는 PCI Express로 PC에 실시간 전송하는 오픈소스 오실로스코프다. 화면과 연산을 PC로 옮긴 구조, ngscopeclient와 TS.NET 소프트웨어 스택, 다채널 동기화 및 커스텀 게이트웨어의 가능성을 살펴본다.
