Skip to content

pmb.install.format: set bytes-per-inode to 16384

Oliver Smith requested to merge ollieparanoid/pmbootstrap:fix-indoes into master

After setting "-T big" (!2555 (merged)), we still saw some images failing with "out of space" errors in bpo, such as "v24.12:samsung-espresso10:xfce4".

I've looked at /etc/mke2fs.conf to figure out what exactly gets configured with "-T big". What I did not realize is that the inode ratio gets bigger by going from small -> big, big -> huge, but with a larger ratio FEWER inodes will be created (see man mkfs.ext4, -i bytes-per-inode).

In /etc/mke2fs.conf in Alpine edge:

	[defaults]

		blocksize = 4096
		inode_size = 256
		inode_ratio = 16384

	[fs_types]

		small = {
			blocksize = 1024
			inode_ratio = 4096
		}
		floppy = {
			blocksize = 1024
			inode_ratio = 8192
		}
		big = {
			inode_ratio = 32768
		}
		huge = {
			inode_ratio = 65536
		}
		news = {
			inode_ratio = 4096
		}

So I've tried out half the ratio value we get with "big" now, 16384. With that we finally seem to have:

  • Enough inodes for small UIs (console, none) as well as big UIs with lots of files (xfce4, plasma-desktop, ...)

  • We don't directly specify an inode count (-N) anymore as we did earlier, which had problems with small images as the inode count would be too large for the given image size (#2572 (closed)).

Test builds with various images:

Filesystem              Inodes      Used Available Use% Mounted on
master:postmarketos-trailblazer:none:
/dev/installp2           35440      5111     30329  14% /mnt/install
master:postmarketos-trailblazer:console:
/dev/installp2           47232      8713     38519  18% /mnt/install
master:pine64-pinebookpro:plasma-desktop:
/dev/installp2          276352    100607    175745  36% /mnt/install
v24.12:samsung-espresso10:xfce4:
/dev/installp2           80960     51150     29810  63% /mnt/install

So the most Use% I could get is 63% with this, leaving a nice margin for the future.

Merge request reports

Loading