<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://linux-vserver.at/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://linux-vserver.at/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=X</id>
		<title>Linux-VServer - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://linux-vserver.at/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=X"/>
		<link rel="alternate" type="text/html" href="http://linux-vserver.at/Special:Contributions/X"/>
		<updated>2026-04-09T15:55:48Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.20.2</generator>

	<entry>
		<id>http://linux-vserver.at/Upstart_issues</id>
		<title>Upstart issues</title>
		<link rel="alternate" type="text/html" href="http://linux-vserver.at/Upstart_issues"/>
				<updated>2010-01-07T04:44:14Z</updated>
		
		<summary type="html">&lt;p&gt;X: /* fake low level events inside the guest */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== running an upstart based guest ==&lt;br /&gt;
&lt;br /&gt;
currently upstart based guests need some manual tweaking to make them work inside a vserver guest.&lt;br /&gt;
&lt;br /&gt;
=== prepare the host ===&lt;br /&gt;
First of all you need to set the init style of your vserver to plain&lt;br /&gt;
 # echo plain &amp;gt; /etc/vservers/&amp;lt;vservername&amp;gt;/apps/init/style&lt;br /&gt;
&lt;br /&gt;
I'd also strongly recommend to mount &amp;lt;code&amp;gt;/var/run&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/var/lock&amp;lt;/code&amp;gt; of the guest as tmpfs. So add the following lines to&lt;br /&gt;
&amp;lt;code&amp;gt;/etc/vservers/&amp;lt;vservername&amp;gt;/fstab&amp;lt;/code&amp;gt;&lt;br /&gt;
 none    /var/run        tmpfs   size=16m,nosuid,mode=0755       0 0&lt;br /&gt;
 none    /var/lock       tmpfs   size=16m,noexec,nosuid,nodev    0 0&lt;br /&gt;
&lt;br /&gt;
=== remove low level services inside the guest ===&lt;br /&gt;
Then you need to get rid of anything in &amp;lt;code&amp;gt;/etc/init/&amp;lt;/code&amp;gt; that tries to fiddle with your Server's Hardware or other low-level Stuff that's already handled by your host's kernel/system. Having one such scriptlet still enabled might cause the whole upstart system to fail (like not beeing able to open &amp;lt;code&amp;gt;/dev/console&amp;lt;/code&amp;gt; or failing to start the udev system).&lt;br /&gt;
Just remove these scriptlets, move them out of the way or rename them to something not ending in &amp;lt;code&amp;gt;.conf&amp;lt;/code&amp;gt;. Be aware that upstart also parses subfolders of &amp;lt;code&amp;gt;/etc/init/&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;.conf&amp;lt;/code&amp;gt; files.&lt;br /&gt;
&lt;br /&gt;
This is what I deleted on a basic Ubuntu 9.10 guest:&lt;br /&gt;
 dmesg.conf&lt;br /&gt;
 hostname.conf&lt;br /&gt;
 hwclock-save.conf&lt;br /&gt;
 hwclock.conf&lt;br /&gt;
 mountall-net.conf&lt;br /&gt;
 mountall-reboot.conf&lt;br /&gt;
 mountall-shell.conf&lt;br /&gt;
 mountall.conf&lt;br /&gt;
 network-interface.conf&lt;br /&gt;
 networking.conf&lt;br /&gt;
 procps.conf&lt;br /&gt;
 rsyslog-kmsg.conf&lt;br /&gt;
 tty1.conf&lt;br /&gt;
 tty2.conf&lt;br /&gt;
 tty3.conf&lt;br /&gt;
 tty4.conf&lt;br /&gt;
 tty5.conf&lt;br /&gt;
 tty6.conf&lt;br /&gt;
 upstart-udev-bridge.conf&lt;br /&gt;
&lt;br /&gt;
=== fake low level events inside the guest ===&lt;br /&gt;
Finally you need to fake emit the events that some of these scripts would do during regular boot. Probably the cleanest approach is to add a scriptlet &amp;lt;code&amp;gt;vserver.conf&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;/etc/init/&amp;lt;/code&amp;gt; with this content:&lt;br /&gt;
 start on startup&lt;br /&gt;
 script&lt;br /&gt;
        touch /var/run/utmp&lt;br /&gt;
        chown root:utmp /var/run/utmp&lt;br /&gt;
        chmod 664 /var/run/utmp&lt;br /&gt;
        initctl emit virtual-filesystems&lt;br /&gt;
        initctl emit local-filesystems&lt;br /&gt;
        initctl emit remote-filesystems&lt;br /&gt;
        initctl emit filesystem&lt;br /&gt;
 end script&lt;br /&gt;
