On 01/11/2014 08:35 AM, Christian Hesse wrote:
Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> on Fri, 2014/01/10 23:53:
On 01/10/2014 11:47 PM, Gerardo Exequiel Pozzi wrote:
On 01/09/2014 05:49 AM, Christian Hesse wrote:
Christian Hesse <list@eworm.de> on Mon, 2013/09/02 10:03:
From: Christian Hesse <mail@eworm.de>
This allows to grow the filesystem after system boot up. We have no additional cost as squashfs handles sparse files. --- archiso/mkarchiso | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/archiso/mkarchiso b/archiso/mkarchiso index 8f9ed42..563f624 100755 --- a/archiso/mkarchiso +++ b/archiso/mkarchiso @@ -364,6 +364,8 @@ _mkfs () { cp -aT "${_fs_src}/" "${work_dir}/mnt/${_src}/" _msg_info "Done!" _umount_fs "${work_dir}/mnt/${_src}" + # double size with sparse blocks, will allow to grow the filesystem + truncate -s$((_fs_size*2))M "${_fs_img}" }
command_checksum () {
Currently I am maintaining this in a local package for myself. Any chance to get this merged upstream?
No. This is a special case. If root-image.fs.sfs is copied to a filesystems that does not support sparse files (FAT commonly for USB-keys), this is waste of free space.
brb, ignore me!! truncate is on root-image.fs not root-images.fs.sfs :P
Yes, this can be safe by default and can be included for next release :)
Great, thanks!
I am still not changing this because, I am thinking in a different way to do this, in a more "systemd-friendly-way" (because currently I need to mount the squashfs, then fetch the size in blocks of the file inside it...). This is, for all cases, create a fixed size of the filesystem, (i.e 4G or 8G), the overhead is minimal, really :) $ truncate -s 1G coco.fs $ mkfs.ext4 -q -O ^has_journal -E lazy_itable_init=0 -m 0 -F coco.fs $ du -h coco.fs 408K coco.fs $ truncate -s 16G pepe.fs $ mkfs.ext4 -q -O ^has_journal -E lazy_itable_init=0 -m 0 -F pepe.fs $ du -h pepe.fs 4.3M pepe.fs -- Gerardo Exequiel Pozzi \cos^2\alpha + \sin^2\alpha = 1