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

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


On 11/18/2011 12:22 AM, Dave Reisner wrote:
> On Fri, Nov 18, 2011 at 12:12:28AM -0300, Gerardo Exequiel Pozzi wrote:
>> On 11/18/2011 12:03 AM, Dave Reisner wrote:
>>> No, that absolutely _will_ work. Binding arbitrary directories is
>>> totally kosher, and I do it fairly frequently. You can even bind mount
>>> files, i.e.
>>>
>>>    echo blah>   foo
>>>    touch bar
>>>    mount -B foo bar
>>>
>>> When you 'cat bar' it will have the same contents as 'foo'.
>> I know, but again, rootfs is the *HEAD* of vfsmount.
>>
>> [ramfs /]# mkdir a b
>> [ramfs /]# mount --bind a b
>> mount: mounting a on b failed: Invalid argument
>> [ramfs /]# mkdir coco
>> [ramfs /]# mount -t tmpfs coco coco
>> [ramfs /]# cd coco/
>> [ramfs /coco]# mkdir a b
>> [ramfs /coco]# mount --bind a b
>> [ramfs /coco]#
>>
> Ahh, there's the lightbulb. More specifically, directories in the root
> can't be bind mounted. Seems the inverse doesn't hold true.
Not exactly. you are mixing things.
/run is on another filesystem

When I say rootfs I talk about of a type of filesystem.

Do not confuse, rootfs (an special tmpfs/ramfs is the head, it does not 
have a name, you can not reference, this implies you can not unmount, 
bind, move and pivot).


>
> [ramfs /]# mkdir /a
> [ramfs /]# mount -B /run/initramfs/ /a
works because you are binding a tmpfs.
repeat the same with /somedir/lalala, the result is exactly as below....
> [ramfs /]# umount /a

> [ramfs /]# mount -B /a /run/initramfs/
> mount: wrong fs type, bad option, bad superblock on /a,
>         missing codepage or helper program, or other error
>         In some cases useful info is found in syslog - try
>         dmesg | tail  or so
does not works because you are trying to reference an "unnamed" 
mountpoint. There is no "source" for such fs.


>
> (oh the joys of the soul-less vacuum that is early userspace)
>
> d

haha :P

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



More information about the arch-projects mailing list