<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, May 16, 2014 at 12:47 AM, Stephen Zhang <span dir="ltr"><<a href="mailto:zsrkmyn@gmail.com" target="_blank">zsrkmyn@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">
2014-05-15 20:13 GMT+08:00 Fajar A. Nugraha <span dir="ltr"><<a href="mailto:list@fajar.net" target="_blank">list@fajar.net</a>></span>:<div><div class="h5"><br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">

<div>On Thu, May 15, 2014 at 3:51 PM, Stephen Zhang <span dir="ltr"><<a href="mailto:zsrkmyn@gmail.com" target="_blank">zsrkmyn@gmail.com</a>></span> wrote:<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">


<div dir="ltr">

<div class="gmail_extra">I corrected the line in fstab "none<span style="white-space:pre-wrap">            </span>/lxc/rootfs.ubuntu/dev/pts<span style="white-space:pre-wrap">              </span>devpts<span style="white-space:pre-wrap">  </span>defaults<span style="white-space:pre-wrap">                </span>0<span style="white-space:pre-wrap">       </span>0" to right path, failed.</div>




<div class="gmail_extra">I comment the line above, failed.</div><div class="gmail_extra">I change the whole fstab using <a href="http://wiki.1tux.org/wiki/Lxc/Installation/Guest/Centos/6" target="_blank">http://wiki.1tux.org/wiki/Lxc/Installation/Guest/Centos/6</a> provides, failed. TAT</div>




<div class="gmail_extra">All the things happened as the same.</div><div class="gmail_extra">I also changed the lxcguest.conf (the original one is provided by the package lxcguest) to this (which is found in a previous mail list):</div>




