フラッシュメディアの空き容量を埋めるために拡張できる圧縮ビルドルートシステムイメージを作成するには?

フラッシュメディアの空き容量を埋めるために拡張できる圧縮ビルドルートシステムイメージを作成するには?

さまざまなストレージサイズを持つさまざまな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

2行目は、サイズを変更する必要があるパーティションが最後のパーティションであると仮定し、ディスクの合計サイズを提供します。次のコマンドを実行して最大サイズに拡張できます。

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

おすすめ記事