# [arch-projects] [mkinitcpio PATCH 1/3] /run/initramfs: copy the whole ramfs

Gerardo Exequiel Pozzi vmlinuz386 at yahoo.com.ar
Thu Nov 17 20:51:37 EST 2011

On 11/17/2011 10:21 PM, Dave Reisner wrote:
> On Fri, Nov 18, 2011 at 11:42:43AM +1100, Tom Gundersen wrote:
>> On Fri, Nov 18, 2011 at 5:23 AM, Thomas Bächler<thomas at archlinux.org>  wrote:
>>> Am 17.11.2011 18:07, schrieb Tom Gundersen:
>>>> I see two potential issues: boot speed and memory use. Moving stuff
>>>> around in memory should be pretty much instantaneous, and the memory
>>>> (a couple of MB) will be swapped out quick enough so it shouldn't make
>>>> a difference.
>>>>
>>>> I'd be happy to write a new patch where this is optional, but I don't
>>>> think we should optimize for stuff unless we know it is a measurable
>>>> problem.
>>> Depending on what's in there, it could be big. For example, I once wrote
>>> a hook that extracted a tarfile that was stored inside initramfs (that
>>> tarfile was the whole root filesystem IIRC).
>> That's something to take into consideration. I think it would be best
>> if we were able to optimize the cases that need it by adding some
>> exceptions to the copying, but still keep the bits needed for
>> shutdown++, rather than disabling it altogether. Having huge
>> initramfs' being a corner case, any workaround should of course be
>> unintrusive (if that is not possible then I agree on just allowing
>> this stuff to be switched off).
>>
>> [untested: would bindmounting a directory (like say /lib/modules) to
>> itself exclude it from "cp -ax"?]
> No, it won't. Generally, detection of crossing onto another mount is
> done by comparing the devno of '.' to the devno of '..'. Bind mounts
> aren't special in this regard -- they'll just expose the underlying
> physical mount.
Mmm no, you can not access to files in underliying mount from such path.
Anyway the rootfs is the HEAD of vfsmount, so you can not
bind/move/pivot. :P
But supose that you can do a bindmount... -a is used that implies -d,
that implies --preserve=links, in that case cp will fails because will
try to create a link to directory. ;)

Why no just copy the needed files? Yes needs more steps...
>
>>> Other than that, people WILL complain.
>> Undoubtedly. They always do.
>>
> Always.
>
> d

--
Gerardo Exequiel Pozzi
\cos^2\alpha + \sin^2\alpha = 1