Created attachment 9086 [details] patch fs/ext2/ext2.mk to touch file that'll contain filesystem After using raspberrypicm4io_64_defconfig, then doing make, the build process ends as follows: ... printf ' \n' >> /home/ldr/src/buildroot/output/build/buildroot-fs/ext2/fakeroot printf ' \n' >> /home/ldr/src/buildroot/output/build/buildroot-fs/ext2/fakeroot printf ' rm -f /home/ldr/src/buildroot/output/images/rootfs.ext2\n /home/ldr/src/buildroot/output/host/sbin/mkfs.ext4 -d /home/ldr/src/buildroot/output/build/buildroot-fs/ext2/target -r 1 -N 0 -m 5 -L "rootfs" -O ^64bit /home/ldr/src/buildroot/output/images/rootfs.ext2 "120M" || { ret=$?; echo "*** Maybe you need to increase the filesystem size (BR2_TARGET_ROOTFS_EXT2_SIZE)" 1>&2; exit $ret; }\n' >> /home/ldr/src/buildroot/output/build/buildroot-fs/ext2/fakeroot chmod a+x /home/ldr/src/buildroot/output/build/buildroot-fs/ext2/fakeroot PATH="/home/ldr/src/buildroot/output/host/bin:/home/ldr/src/buildroot/output/host/sbin:/home/ldr/.asdf/shims:/opt/asdf-vm/bin:/usr/local/bin:/usr/bin:/var/lib/snapd/snap/bin:/usr/local/sbin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl" FAKEROOTDONTTRYCHOWN=1 /home/ldr/src/buildroot/output/host/bin/fakeroot -- /home/ldr/src/buildroot/output/build/buildroot-fs/ext2/fakeroot rootdir=/home/ldr/src/buildroot/output/build/buildroot-fs/ext2/target table='/home/ldr/src/buildroot/output/build/buildroot-fs/full_devices_table.txt' mke2fs 1.46.3 (27-Jul-2021) mkfs.ext4: No such file or directory while trying to determine filesystem size *** Maybe you need to increase the filesystem size (BR2_TARGET_ROOTFS_EXT2_SIZE) make: *** [fs/ext2/ext2.mk:63: /home/ldr/src/buildroot/output/images/rootfs.ext2] Error 1 -- I can reproduce in commandline by just running: /home/ldr/src/buildroot/output/host/sbin/mkfs.ext4 -d /home/ldr/src/buildroot/output/build/buildroot-fs/ext2/target -r 1 -N 0 -m 5 -L "rootfs" -O ^64bit /home/ldr/src/buildroot/output/images/rootfs.ext2 "120M" -- so the mkfs.ext4 wants the file that will contain the filesystem to already exist, which it doesnt, becuase it's removed one command earlier. -- I was able to fix my issue by adding a touch in fs/ext2/ext2.mk. Please see attachment. But not sure if this is a correct way to fix my issue. Hope it helps. Thanks, Leon
Leon, All, Thanks the report. I can confirm indeed that e2fsprogs 1.46.3 now requirtes that the file where to generate the filesystem must pre-exist. This is a regression in 2fsprogs itself.; indeed, I've tested 1.46.2 and 1.46.4, and both work without the touch. And indeed, the e2fsprogs commit53464654bd33 (mke2fs: fix creating a file system image w/o a pre-existing file) states: By deferring the call to check_plausible() in commit 942b00cb9d2f ("mke2fs: do not warn about a pre-existing partition table when using a non-zero offset") this behaviour was broken. I'll try to see if we can cook up a backport of that commit for the 2021.08.x branch. For master, a bump to 1.46.4 will fix the issue. Regards, Yann E. MORIN.
Hi Yann, thanks for the quick followup! :) best regards, Leon
Leon, All, Thanks for your report. We believe this issue has now been fixed with commit https://git.buildroot.org/buildroot/commit/?id=4ad23552c6 Regards, Yann E. MORIN.