<div dir="ltr">Howdy!<div><div>Thanks to Daniel's suggestions I went a little bit further in creating containers from the available templates but they remain broken and the kernel is indeed not supporting LXC.</div><div>The point is that I would expect that if there are some packages available in the repo, those are supposed to work.</div><div><br></div><div>Said that I can help to get something fixed here and submit some patches as soon as I get how those problems should be addressed</div><div>First of all the kernel does not seem to support LXC. </div><div>I'm new to openwrt and i have some questions in order to get started... so, sorry if they may sounds silly for some of you.</div><div><br></div><div>1. What would be the best strategy to distribute a working lxc kernel? can lxc be part of the mainstream kernel for some targets?</div><div>2. Can we make  lxc packages available only to some architectures/targets?</div><div>3 Luka is there any public container repos which would work with openwrt?</div><div>4. is there any documentation about how to get lxc working on openwrt devices?</div><div><br></div><div>Cheerio,</div><div>Antonio</div><div><br></div><div><br></div><div>gnuton@Honeypot:~$ lxc-checkconfig</div><div>--- Namespaces ---</div><div>Namespaces: required</div><div>Utsname namespace: missing</div><div>Ipc namespace: required</div><div>Pid namespace: required</div><div>User namespace: missing</div><div>Network namespace: missing</div><div>Multiple /dev/pts instances: missing</div><div><br></div><div>--- Control groups ---</div><div>Cgroup: required</div><div>Cgroup namespace: required</div><div>Cgroup device: missing</div><div>Cgroup sched: missing</div><div>Cgroup cpu account: missing</div><div>Cgroup memory controller: missing</div><div><br></div><div>--- Misc ---</div><div>Veth pair device: enabled</div><div>Macvlan: enabled</div><div>Vlan: enabled</div><div>File capabilities: enabled</div><div><br></div><div>Note : Before booting a new kernel, you can check its configuration</div><div>usage : CONFIG=/path/to/config /usr/bin/lxc-checkconfig</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Feb 11, 2016 at 2:47 PM, Luka Perkov <span dir="ltr"><<a href="mailto:luka@openwrt.org" target="_blank">luka@openwrt.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Daniel & Antonio,<br>
<span class=""><br>
> On Feb 11, 2016, at 11:08 AM, Daniel Golle <<a href="mailto:daniel@makrotopia.org">daniel@makrotopia.org</a>> wrote:<br>
><br>
> Hi Antonio,<br>
><br>
</span><span class="">> thanks for trying all that and reporting back your results!<br>
><br>
>> On Thu, Feb 11, 2016 at 12:47:50AM +0200, Antonio Aloisio wrote:<br>
>> Hi there!<br>
>> Here is a few findings about LXC templates available on OpenWRT CC.<br>
>><br>
>> Just for reference, here below you can see all the templates available on<br>
>> CC and what works and what does not.<br>
><br>
> Maybe we should split-up the templates into individual packages, each<br>
> having its own set of dependencies.<br>
<br>
</span>I am ok with that. Feel free to send the patch.<br>
<br>
In general I would advise to make the container rootfs outside of OpenWrt. Making it in OpenWrt leads to unnecessary overhead.<br>
<div><div class="h5"><br>
>> /usr/share/lxc/templates/lxc-oracle <-- BAD ARCHITECTURE. NO ARM<br>
>> /usr/share/lxc/templates/lxc-plamo <-- depends on "flock". It may work. I<br>
>> get Failed to download<br>
><br>
> flock is available as a package, you should be able to install it.<br>
><br>
>> /usr/share/lxc/templates/lxc-busybox <-- creates the containers, but<br>
>> doesn't start (busybox no statically linked)<br>
><br>
> Well, that's odd, but there's not much we can do. Maybe report that<br>
> to LXC and let them know not everybody uses glibc...<br>
><br>
>> /usr/share/lxc/templates/lxc-fedora <-- fails to<br>
>> download /releases/20/Fedora/armhfp/os<br>
><br>
> Also, please report that upstream (check that it wasn't already fixed<br>
> in more recent versions of LXC)<br>
><br>
>> /usr/share/lxc/templates/lxc-sshd <--- fails requires ssh-keygen. is it<br>
>> available on openwrt?<br>
><br>
> Installing openssh-keygen, openssh-client and openssh-client-utils may<br>
> help...<br>
><br>
>> /usr/share/lxc/templates/lxc-ubuntu-cloud <-- no idea what's broken<br>
>> /usr/share/lxc/templates/lxc-openmandriva<br>
>> /usr/share/lxc/templates/lxc-gentoo <-- requires tar. maybe works >220MB.<br>
>> Ran out of disk on /tmp<br>
><br>
> Probably temp directory for LXC should be configurable, so it can<br>
> go to /mnt/tmp or somewhere with enough space on a specific system...<br>
><br>
>> /usr/share/lxc/templates/lxc-download <-- no idea what's wrong<br>
><br>
><br>
>> /usr/share/lxc/templates/lxc-archlinux <-- fails require pacman. not<br>
>> available<br>
><br>
> I agree it'd be nice to have, I remember that pacstrap was quite<br>
> painful to get working, I've tried that before...<br>
><br>
>> /usr/share/lxc/templates/lxc-cirros <-- require tar. works? some problem<br>
>> still with lxc cgroups<br>
><br>
> Did you compile OpenWrt from source?<br>
> I'm asking because LXC depends on CONFIG_LXC_KERNEL_OPTIONS and<br>
> CONFIG_LXC_BUSYBOX_OPTIONS to work properly, and I believe this isn't<br>
> enabled in the binary release of CC.<br>
<br>
</div></div>Right.<br>
<div><div class="h5"><br>
>> /usr/share/lxc/templates/lxc-debian <-- requires debootstrap. itäs not a<br>
>> openwrt package<br>
>> /usr/share/lxc/templates/lxc-ubuntu <-- requires debootstrap. itäs not a<br>
>> openwrt package<br>
><br>
> You can install debootstrap, it is available, I've just updated it to<br>
> the most recent release.<br>
><br>
>> /usr/share/lxc/templates/lxc-centos <-- requires yum. fails container<br>
>> creation<br>
><br>
> Hm, nobody ever packaged all the foreign-distribution package managers<br>
> for OpenWrt. It's quite a lot of work...<br>
><br>
>> /usr/share/lxc/templates/lxc-altlinux <-- requires apt-get. fails container<br>
>> creation<br>
><br>
> Why doesn't the template just you debootstrap...?<br>
><br>
>> /usr/share/lxc/templates/lxc-alpine <-- requires sha256sum. is it available?<br>
><br>
> Try installing coreutils-sha256sum which provides sha256sum<br>
><br>
>> /usr/share/lxc/templates/lxc-opensuse <-- requires zipper. not available<br>
><br>
><br>
> Cheers<br>
><br>
><br>
> Daniel<br>
><br>
>><br>
>> Cheers,<br>
>> Antonio<br>
>><br>
>> On Wed, Feb 10, 2016 at 10:03 PM, Daniel Golle <<a href="mailto:daniel@makrotopia.org">daniel@makrotopia.org</a>><br>
>> wrote:<br>
>><br>
>>> Hi Antonio,<br>
>>><br>
>>>> On Wed, Feb 10, 2016 at 09:52:25PM +0200, Antonio Aloisio wrote:<br>
>>>> Hi there,<br>
>>>> I have tried to run lxc on openwrt but it looks to me that those packages<br>
>>>> are broken.<br>
>>><br>
>>> I'm actively using LXC, however, I use a custom overlayfs method to<br>
</div></div>>>> create OpenWrt containerers<br>
<br>
Yup. We don't have out of the box containers which are widely available. I often make OpenWrt containers from .tar rootfs archives.<br>
<span class=""><br>
<br>
>>>> root@Honeypot:/home/gnuton# lxc-create -t download -n xx<br>
>>>> Setting up the GPG keyring<br>
>>>> ERROR: Unable to fetch GPG key from keyserver.<br>
>>>> lxc_container: lxccontainer.c: create_run_template: 1102 container<br>
>>> creation<br>
>>>> template for xx failed<br>
>>><br>
>>> I manually use debootstrap to setup Debian rootfs and throwing that at<br>
>>> LXC works great. I once went through the Debian template and believe it<br>
>>> would make sense to fix it up to work on OpenWrt, so LXC becomes more<br>
>>> useable. Do you have gnupg installed? If not or if GPG stuff fails for<br>
>>> some reason, you can try to to modify the Debian template to use<br>
>>> debootstrap having the signature checks disabled (not ideal,<br>
>>> obviously).<br>
>>><br>
>>>> I have also installed LXC LuCi web GUI and it doesn't work too.<br>
>>>> The GUI would allow me to create a openwrt based conatainer, but the<br>
>>> truth<br>
>>>> is that there is no such template available as you may see from the above<br>
>>>> list.<br>
>>><br>
>>> I never tried lxc-download nor the LuCI GUI which is afaik just a<br>
>>> proof-of-concept and not that usable in it's current state.<br>
<br>
</span>Actually the GUI does work. You need to have containers and/or proper container URL where you are hosting containers for you architecture.<br>
<span class=""><br>
>>><br>
>>>> Digging further I had a look at the source code and I noticed there some<br>
>>>> problems too<br>
>>>> for instance<br>
>>> <a href="https://github.com/openwrt/packages/blob/master/utils/lxc/patches/030-lxc-download.patch" rel="noreferrer" target="_blank">https://github.com/openwrt/packages/blob/master/utils/lxc/patches/030-lxc-download.patch</a><br>
>>>> points lxc-download to use a not working server.<br>
>>><br>
>>> If you feel like helping, please suggest a patch via github.<br>
>>><br>
>>>> I would like to know what's the status of LXC, is it supposed to work or<br>
>>>> those packages are unmantained?<br>
>>><br>
>>> Good question... @luka ?<br>
<br>
</span>It is working. However, some knowledge of LXC and OpenWrt in general is needed to make the proper setup.<br>
<br>
Patches as always are welcome.<br>
<span class="HOEnZb"><font color="#888888"><br>
Luka<br>
</font></span></blockquote></div><br></div>