&lt;br /&gt;
The utmp stuff is needed if you mount &amp;lt;code&amp;gt;/var/run&amp;lt;/code&amp;gt; as tmpfs and you don't create utmp anywhere else.&lt;br /&gt;
&lt;br /&gt;
=== adapt /etc/init/rc-sysinit.conf inside the guest ===&lt;br /&gt;
&lt;br /&gt;
This depends on net-device-up IFACE=lo, remove this from the start line so that it reads:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;start on filesystem&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This scriptlet tries to parse &amp;lt;code&amp;gt;/proc/cmdline&amp;lt;/code&amp;gt; which will not work and probably isn't needed inside a vserver.&amp;lt;br/&amp;gt;&lt;br /&gt;
Simply comment out or delete the whole &amp;lt;code&amp;gt;for ARG in $(cat /proc/cmdline) do...done&amp;lt;/code&amp;gt; loop.&lt;br /&gt;
&lt;br /&gt;
=== Notes for older kernels ===&lt;br /&gt;
If you encounter upstart errors like this:&lt;br /&gt;
&lt;br /&gt;
 $ vserver foo start&lt;br /&gt;
 init: missing runlevel&lt;br /&gt;
 Try `init --help' for more information.&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 $ vserver foo start&lt;br /&gt;
 telinit: Failed to connect to socket /com/ubuntu/upstart: Connection refused&lt;br /&gt;
&lt;br /&gt;
then you're probably running the current stable version &amp;lt;code&amp;gt;2.6.22.19-vs2.2.0.7&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Upstart's &amp;lt;code&amp;gt;/sbin/init&amp;lt;/code&amp;gt; implementation requires to be PID 1. It is linked against NPTL (in contrast to sysvinit), which has a bug in it's caching &amp;lt;code&amp;gt;getpid(2)&amp;lt;/code&amp;gt; wrapper. With this kernel version &amp;lt;code&amp;gt;getpid(2)&amp;lt;/code&amp;gt; returns the cached PID to init, resulting in init replacing itself with telinit. You can fix this by upgrading to a &amp;lt;code&amp;gt;2.6.26+&amp;lt;/code&amp;gt; kernel and a newer vserver patch, or by patching upstart:&lt;br /&gt;
&lt;br /&gt;
 diff --git a/init/main.c b/init/main.c&lt;br /&gt;
 index bfcd528..c6c9304 100644&lt;br /&gt;
 --- a/init/main.c&lt;br /&gt;
 +++ b/init/main.c&lt;br /&gt;
 @@ -37,6 +37,7 @@&lt;br /&gt;
  #include &amp;lt;string.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;syslog.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
 +#include &amp;lt;syscall.h&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  #include &amp;lt;linux/kd.h&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 @@ -131,7 +132,7 @@ main (int   argc,&lt;br /&gt;
  	}&lt;br /&gt;
  &lt;br /&gt;
  	/* Check we're process #1 */&lt;br /&gt;
 -	if (getpid () &amp;gt; 1) {&lt;br /&gt;
 +	if (syscall(SYS_getpid) &amp;gt; 1) {&lt;br /&gt;
  		execv (TELINIT, argv);&lt;br /&gt;
  		/* Ignore failure, probably just that telinit doesn't exist */&lt;br /&gt;
&lt;br /&gt;
For more information see the man pages of &amp;lt;code&amp;gt;getpid(2)&amp;lt;/code&amp;gt; (NOTES) and &amp;lt;code&amp;gt;clone(2)&amp;lt;/code&amp;gt; (BUGS).&lt;/div&gt;</summary>
		<author><name>X</name></author>	</entry>

	<entry>
		<id>http://linux-vserver.at/Upstart_issues</id>
		<title>Upstart issues</title>
		<link rel="alternate" type="text/html" href="http://linux-vserver.at/Upstart_issues"/>
				<updated>2010-01-07T04:40:59Z</updated>
		
		<summary type="html">&lt;p&gt;X: /* prepare the host */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== running an upstart based guest ==&lt;br /&gt;
&lt;br /&gt;
currently upstart based guests need some manual tweaking to make them work inside a vserver guest.&lt;br /&gt;
&lt;br /&gt;
=== prepare the host ===&lt;br /&gt;
First of all you need to set the init style of your vserver to plain&lt;br /&gt;
 # echo plain &amp;gt; /etc/vservers/&amp;lt;vservername&amp;gt;/apps/init/style&lt;br /&gt;
&lt;br /&gt;
I'd also strongly recommend to mount &amp;lt;code&amp;gt;/var/run&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;/var/lock&amp;lt;/code&amp;gt; of the guest as tmpfs. So add the following lines to&lt;br /&gt;
&amp;lt;code&amp;gt;/etc/vservers/&amp;lt;vservername&amp;gt;/fstab&amp;lt;/code&amp;gt;&lt;br /&gt;
 none    /var/run        tmpfs   size=16m,nosuid,mode=0755       0 0&lt;br /&gt;
 none    /var/lock       tmpfs   size=16m,noexec,nosuid,nodev    0 0&lt;br /&gt;
&lt;br /&gt;
=== remove low level services inside the guest ===&lt;br /&gt;
Then you need to get rid of anything in &amp;lt;code&amp;gt;/etc/init/&amp;lt;/code&amp;gt; that tries to fiddle with your Server's Hardware or other low-level Stuff that's already handled by your host's kernel/system. Having one such scriptlet still enabled might cause the whole upstart system to fail (like not beeing able to open &amp;lt;code&amp;gt;/dev/console&amp;lt;/code&amp;gt; or failing to start the udev system).&lt;br /&gt;
Just remove these scriptlets, move them out of the way or rename them to something not ending in &amp;lt;code&amp;gt;.conf&amp;lt;/code&amp;gt;. Be aware that upstart also parses subfolders of &amp;lt;code&amp;gt;/etc/init/&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;.conf&amp;lt;/code&amp;gt; files.&lt;br /&gt;
&lt;br /&gt;
This is what I deleted on a basic Ubuntu 9.10 guest:&lt;br /&gt;
 dmesg.conf&lt;br /&gt;
 hostname.conf&lt;br /&gt;
 hwclock-save.conf&lt;br /&gt;
 hwclock.conf&lt;br /&gt;
 mountall-net.conf&lt;br /&gt;
 mountall-reboot.conf&lt;br /&gt;
 mountall-shell.conf&lt;br /&gt;
 mountall.conf&lt;br /&gt;
 network-interface.conf&lt;br /&gt;
 networking.conf&lt;br /&gt;
 procps.conf&lt;br /&gt;
 rsyslog-kmsg.conf&lt;br /&gt;
 tty1.conf&lt;br /&gt;
 tty2.conf&lt;br /&gt;
 tty3.conf&lt;br /&gt;
 tty4.conf&lt;br /&gt;
 tty5.conf&lt;br /&gt;
 tty6.conf&lt;br /&gt;
 upstart-udev-bridge.conf&lt;br /&gt;
&lt;br /&gt;
=== fake low level events inside the guest ===&lt;br /&gt;
Finally you need to fake emit the events that some of these scripts would do during regular boot. Probably the cleanest approach is to add a scriptlet &amp;lt;code&amp;gt;vserver.conf&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;/etc/init/&amp;lt;/code&amp;gt; with this content:&lt;br /&gt;
 start on startup&lt;br /&gt;
 script&lt;br /&gt;
        initctl emit virtual-filesystems&lt;br /&gt;
        initctl emit local-filesystems&lt;br /&gt;
        initctl emit remote-filesystems&lt;br /&gt;
        initctl emit filesystem&lt;br /&gt;
 end script&lt;br /&gt;
&lt;br /&gt;
=== adapt /etc/init/rc-sysinit.conf inside the guest ===&lt;br /&gt;
&lt;br /&gt;
This depends on net-device-up IFACE=lo, remove this from the start line so that it reads:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;start on filesystem&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This scriptlet tries to parse &amp;lt;code&amp;gt;/proc/cmdline&amp;lt;/code&amp;gt; which will not work and probably isn't needed inside a vserver.&amp;lt;br/&amp;gt;&lt;br /&gt;
Simply comment out or delete the whole &amp;lt;code&amp;gt;for ARG in $(cat /proc/cmdline) do...done&amp;lt;/code&amp;gt; loop.&lt;br /&gt;
&lt;br /&gt;
=== Notes for older kernels ===&lt;br /&gt;
If you encounter upstart errors like this:&lt;br /&gt;
&lt;br /&gt;
 $ vserver foo start&lt;br /&gt;
 init: missing runlevel&lt;br /&gt;
 Try `init --help' for more information.&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 $ vserver foo start&lt;br /&gt;
 telinit: Failed to connect to socket /com/ubuntu/upstart: Connection refused&lt;br /&gt;
