[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Replacing growpart and cloud-initramfs-tools



On 05/06/2014 10:26 PM, Juerg Haefliger wrote:
> All,
> 
> With Kernel 3.8 and later, it's no longer necessary to resize the root
> partition in cloud images in the initrd while root is unmounted, it can
> now be done online during the regular sysv boot process. That makes
> cloud-initramsfs-tools kind of obsolete (for newer kernels that is).
> 
> Secondly, growpart (which is part of cloud-utils) kind of grew into the
> wild IMHO. I'd like to start over from scratch.
> 
> Thirdly, apparently the ARM people are using the growroot feature so
> they can put their image on any-sized SD card and it enlarges itself on
> first boot. That's not really a cloud use case so having to install
> cloud packages (which pull in other cloud dependencies) for that is
> suboptimal.
> 
> What I'm proposing is to create a new package that does both partition
> and filesystem resizing during sysv boot. Just that, nothing else,
> probably configurable somehow through a config file. In functionality,
> it would replace cloud-utils (more precisely, the growpart script) and
> cloud-initramfs-tools and could probably replace the two over time.
> 
> I'm not a DD or package maintainer so don't really now how to go about
> it. I could put something together and throw it up on github as a starter.
> 
> Thoughts? Comments? Concerns?
> 
> Thanks
> ...Juerg

This reply is overdue, sorry.

I honestly don't see what would justify breaking something that already
was proven to work well. If the resize of partitions is working well in
the initramfs, in all cases, why should we care about resizing it later
on and address only the specific case of newer kernel, just because it
is possible? I don't think you'd be addressing any issue by moving the
partition resize into a sysv-rc process. Quite the opposite: you'd have
to add systemd support and/or sysv-rc dependencies, and it may be more
complicated at the end.

The binary package cloud-initramfs-growroot is really an independent
binary package. While it is part of the source package
cloud-initramfs-tools, it can be used standalone. The growpart utility
is a simple shell script, just like the rest of cloud-utils. They can't,
in any way, be a problem in a setup (the package contains no init script
or daemon).

For the ARM guys, the only issue is the package names, or am I missing
something?

Your thoughts?

Cheers,

Thomas


Reply to: