플래시 미디어의 사용 가능한 저장 공간을 채우기 위해 확장할 수 있는 압축된 빌드루트 시스템 이미지를 만드는 방법은 무엇입니까?

플래시 미디어의 사용 가능한 저장 공간을 채우기 위해 확장할 수 있는 압축된 빌드루트 시스템 이미지를 만드는 방법은 무엇입니까?

다양한 저장 크기를 가진 다양한 x86_64 EFI 시스템을 위한 Buildroot 시스템을 생성해야 하는데, 아쉽게도 pc_x86_64_efi 구성은 . 다양한 드라이브를 채우려면 파일 시스템 구성에서 드라이브 크기를 수동으로 지정한 다음 다시 컴파일해야 합니다. 이는 매우 번거롭고 128GB 이상의 거대한 이미지 파일로 끝납니다. resize2fs를 사용하여 실행 중인 시스템 내에서 크기를 조정하려고 시도했지만 성공하지 못했습니다. 이상적으로는 플래시할 때 드라이브의 전체 크기로 확장하거나 처음 부팅할 때 크기를 조정하고 싶습니다. 이것이 가능합니까, 아니면 Buildroot의 한계를 넘어서는 것입니까?

답변1

"parted" 및 "resize2fs"를 빌드한 경우 파티션 크기를 조정하고 파일 시스템 크기를 조정한 다음 스크립트에서 재부팅할 수 있습니다.

예를 들어, 저는 500MB 이미지를 16GB SD 카드에 플래시하는 시스템을 구축하고 있습니다.

# parted -s /dev/mmcblk0 u s p
Model: SD SL16G (sd/mmc)
Disk /dev/mmcblk0: 31116288s
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:

Number  Start   End       Size      Type     File system  Flags
 1      1s      65536s    65536s    primary  fat16        boot, lba
 2      65537s  3111628s  3046092s  primary  ext4

두 번째 줄은 크기를 조정해야 하는 파티션이 마지막 파티션이라고 가정하고 디스크의 전체 크기를 제공합니다. 다음 명령을 실행하여 최대 크기로 확장할 수 있습니다.

# parted -s /dev/mmcblk0 u s resizepart 2 31116287
# resize2fs /dev/mmcblk0
# reboot

관련 정보