Linux SD 카드 이미지를 만드는 방법은 무엇입니까?

Linux SD 카드 이미지를 만드는 방법은 무엇입니까?

두 개의 파티션이 있는 이미지 파일을 만들고 싶습니다.

  1. 커널 zImage 및 dtb(장치 트리 blob) 파일이 포함된 100MB FAT 부팅 파티션.
  2. 루트 파일 시스템이 포함된 900MB EXT4 Rootfs 파티션.

그런 다음 해당 이미지 파일을 SD 카드에 플래시하여 Linux 보드를 부팅할 수 있기를 원합니다.

어떻게 해야 하며 어떤 도구가 필요합니까? (저는 GUI보다 CLI 기반 도구를 선호합니다)

노트:나는 이미 커널 zImage, DTB 및 rootfs를 가지고 있으며 모든 sdcard에 쉽게 구울 수 있도록 이들 모두의 sdcard 부팅 가능 이미지를 만들어야 합니다. 그런데 지금은 SD 카드가 없어요. 나중에 SD카드를 사야겠습니다. 먼저 이미지를 준비하고 구매 시 신속하게 모든 이미지에 이미지를 플래시합니다.

답변1

간단한 작업입니다! 다음 15단계를 따르세요.

속도:

  1. 파일 공간을 할당합니다 fallocate -l 500M sd.img.
  2. 사용디스크 드라이브(DOS 파티션 테이블) 또는gdisk(gpt(boot partition table)) 은 파티션 테이블을 생성합니다 sudo fdisk sd.img.
  3. fdisk를 연 후 Create Partition을 누르고 Create Primary Partition을 누른 n다음 pEnter를 누르십시오. "Last Sector" 옵션을 제외한 모든 기본 설정을 유지하십시오. +100M100MB 파티션 생성을 입력합니다 .
  4. 두 번째 파티션을 생성하려면 3단계를 반복합니다.
  5. w저장하고 종료하려면 입력하세요 .
  6. 이미지를 생성하는 루핑 장치를 사용하십시오 sudo kpartx -av sd.img.
  7. 파티션을 포맷 sudo mkfs.fat /dev/mapper/loop0p1하고 sudo mkfs.ext4 /dev/mapper/loop0p2.
  8. 마운트 지점 sudo mkdir /mnt/temp_part1/& 을 생성합니다 sudo mkdir /mnt/temp_part2/.
  9. 파티션을 설치 sudo mount /dev/mapper/loop0p1 /mnt/temp_part1/하고 sudo mount /dev/mapper/loop0p2 /mnt/temp_part2/.
  10. 콘텐츠를 탑재 지점에 복사합니다.
  11. 동기화 sudo sync.
  12. 그것들을 제거 sudo umount /dev/mapper/loop0p1 /mnt/temp_part1/하고sudo umount /dev/mapper/loop0p2 /mnt/temp_part2/
  13. 루프 장치 제거sudo kpartx -d sd.img
  14. 모든 운영 체제의 플래시 소프트웨어를 사용하여 이미지를 SD 카드에 플래시합니다. 나는 사용한다발레나 에칭 기계.
  15. SD 카드를 즐겨보세요!

관련 정보