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