[lxc-devel] lxc-start: Invalid argument - pivot_root syscall failed

Serge Hallyn serge.hallyn at ubuntu.com
Thu Oct 10 19:47:25 UTC 2013


Quoting Peter Volkov (pva at gentoo.org):
> Hi, guys.
> 
> I'm using 1.0.0.alpha1 although I've tried with 0.8.0 also and I'm
> unable to start container with the following error:
> 
> lxc-start: Invalid argument - pivot_root syscall failed
> lxc-start: failed to setup pivot root
> lxc-start: failed to set rootfs for 'repos'
> lxc-start: failed to setup the container
> lxc-start: invalid sequence number 1. expected 2
> lxc-start: failed to spawn 'repos'
> 
> I've tried mount --make-private on all mount point I've thought of with
> no luck.
> Also I've tried lxc.autodev = 1 also no luck and I guess this is
> relevant with systemd while this systems uses openrc as init system.
> 
> Container's conf file:
> 
> lxc.arch = amd64
> lxc.utsname = repos
> lxc.rootfs = /virt/lxc/repos
> 
> Distribution Gentoo. Same config works fine on another gentoo system.
> Although systems are completely different I think important differences
> are:
> 1. init system: on laptop I'm using systemd while on server openrc
> 2. on server I have full system inside ram (system resides inside
> initramfs and after boot root stays in RAM on rootfs)

I think that's the problem.  I could be wrong, but I think it's
refusing ecause your root doesn't have a parent, i.e. isn't
mounted somewhere.

I suspect we want detect_shared_rootfs() updated to check for
your rootfs being mount #1, and also return 1 in that case
(meaning we will set up an environment in which you can in
fact pivot_root).  

Is such a patch something you could write and test?

thanks,
-serge




More information about the lxc-devel mailing list