&lt;br /&gt;
then you're probably running the current stable version &amp;lt;code&amp;gt;2.6.22.19-vs2.2.0.7&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Upstart's &amp;lt;code&amp;gt;/sbin/init&amp;lt;/code&amp;gt; implementation requires to be PID 1. It is linked against NPTL (in contrast to sysvinit), which has a bug in it's caching &amp;lt;code&amp;gt;getpid(2)&amp;lt;/code&amp;gt; wrapper. With this kernel version &amp;lt;code&amp;gt;getpid(2)&amp;lt;/code&amp;gt; returns the cached PID to init, resulting in init replacing itself with telinit. You can fix this by upgrading to a &amp;lt;code&amp;gt;2.6.26+&amp;lt;/code&amp;gt; kernel and a newer vserver patch, or by patching upstart:&lt;br /&gt;
&lt;br /&gt;
 diff --git a/init/main.c b/init/main.c&lt;br /&gt;
 index bfcd528..c6c9304 100644&lt;br /&gt;
 --- a/init/main.c&lt;br /&gt;
 +++ b/init/main.c&lt;br /&gt;
 @@ -37,6 +37,7 @@&lt;br /&gt;
  #include &amp;lt;string.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;syslog.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
 +#include &amp;lt;syscall.h&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  #include &amp;lt;linux/kd.h&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 @@ -131,7 +132,7 @@ main (int   argc,&lt;br /&gt;
  	}&lt;br /&gt;
  &lt;br /&gt;
  	/* Check we're process #1 */&lt;br /&gt;
 -	if (getpid () &amp;gt; 1) {&lt;br /&gt;
 +	if (syscall(SYS_getpid) &amp;gt; 1) {&lt;br /&gt;
  		execv (TELINIT, argv);&lt;br /&gt;
  		/* Ignore failure, probably just that telinit doesn't exist */&lt;br /&gt;
&lt;br /&gt;
For more information see the man pages of &amp;lt;code&amp;gt;getpid(2)&amp;lt;/code&amp;gt; (NOTES) and &amp;lt;code&amp;gt;clone(2)&amp;lt;/code&amp;gt; (BUGS).&lt;/div&gt;</summary>
		<author><name>X</name></author>	</entry>

	<entry>
		<id>http://linux-vserver.at/Upstart_issues</id>
		<title>Upstart issues</title>
		<link rel="alternate" type="text/html" href="http://linux-vserver.at/Upstart_issues"/>
				<updated>2010-01-07T03:09:58Z</updated>
		
		<summary type="html">&lt;p&gt;X: /* adapt /etc/init/rc-sysinit.conf inside the guest */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== running an upstart based guest ==&lt;br /&gt;
&lt;br /&gt;
currently upstart based guests need some manual tweaking to make them work inside a vserver guest.&lt;br /&gt;
&lt;br /&gt;
=== prepare the host ===&lt;br /&gt;
First of all you need to set the init style of your vserver to plain&lt;br /&gt;
 # echo plain &amp;gt; /etc/vservers/&amp;lt;vservername&amp;gt;/apps/init/style&lt;br /&gt;
&lt;br /&gt;
=== remove low level services inside the guest ===&lt;br /&gt;
Then you need to get rid of anything in &amp;lt;code&amp;gt;/etc/init/&amp;lt;/code&amp;gt; that tries to fiddle with your Server's Hardware or other low-level Stuff that's already handled by your host's kernel/system. Having one such scriptlet still enabled might cause the whole upstart system to fail (like not beeing able to open &amp;lt;code&amp;gt;/dev/console&amp;lt;/code&amp;gt; or failing to start the udev system).&lt;br /&gt;
Just remove these scriptlets, move them out of the way or rename them to something not ending in &amp;lt;code&amp;gt;.conf&amp;lt;/code&amp;gt;. Be aware that upstart also parses subfolders of &amp;lt;code&amp;gt;/etc/init/&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;.conf&amp;lt;/code&amp;gt; files.&lt;br /&gt;
&lt;br /&gt;
This is what I deleted on a basic Ubuntu 9.10 guest:&lt;br /&gt;
 dmesg.conf&lt;br /&gt;
 hostname.conf&lt;br /&gt;
 hwclock-save.conf&lt;br /&gt;
 hwclock.conf&lt;br /&gt;
 mountall-net.conf&lt;br /&gt;
 mountall-reboot.conf&lt;br /&gt;
 mountall-shell.conf&lt;br /&gt;
 mountall.conf&lt;br /&gt;
 network-interface.conf&lt;br /&gt;
 networking.conf&lt;br /&gt;
 procps.conf&lt;br /&gt;
 rsyslog-kmsg.conf&lt;br /&gt;
 tty1.conf&lt;br /&gt;
 tty2.conf&lt;br /&gt;
 tty3.conf&lt;br /&gt;
 tty4.conf&lt;br /&gt;
 tty5.conf&lt;br /&gt;
 tty6.conf&lt;br /&gt;
 upstart-udev-bridge.conf&lt;br /&gt;
&lt;br /&gt;
=== fake low level events inside the guest ===&lt;br /&gt;
Finally you need to fake emit the events that some of these scripts would do during regular boot. Probably the cleanest approach is to add a scriptlet &amp;lt;code&amp;gt;vserver.conf&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;/etc/init/&amp;lt;/code&amp;gt; with this content:&lt;br /&gt;
 start on startup&lt;br /&gt;
 script&lt;br /&gt;
        initctl emit virtual-filesystems&lt;br /&gt;
        initctl emit local-filesystems&lt;br /&gt;
        initctl emit remote-filesystems&lt;br /&gt;
        initctl emit filesystem&lt;br /&gt;
 end script&lt;br /&gt;
&lt;br /&gt;
=== adapt /etc/init/rc-sysinit.conf inside the guest ===&lt;br /&gt;
&lt;br /&gt;
This depends on net-device-up IFACE=lo, remove this from the start line so that it reads:&amp;lt;br/&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;start on filesystem&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This scriptlet tries to parse &amp;lt;code&amp;gt;/proc/cmdline&amp;lt;/code&amp;gt; which will not work and probably isn't needed inside a vserver.&amp;lt;br/&amp;gt;&lt;br /&gt;
Simply comment out or delete the whole &amp;lt;code&amp;gt;for ARG in $(cat /proc/cmdline) do...done&amp;lt;/code&amp;gt; loop.&lt;br /&gt;
&lt;br /&gt;
=== Notes for older kernels ===&lt;br /&gt;
If you encounter upstart errors like this:&lt;br /&gt;
&lt;br /&gt;
 $ vserver foo start&lt;br /&gt;
 init: missing runlevel&lt;br /&gt;
 Try `init --help' for more information.&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 $ vserver foo start&lt;br /&gt;
 telinit: Failed to connect to socket /com/ubuntu/upstart: Connection refused&lt;br /&gt;
&lt;br /&gt;
then you're probably running the current stable version &amp;lt;code&amp;gt;2.6.22.19-vs2.2.0.7&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Upstart's &amp;lt;code&amp;gt;/sbin/init&amp;lt;/code&amp;gt; implementation requires to be PID 1. It is linked against NPTL (in contrast to sysvinit), which has a bug in it's caching &amp;lt;code&amp;gt;getpid(2)&amp;lt;/code&amp;gt; wrapper. With this kernel version &amp;lt;code&amp;gt;getpid(2)&amp;lt;/code&amp;gt; returns the cached PID to init, resulting in init replacing itself with telinit. You can fix this by upgrading to a &amp;lt;code&amp;gt;2.6.26+&amp;lt;/code&amp;gt; kernel and a newer vserver patch, or by patching upstart:&lt;br /&gt;
&lt;br /&gt;
 diff --git a/init/main.c b/init/main.c&lt;br /&gt;
 index bfcd528..c6c9304 100644&lt;br /&gt;
 --- a/init/main.c&lt;br /&gt;
 +++ b/init/main.c&lt;br /&gt;
 @@ -37,6 +37,7 @@&lt;br /&gt;
  #include &amp;lt;string.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;syslog.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
 +#include &amp;lt;syscall.h&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  #include &amp;lt;linux/kd.h&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 @@ -131,7 +132,7 @@ main (int   argc,&lt;br /&gt;
  	}&lt;br /&gt;
  &lt;br /&gt;
  	/* Check we're process #1 */&lt;br /&gt;
 -	if (getpid () &amp;gt; 1) {&lt;br /&gt;
 +	if (syscall(SYS_getpid) &amp;gt; 1) {&lt;br /&gt;
  		execv (TELINIT, argv);&lt;br /&gt;
  		/* Ignore failure, probably just that telinit doesn't exist */&lt;br /&gt;
&lt;br /&gt;
For more information see the man pages of &amp;lt;code&amp;gt;getpid(2)&amp;lt;/code&amp;gt; (NOTES) and &amp;lt;code&amp;gt;clone(2)&amp;lt;/code&amp;gt; (BUGS).&lt;/div&gt;</summary>
		<author><name>X</name></author>	</entry>

	<entry>
		<id>http://linux-vserver.at/Upstart_issues</id>
		<title>Upstart issues</title>
		<link rel="alternate" type="text/html" href="http://linux-vserver.at/Upstart_issues"/>
				<updated>2010-01-07T02:57:07Z</updated>
		
		<summary type="html">&lt;p&gt;X: new rc-sysinit.conf section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== running an upstart based guest ==&lt;br /&gt;
&lt;br /&gt;
currently upstart based guests need some manual tweaking to make them work inside a vserver guest.&lt;br /&gt;
&lt;br /&gt;
=== prepare the host ===&lt;br /&gt;
First of all you need to set the init style of your vserver to plain&lt;br /&gt;
 # echo plain &amp;gt; /etc/vservers/&amp;lt;vservername&amp;gt;/apps/init/style&lt;br /&gt;
&lt;br /&gt;
=== remove low level services inside the guest ===&lt;br /&gt;
Then you need to get rid of anything in &amp;lt;code&amp;gt;/etc/init/&amp;lt;/code&amp;gt; that tries to fiddle with your Server's Hardware or other low-level Stuff that's already handled by your host's kernel/system. Having one such scriptlet still enabled might cause the whole upstart system to fail (like not beeing able to open &amp;lt;code&amp;gt;/dev/console&amp;lt;/code&amp;gt; or failing to start the udev system).&lt;br /&gt;
Just remove these scriptlets, move them out of the way or rename them to something not ending in &amp;lt;code&amp;gt;.conf&amp;lt;/code&amp;gt;. Be aware that upstart also parses subfolders of &amp;lt;code&amp;gt;/etc/init/&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;.conf&amp;lt;/code&amp;gt; files.&lt;br /&gt;
&lt;br /&gt;
This is what I deleted on a basic Ubuntu 9.10 guest:&lt;br /&gt;
 dmesg.conf&lt;br /&gt;
 hostname.conf&lt;br /&gt;
 hwclock-save.conf&lt;br /&gt;
 hwclock.conf&lt;br /&gt;
 mountall-net.conf&lt;br /&gt;
 mountall-reboot.conf&lt;br /&gt;
 mountall-shell.conf&lt;br /&gt;
 mountall.conf&lt;br /&gt;
 network-interface.conf&lt;br /&gt;
 networking.conf&lt;br /&gt;
 procps.conf&lt;br /&gt;
 rsyslog-kmsg.conf&lt;br /&gt;
 tty1.conf&lt;br /&gt;
 tty2.conf&lt;br /&gt;
 tty3.conf&lt;br /&gt;
 tty4.conf&lt;br /&gt;
 tty5.conf&lt;br /&gt;
 tty6.conf&lt;br /&gt;
 upstart-udev-bridge.conf&lt;br /&gt;
&lt;br /&gt;
=== fake low level events inside the guest ===&lt;br /&gt;
Finally you need to fake emit the events that some of these scripts would do during regular boot. Probably the cleanest approach is to add a scriptlet &amp;lt;code&amp;gt;vserver.conf&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;/etc/init/&amp;lt;/code&amp;gt; with this content:&lt;br /&gt;
 start on startup&lt;br /&gt;
 script&lt;br /&gt;
        initctl emit virtual-filesystems&lt;br /&gt;
        initctl emit local-filesystems&lt;br /&gt;
        initctl emit remote-filesystems&lt;br /&gt;
        initctl emit filesystem&lt;br /&gt;
 end script&lt;br /&gt;
&lt;br /&gt;
=== adapt /etc/init/rc-sysinit.conf inside the guest ===&lt;br /&gt;
This scriptlet tries to parse &amp;lt;code&amp;gt;/proc/cmdline&amp;lt;/code&amp;gt; which will not work and probably isn't needed inside a vserver.&lt;br /&gt;
&lt;br /&gt;
Simply comment out or delete the whole &amp;lt;code&amp;gt;for ARG in $(cat /proc/cmdline) do...done&amp;lt;/code&amp;gt; loop.&lt;br /&gt;
&lt;br /&gt;
=== Notes for older kernels ===&lt;br /&gt;
If you encounter upstart errors like this:&lt;br /&gt;
&lt;br /&gt;
 $ vserver foo start&lt;br /&gt;
 init: missing runlevel&lt;br /&gt;
 Try `init --help' for more information.&lt;br /&gt;
&lt;br /&gt;
or&lt;br /&gt;
&lt;br /&gt;
 $ vserver foo start&lt;br /&gt;
 telinit: Failed to connect to socket /com/ubuntu/upstart: Connection refused&lt;br /&gt;
&lt;br /&gt;
then you're probably running the current stable version &amp;lt;code&amp;gt;2.6.22.19-vs2.2.0.7&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Upstart's &amp;lt;code&amp;gt;/sbin/init&amp;lt;/code&amp;gt; implementation requires to be PID 1. It is linked against NPTL (in contrast to sysvinit), which has a bug in it's caching &amp;lt;code&amp;gt;getpid(2)&amp;lt;/code&amp;gt; wrapper. With this kernel version &amp;lt;code&amp;gt;getpid(2)&amp;lt;/code&amp;gt; returns the cached PID to init, resulting in init replacing itself with telinit. You can fix this by upgrading to a &amp;lt;code&amp;gt;2.6.26+&amp;lt;/code&amp;gt; kernel and a newer vserver patch, or by patching upstart:&lt;br /&gt;
&lt;br /&gt;
 diff --git a/init/main.c b/init/main.c&lt;br /&gt;
 index bfcd528..c6c9304 100644&lt;br /&gt;
 --- a/init/main.c&lt;br /&gt;
 +++ b/init/main.c&lt;br /&gt;
 @@ -37,6 +37,7 @@&lt;br /&gt;
  #include &amp;lt;string.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;syslog.h&amp;gt;&lt;br /&gt;
  #include &amp;lt;unistd.h&amp;gt;&lt;br /&gt;
 +#include &amp;lt;syscall.h&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  #include &amp;lt;linux/kd.h&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
 @@ -131,7 +132,7 @@ main (int   argc,&lt;br /&gt;
  	}&lt;br /&gt;
  &lt;br /&gt;
  	/* Check we're process #1 */&lt;br /&gt;
 -	if (getpid () &amp;gt; 1) {&lt;br /&gt;
 +	if (syscall(SYS_getpid) &amp;gt; 1) {&lt;br /&gt;
  		execv (TELINIT, argv);&lt;br /&gt;
  		/* Ignore failure, probably just that telinit doesn't exist */&lt;br /&gt;
&lt;br /&gt;
For more information see the man pages of &amp;lt;code&amp;gt;getpid(2)&amp;lt;/code&amp;gt; (NOTES) and &amp;lt;code&amp;gt;clone(2)&amp;lt;/code&amp;gt; (BUGS).&lt;/div&gt;</summary>
		<author><name>X</name></author>	</entry>

	<entry>
		<id>http://linux-vserver.at/Documentation</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="http://linux-vserver.at/Documentation"/>
				<updated>2009-11-09T20:14:09Z</updated>
		
		<summary type="html">&lt;p&gt;X: /* Guides and Howtos */ removed underscore in Upstart issues Link&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;margin: 2em auto 2em auto; padding: 10px; background-color: #F9ECCD; border: 1px solid #004433; text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Icon-Caution.png|left]]&lt;br /&gt;
We are currently migrating to MediaWiki from our old system, but not all content has been migrated yet. Take a look at the [[Wiki Team]] page for instructions how to help or look at the [http://oldwiki.linux-vserver.org old wiki] to find the information not migrated yet.&lt;br /&gt;
&lt;br /&gt;
'''To ease migration we created a [[List of old Documentation pages]].'''&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
* [[Overview|Virtualization Overview]]&lt;br /&gt;
* [[Usage Scenarios]]&lt;br /&gt;
* [[Feature Matrix]]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
* [[Installation Considerations]]&lt;br /&gt;
* [[Installation on Linux 2.6]]: from source, both the kernel and util-vserver&lt;br /&gt;
* [[Installation on ArchLinux]]&lt;br /&gt;
* [[Installation on CentOS]]&lt;br /&gt;
* [[Installation on Debian]]&lt;br /&gt;
* [[Installation on Fedora]]&lt;br /&gt;
* [[Installation on Gentoo]]&lt;br /&gt;
* [[Installation on Mandrake]]&lt;br /&gt;
* [http://pld-linux.org/Vserver Installation on PLD-Linux]&lt;br /&gt;
* [[Installation on Redhat]]&lt;br /&gt;
* [[Installation on Slackware]]&lt;br /&gt;
* [[Installation on SuSE/OpenSUSE]]&lt;br /&gt;
* [[Installation on Ubuntu]]&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
* [[Util-vserver:Documentation|util-vserver Documentation]]&lt;br /&gt;
* [[vcd:Documentation|VServer Control Daemon Documentation]]&lt;br /&gt;
* [[Share a directory among multiple guests]]&lt;br /&gt;
&lt;br /&gt;
== Guides and Howtos ==&lt;br /&gt;
&lt;br /&gt;
* [[Building Guest Systems]]&lt;br /&gt;
* [[util-vserver:Howto virtualize an exisiting Linux server|Howto virtualize an existing Linux server]]&lt;br /&gt;
* [[VCMD HowTo]]&lt;br /&gt;
* [[Howto make bsd-style init sysv-compatible|Howto make Bsd-style init sysv-compatible (archlinux guest system)]]&lt;br /&gt;
* [[Installing 32-bit Fedora on 64-bit Debian]]&lt;br /&gt;
* [[Installing Ubuntu on Debian]]&lt;br /&gt;
* [[Installing an openSUSE vserver guest]]&lt;br /&gt;
* [[Networking vserver guests]]&lt;br /&gt;
* [[Howto HostAuth]]&lt;br /&gt;
* [[Fuse_GlusterFS| Fuse and GlusterFS]]&lt;br /&gt;
* [[yum-patch|How to patch vyum]]&lt;br /&gt;
* [[yum-upgrade-3.2.4|Upgrading existing installations to yum-3.2.4]]&lt;br /&gt;
* [[Migrating from OpenVZ to Linux-Vserver]]&lt;br /&gt;
* [[Getting_high_with_lenny]]&lt;br /&gt;
* [[Installing_Ubuntu_8.04_Hardy_as_guest]]&lt;br /&gt;
* [[Applying CPU Limits]]&lt;br /&gt;
* [[Upgrading from Etch to Lenny]]&lt;br /&gt;
* [[Upstart issues]]&lt;br /&gt;
&lt;br /&gt;
== Lists &amp;amp;amp; Theory ==&lt;br /&gt;
&lt;br /&gt;
* Basic configuration&lt;br /&gt;
** [[Capabilities and Flags]]&lt;br /&gt;
** [[CPU Scheduler]]&lt;br /&gt;
** [[Disk Limits and Quota]]&lt;br /&gt;
** [[Resource Limits]]&lt;br /&gt;
*** [[Memory Limits]]&lt;br /&gt;
*** [[Network Bandwidth Management]]&lt;br /&gt;
** [[Virtual System Information]]&lt;br /&gt;
** [[Unification]]&lt;br /&gt;
&lt;br /&gt;
* Security Considerations&lt;br /&gt;
** [[Secure Capabilities]]&lt;br /&gt;
** [[Secure chroot Barrier]]&lt;br /&gt;
** [[Secure Device Nodes]]&lt;br /&gt;
** [[Secure ProcFS Entries]]&lt;br /&gt;
&lt;br /&gt;
* Performance and Stability&lt;br /&gt;
** [[Virtualization Overhead]]&lt;br /&gt;
&lt;br /&gt;
* Implementation Details&lt;br /&gt;
** [[Context Accounting]]&lt;br /&gt;
** [[Filesystem Attributes]]&lt;br /&gt;
** [[Filesystem Tagging]]&lt;br /&gt;
** [[Filesystem Namespaces]]&lt;br /&gt;
** [[Kernel Userspace Helper]]&lt;br /&gt;
** [[Mainline Kernel Virtualization]]&lt;br /&gt;
** [[ProcFS]]&lt;br /&gt;
** [[Syscall Command Switch]]&lt;br /&gt;
&lt;br /&gt;
== External Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://vserver.13thfloor.at/Remote-Reset/ Simple Remote reset] (remote reset/power your vserver box)&lt;br /&gt;
* [http://vserver.13thfloor.at/Null-Modem/ NullModem cables] [http://www.loop-back.com/null-mod.html II] [http://www.tldp.org/HOWTO/Remote-Serial-Console-HOWTO/serial-pc-terminal.html III] (cable required for serial console)&lt;/div&gt;</summary>
		<author><name>X</name></author>	</entry>

	<entry>
		<id>http://linux-vserver.at/Documentation</id>
		<title>Documentation</title>
		<link rel="alternate" type="text/html" href="http://linux-vserver.at/Documentation"/>
				<updated>2009-11-09T20:13:23Z</updated>
		
		<summary type="html">&lt;p&gt;X: /* Guides and Howtos */  added Link to Upstart Issues&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;margin: 2em auto 2em auto; padding: 10px; background-color: #F9ECCD; border: 1px solid #004433; text-align: center;&amp;quot;&amp;gt;&lt;br /&gt;
[[Image:Icon-Caution.png|left]]&lt;br /&gt;
We are currently migrating to MediaWiki from our old system, but not all content has been migrated yet. Take a look at the [[Wiki Team]] page for instructions how to help or look at the [http://oldwiki.linux-vserver.org old wiki] to find the information not migrated yet.&lt;br /&gt;
&lt;br /&gt;
'''To ease migration we created a [[List of old Documentation pages]].'''&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
* [[Overview|Virtualization Overview]]&lt;br /&gt;
* [[Usage Scenarios]]&lt;br /&gt;
* [[Feature Matrix]]&lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
&lt;br /&gt;
* [[Installation Considerations]]&lt;br /&gt;
* [[Installation on Linux 2.6]]: from source, both the kernel and util-vserver&lt;br /&gt;
* [[Installation on ArchLinux]]&lt;br /&gt;
* [[Installation on CentOS]]&lt;br /&gt;
* [[Installation on Debian]]&lt;br /&gt;
* [[Installation on Fedora]]&lt;br /&gt;
* [[Installation on Gentoo]]&lt;br /&gt;
* [[Installation on Mandrake]]&lt;br /&gt;
* [http://pld-linux.org/Vserver Installation on PLD-Linux]&lt;br /&gt;
* [[Installation on Redhat]]&lt;br /&gt;
* [[Installation on Slackware]]&lt;br /&gt;
* [[Installation on SuSE/OpenSUSE]]&lt;br /&gt;
* [[Installation on Ubuntu]]&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
&lt;br /&gt;
* [[Util-vserver:Documentation|util-vserver Documentation]]&lt;br /&gt;
* [[vcd:Documentation|VServer Control Daemon Documentation]]&lt;br /&gt;
* [[Share a directory among multiple guests]]&lt;br /&gt;
&lt;br /&gt;
== Guides and Howtos ==&lt;br /&gt;
&lt;br /&gt;
* [[Building Guest Systems]]&lt;br /&gt;
* [[util-vserver:Howto virtualize an exisiting Linux server|Howto virtualize an existing Linux server]]&lt;br /&gt;
* [[VCMD HowTo]]&lt;br /&gt;
* [[Howto make bsd-style init sysv-compatible|Howto make Bsd-style init sysv-compatible (archlinux guest system)]]&lt;br /&gt;
* [[Installing 32-bit Fedora on 64-bit Debian]]&lt;br /&gt;
* [[Installing Ubuntu on Debian]]&lt;br /&gt;
* [[Installing an openSUSE vserver guest]]&lt;br /&gt;
* [[Networking vserver guests]]&lt;br /&gt;
* [[Howto HostAuth]]&lt;br /&gt;
* [[Fuse_GlusterFS| Fuse and GlusterFS]]&lt;br /&gt;
* [[yum-patch|How to patch vyum]]&lt;br /&gt;
* [[yum-upgrade-3.2.4|Upgrading existing installations to yum-3.2.4]]&lt;br /&gt;
* [[Migrating from OpenVZ to Linux-Vserver]]&lt;br /&gt;
* [[Getting_high_with_lenny]]&lt;br /&gt;
* [[Installing_Ubuntu_8.04_Hardy_as_guest]]&lt;br /&gt;
* [[Applying CPU Limits]]&lt;br /&gt;
* [[Upgrading from Etch to Lenny]]&lt;br /&gt;
* [[Upstart_issues]]&lt;br /&gt;
&lt;br /&gt;
== Lists &amp;amp;amp; Theory ==&lt;br /&gt;
&lt;br /&gt;
* Basic configuration&lt;br /&gt;
** [[Capabilities and Flags]]&lt;br /&gt;
** [[CPU Scheduler]]&lt;br /&gt;
** [[Disk Limits and Quota]]&lt;br /&gt;
** [[Resource Limits]]&lt;br /&gt;
*** [[Memory Limits]]&lt;br /&gt;
*** [[Network Bandwidth Management]]&lt;br /&gt;
** [[Virtual System Information]]&lt;br /&gt;
** [[Unification]]&lt;br /&gt;
&lt;br /&gt;
* Security Considerations&lt;br /&gt;
** [[Secure Capabilities]]&lt;br /&gt;
** [[Secure chroot Barrier]]&lt;br /&gt;
** [[Secure Device Nodes]]&lt;br /&gt;
** [[Secure ProcFS Entries]]&lt;br /&gt;
&lt;br /&gt;
* Performance and Stability&lt;br /&gt;
** [[Virtualization Overhead]]&lt;br /&gt;
&lt;br /&gt;
* Implementation Details&lt;br /&gt;
** [[Context Accounting]]&lt;br /&gt;
** [[Filesystem Attributes]]&lt;br /&gt;
** [[Filesystem Tagging]]&lt;br /&gt;
** [[Filesystem Namespaces]]&lt;br /&gt;
** [[Kernel Userspace Helper]]&lt;br /&gt;
** [[Mainline Kernel Virtualization]]&lt;br /&gt;
** [[ProcFS]]&lt;br /&gt;
** [[Syscall Command Switch]]&lt;br /&gt;
&lt;br /&gt;
== External Resources ==&lt;br /&gt;
&lt;br /&gt;
* [http://vserver.13thfloor.at/Remote-Reset/ Simple Remote reset] (remote reset/power your vserver box)&lt;br /&gt;
* [http://vserver.13thfloor.at/Null-Modem/ NullModem cables] [http://www.loop-back.com/null-mod.html II] [http://www.tldp.org/HOWTO/Remote-Serial-Console-HOWTO/serial-pc-terminal.html III] (cable required for serial console)&lt;/div&gt;</summary>
		<author><name>X</name></author>	</entry>

	<entry>
		<id>http://linux-vserver.at/Upstart_issues</id>
		<title>Upstart issues</title>
		<link rel="alternate" type="text/html" href="http://linux-vserver.at/Upstart_issues"/>
				<updated>2009-11-09T20:10:38Z</updated>
		
		<summary type="html">&lt;p&gt;X: page created&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== running an upstart based guest ==&lt;br /&gt;
&lt;br /&gt;
currently upstart based guests need some manual tweaking to make them work inside a vserver guest.&lt;br /&gt;
&lt;br /&gt;
=== prepare the host ===&lt;br /&gt;
First of all you need to set the init style of your vserver to plain&lt;br /&gt;
 # echo plain &amp;gt; /etc/vservers/&amp;lt;vservername&amp;gt;/apps/init/style&lt;br /&gt;
&lt;br /&gt;
=== remove low level services inside the guest ===&lt;br /&gt;
Then you need to get rid of anything in &amp;lt;code&amp;gt;/etc/init/&amp;lt;/code&amp;gt; that tries to fiddle with your Server's Hardware or other low-level Stuff that's already handled by your host's kernel/system. Having one such scriptlet still enabled might cause the whole upstart system to fail (like not beeing able to open &amp;lt;code&amp;gt;/dev/console&amp;lt;/code&amp;gt; or failing to start the udev system).&lt;br /&gt;
Just remove these scriptlets, move them out of the way or rename them to something not ending in &amp;lt;code&amp;gt;.conf&amp;lt;/code&amp;gt;. Be aware that upstart also parses subfolders of &amp;lt;code&amp;gt;/etc/init/&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;.conf&amp;lt;/code&amp;gt; files.&lt;br /&gt;
&lt;br /&gt;
This is what I deleted on a basic Ubuntu 9.10 guest:&lt;br /&gt;
 control-alt-delete.conf&lt;br /&gt;
 dmesg.conf&lt;br /&gt;
 hostname.conf&lt;br /&gt;
 hwclock-save.conf&lt;br /&gt;
 hwclock.conf&lt;br /&gt;
 mountall-net.conf&lt;br /&gt;
 mountall-reboot.conf&lt;br /&gt;
 mountall-shell.conf&lt;br /&gt;
 mountall.conf&lt;br /&gt;
 network-interface.conf&lt;br /&gt;
 networking.conf&lt;br /&gt;
 procps.conf&lt;br /&gt;
 rsyslog-kmsg.conf&lt;br /&gt;
 tty1.conf&lt;br /&gt;
 tty2.conf&lt;br /&gt;
 tty3.conf&lt;br /&gt;
 tty4.conf&lt;br /&gt;
 tty5.conf&lt;br /&gt;
 tty6.conf&lt;br /&gt;
 upstart-udev-bridge.conf&lt;br /&gt;
&lt;br /&gt;
=== fake low level events inside the guest ===&lt;br /&gt;
Finally you need to fake emit the events that some of these scripts would do during regular boot. Probably the cleanest approach is to add a scriptlet &amp;lt;code&amp;gt;vserver.conf&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;/etc/init/&amp;lt;/code&amp;gt; with this content:&lt;br /&gt;
 start on startup&lt;br /&gt;
 script&lt;br /&gt;
        initctl emit virtual-filesystems&lt;br /&gt;
        initctl emit local-filesystems&lt;br /&gt;
        initctl emit remote-filesystems&lt;br /&gt;
        initctl emit filesystem&lt;br /&gt;
 end script&lt;/div&gt;</summary>
		<author><name>X</name></author>	</entry>

	</feed>