Re: pivot_root()

From: serue
Date: Mon May 16 2005 - 09:01:02 EST


Quoting Lai Zit Seng (lzs@xxxxxxxxx):
> Not sure where to post this, forgive me if there is a better place to
> post...
>
> I'm trying to use pivot_root() to change root to a directory that is not
> a mount point, i.e. it is under a mount point of a different device from
> the current root device.
>
> E.g.
>
> # /root is mounted from /dev/sda1
> pivot_root("/root/somewhere", "/root/somewhere/initrd");
>
> But pivot_root() returns EINVAL. Both /root/somewhere and
> /root/somewhere/initrd exists.
>
> Any pointers about what might be wrong? Many thanks :)

Try first doing

mount --bind <newroot> <newroot>

See the comments above fs/namespace.c:sys_pivot_root() for the
explanation.

-serge
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/