<div class="gmail_extra"><br></div><div class="gmail_extra"><div><div class="gmail_extra">start on startup</div><div class="gmail_extra"><br></div><div class="gmail_extra">env container</div><div class="gmail_extra">
env LIBVIRT_LXC_UUID</div>
<div class="gmail_extra"><br></div></div><div class="gmail_extra">script</div><div class="gmail_extra">        rm -rf /var/run/*.pid</div><div class="gmail_extra">        rm -rf /var/run/network/*</div><div class="gmail_extra">




        /sbin/initctl emit stopped JOB=udevtrigger --no-wait</div><div class="gmail_extra">        /sbin/initctl emit started JOB=udev --no-wait</div><div class="gmail_extra">end script</div></div></div></blockquote><div>



<br></div></div><div>I'm actually surprised that you were able to create it using template at all. The template should fail due to the fact that lxcguest package is not available for maverick.</div><div><br></div><div>

Anyway, maverick seems to be a tough one. Here's what I did:</div>
<div>- Start with whatever lxc-create ended up with. In my case I copied /var/cache/lxc/maverick/rootfs-amd4 to /var/lib/lxc/maverick/rootfs. Revert whatever mannual changes you might have made.</div><div><br></div><div>

- use a config file like this (the container name is "maverick" in this example)</div>
<div>###</div><div><div>lxc.utsname = maverick</div><div>lxc.arch = x86_64</div><div>lxc.rootfs = /var/lib/lxc/maverick/rootfs</div><div><br></div><div>lxc.network.type=veth</div><div>lxc.network.link=lxcbr0</div><div>lxc.network.flags=up</div>


<div>lxc.network.hwaddr= 00:16:3E:82:28:D8</div><div>lxc.network.veth.pair=veth-maverick-0</div><div><br></div><div>lxc.include = /usr/share/lxc/config/ubuntu.common.conf</div><div><div>#override from common config</div>

<div>
lxc.aa_profile = unconfined</div></div><div>###<br></div></div><div><br></div><div>- edit the container's etc/network/interfaces:</div><div>###</div><div><div>auto lo</div><div>iface lo inet loopback</div><div><br></div>


<div>auto eth0</div><div>iface eth0 inet dhcp</div></div><div>###</div><div><br></div><div>- create this file on the container (you can fine-tune this later)</div><div><div># cat etc/init/lxcguest.conf </div><div>start on started ssh</div>


<div><br></div><div>script</div><div>umount /dev/pts || true</div><div>mount -t devpts devpts /dev/pts</div><div>end script</div></div><div><br></div><div>- lxc-start -n maverick<br></div><div><br></div><div>- (on a different window) lxc-attach -n maverick</div>


<div><br></div><div>- on the lxc-attach window, run</div><div>-- ps -efa</div><div>-- ifconfig eth0</div><div>-- (change the root password if you have to)</div><div><br></div><div>- (from the host): ssh to the container</div>


<div><br></div><div>In my test, the container pretty much runs well, all services (e.g. cron, syslog, ssh) started. The only problem is that the console doesn't work (hence, in the future, start the container using "-d"), but lxc-attach can be a workaround for most needs.</div>

<span><font color="#888888">
<div><br></div><div>-- </div><div>Fajar</div></font></span></div></div></div>
<br></blockquote><div><br></div></div></div><div>It does work!! Thx! But there still are 2 problems:</div><div>1. It seems that the .conf files in /etc/init/ don't work if they are set "startup on runlevel [*]" (* means any possible number) such as rc.conf, dmesg.conf and cron.conf. So, the tty*.conf, which are set "startup on stopped rc RUNLEVEL=[2345]", are never to be run, for rc.conf does not start at all.</div>
</div></div></div></blockquote><div><br></div><div>Works for me. Did you do it like I did?</div><div><br></div><div><div>root@trusty:~# status tty1</div><div>tty1 start/running, process 443</div><div>root@trusty:~# status cron</div>
<div>cron start/running, process 407</div><div>root@trusty:~# status cron</div></div><div><div>root@trusty:~# runlevel </div><div>N 2</div></div><div><br></div><div>Of course, consoles and tty* doesn't work, so it shouldn't matter if tty* job runs or not.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">

</div>2. I don't know why, but once I start the container, I sometimes may not make my terminal work (both urxvt and xfce4-terminal), it says "Fail to execute child     grantpt failed: Operation not permitted."</div>
<span class=""><font color="#888888">
<div class="gmail_extra"><br></div></font></span></div></blockquote><div><br></div><div><br></div><div>*shrug*</div><div><br></div><div>again, works for me. I'm using ubuntu with gnome-terminal.</div><div><br></div><div>
There are cases when containers messed up hosts configuration (e.g. it binds to the hosts's tty). This line </div><div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">
lxc.include = /usr/share/lxc/config/ubuntu.common.conf</div><div style="font-family:arial,sans-serif;font-size:13px"></div></div><div><br></div><div>includes a common config that (among others) limits what device nodes can be accessed by the container, so the host and container's pty should not interfere with each other.</div>
<div><br></div><div><br></div><div>Anyway, I managed to do some improvements:</div><div>- REMOVE the lxcguest.conf that you created earlier (or at least, make SURE it does not contain the /dev/pts mount/umount part)</div>
<div>- (in the container) edit /lib/init/fstab, comment-out these lines</div><div><br></div><div><div>#none            /dev                      devtmpfs,tmpfs  mode=0755                         0 0</div><div>#none            /dev/pts                  devpts          noexec,nosuid,gid=tty,mode=0620   0 0</div>
</div><div><br></div><div>- (in the container) ln -s var/run /run</div><div>- (in the container) echo lxc/console >> /etc/securetty </div><div>- (in the container) create /etc/init/lxc-console.conf</div><div><br></div>
<div>###</div><div><div>start on stopped rc RUNLEVEL=[2345] and container CONTAINER=lxc</div><div>stop on runlevel [!2345]</div><div><br></div><div>respawn</div><div>exec /sbin/getty -8 38400 lxc/console</div></div><div><div>
###</div><div></div></div><div><br></div><div><br></div><div><div>Turn's out container's /lib/init/fstab mounted /dev and /dev/pts over what's already setup by lxc, making the necessary device nodes (e.g. /dev/lxc/console) created by lxc unaccessible.</div>
</div><div><br></div><div>-- </div><div>Fajar</div></div></div></div>