Merge pull request #3027 from flatcar/ader1990/increase_boot_partition

Increase partition sizes
This commit is contained in:
Kai Lüke 2025-10-10 16:21:37 +02:00 committed by GitHub
commit 1fa8f4428e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 22 additions and 8 deletions

View File

@ -13,7 +13,7 @@
"label":"EFI-SYSTEM",
"fs_label":"EFI-SYSTEM",
"type":"efi",
"blocks":"262144",
"blocks":"2097152",
"fs_type":"vfat",
"mount":"/boot",
"features": []
@ -27,7 +27,8 @@
"label":"USR-A",
"uuid":"7130c94a-213a-4e5a-8e26-6cce9662f132",
"type":"flatcar-rootfs",
"blocks":"2097152",
"blocks":"4194304",
"extract_blocks":"2097152",
"fs_blocks":"260094",
"fs_type":"btrfs",
"fs_compression":"zstd",
@ -38,7 +39,8 @@
"label":"USR-B",
"uuid":"e03dd35c-7c2d-4a47-b3fe-27f15780a57c",
"type":"flatcar-rootfs",
"blocks":"2097152",
"blocks":"4194304",
"extract_blocks":"2097152",
"fs_blocks":"262144"
},
"5":{
@ -51,7 +53,7 @@
"label":"OEM",
"fs_label":"OEM",
"type":"data",
"blocks":"262144",
"blocks":"2097152",
"fs_type":"btrfs",
"fs_compression":"zlib",
"mount":"/oem"
@ -70,7 +72,7 @@
"label":"ROOT",
"fs_label":"ROOT",
"type":"flatcar-resize",
"blocks":"4427776",
"blocks":"3653632",
"fs_type":"ext4",
"mount":"/"
}

View File

@ -40,10 +40,10 @@ def LoadPartitionConfig(options):
'_comment', 'type', 'num', 'label', 'blocks', 'block_size', 'fs_blocks',
'fs_block_size', 'fs_type', 'features', 'uuid', 'part_alignment', 'mount',
'binds', 'fs_subvolume', 'fs_bytes_per_inode', 'fs_inode_size', 'fs_label',
'fs_compression'))
'fs_compression', 'extract_blocks'))
integer_layout_keys = set((
'blocks', 'block_size', 'fs_blocks', 'fs_block_size', 'part_alignment',
'fs_bytes_per_inode', 'fs_inode_size'))
'fs_bytes_per_inode', 'fs_inode_size', 'extract_blocks'))
required_layout_keys = set(('type', 'num', 'label', 'blocks'))
filename = options.disk_layout_file
@ -136,6 +136,13 @@ def LoadPartitionConfig(options):
part.setdefault('fs_block_size', metadata['fs_block_size'])
part.setdefault('fs_blocks', part['bytes'] // part['fs_block_size'])
part['fs_bytes'] = part['fs_blocks'] * part['fs_block_size']
# The partition may specify extract_blocks to limit what content gets
# extracted. The use case is the /usr partition where we can grow the
# partition but can't directly grow the filesystem and the update
# payload until all (or most) nodes are running the partition layout
# with the grown /usr partition (which can take a few years).
if part.get('extract_blocks', None):
part['extract_bytes'] = part['extract_blocks'] * metadata['block_size']
if part['fs_bytes'] > part['bytes']:
raise InvalidLayout(
@ -823,6 +830,7 @@ def Extract(options):
if not part['image_compat']:
raise InvalidLayout("Disk layout is incompatible with existing image")
extract_size = part.get('extract_bytes', part['image_bytes'])
subprocess.check_call(['dd',
'bs=10MB',
'iflag=count_bytes,skip_bytes',
@ -831,7 +839,7 @@ def Extract(options):
'if=%s' % options.disk_image,
'of=%s' % options.output,
'skip=%s' % part['image_first_byte'],
'count=%s' % part['image_bytes']])
'count=%s' % extract_size])
def GetPartitionByNumber(partitions, num):

View File

@ -224,9 +224,11 @@ IMG_ami_vmdk_DISK_FORMAT=vmdk_stream
IMG_ami_vmdk_OEM_USE=ami
IMG_ami_vmdk_OEM_PACKAGE=common-oem-files
IMG_ami_vmdk_SYSEXT=oem-ami
IMG_ami_vmdk_DISK_LAYOUT=vm
IMG_ami_OEM_USE=ami
IMG_ami_OEM_PACKAGE=common-oem-files
IMG_ami_OEM_SYSEXT=oem-ami
IMG_ami_DISK_LAYOUT=vm
## openstack
IMG_openstack_DISK_FORMAT=qcow2
@ -342,6 +344,7 @@ IMG_kubevirt_OEM_SYSEXT=oem-kubevirt
IMG_kubevirt_DISK_EXTENSION=qcow2
## akamai (Linode)
IMG_akamai_DISK_LAYOUT=vm
IMG_akamai_OEM_PACKAGE=common-oem-files
IMG_akamai_OEM_USE=akamai
IMG_akamai_OEM_SYSEXT=oem-akamai

View File

@ -0,0 +1 @@
- Increased all partition sizes: `/boot` to 1 GB, the two `/usr` partitions to 2 GB, `/oem` to 1 GB so that we can use more space in a few years when we can assume that most nodes run the new partition layout - existing nodes can still update for the next years ([scripts#3027](https://github.com/flatcar/scripts/pull/3027))