Kernel development using linux containers (LXC ) ?

Grzegorz Dwornicki gd1100 at gmail.com
Thu Jul 30 08:47:00 EDT 2015


What about UML? I'm using KVM but asking for the sake of argument.

2015-07-29 23:03 GMT+02:00 Manish Katiyar <mkatiyar at gmail.com>:
> On Wed, Jul 29, 2015 at 1:49 PM, Greg Freemyer <greg.freemyer at gmail.com> wrote:
>> On Wed, Jul 29, 2015 at 4:23 PM, Manish Katiyar <mkatiyar at gmail.com> wrote:
>>> On Wed, Jul 29, 2015 at 1:07 PM, Jeff Haran <Jeff.Haran at citrix.com> wrote:
>>>>>-----Original Message-----
>>>>>From: kernelnewbies-bounces at kernelnewbies.org [mailto:kernelnewbies-
>>>>>bounces at kernelnewbies.org] On Behalf Of Manish Katiyar
>>>>>Sent: Wednesday, July 29, 2015 11:51 AM
>>>>>To: kernelnewbies
>>>>>Subject: Kernel development using linux containers (LXC ) ?
>>>>>
>>>>>Hi,
>>>>>
>>>>>I've been playing and reading about control groups and linux containers
>>>>>recently and was wondering if there are any existing recipes on how to setup
>>>>>a kernel environment in containers. Google hasn't been helpful so far (or
>>>>>maybe I'm not searching properly).
>>>>>
>>>>>I've used VMs for dev in past (Qemu, uml etc.), but looks like it may be
>>>>>interesting to have it in containers. Given that they share they same OS image
>>>>>as host, I'm not sure if its possible without making the host OS crash.
>>>>>
>>>>>Any suggestions.
>>>>>
>>>>>Thanks -
>>>>>Manish
>>>>
>>>> I'm not sure what your goal is here, but it sounds to me like you might want to be googling for "linux namespaces".
>>>
>>> I'm sorry. I see that my previous mail had a key word "development"
>>> missing. What I was trying to find out was that is it possible to
>>> setup and use linux containers/cgroups to do kernel development.
>>> Things like writing and test kernel modules, debugging kernel,
>>> attaching gdb etc. etc. which normally require Qemu, busybox or other
>>> VM techniques since containers are much lightweight and if anyone has
>>> recipes for that setup to do development without crashing the host OS.
>>>
>>> Any hints appreciated. I looked for "linux namespaces" but it doesn't
>>> give me what I want.
>>>
>>
>> I have no first hand experience, but I don't think containers have the
>> flexibility you need.  Docker in particular shares the kernel with the
>> host OS as far as I know, so it would not be of any value that I can
>> see.
>>
>> I think a unikernel may be what you are looking for:
>>
>> http://www.linux.com/news/enterprise/cloud-computing/821243-unikernel-use-cases-containers
>>
>> My understanding is that with a unikernel you can move targeted
>> portions of the Hypervisor kernel up into the unikernel.  Thus if you
>> wanted to work on a network driver, you could implement it in a
>> unikernel.  Then if it blew up you would fall back to the hypervisor
>> level, kill the unikernel and try again.
>>
>> The Rump kernel (a unikernel) in particular might be a good option:
>>
>> ==
>> Rump Kernels —  provide free, portable, componentized, kernel quality
>> drivers such as file systems, POSIX system call handlers, PCI device
>> drivers, a SCSI protocol stack, virtio and a TCP/IP stack. These
>> drivers may be integrated into existing systems, or run as stand-alone
>> unikernels on cloud hypervisors and embedded systems.
>> ==
>>
>> I have no first hand experience with the Rump Kernel, so I don't know
>> if it would work as a way to do linux kernel development or not.  It
>> certainly seems like a great environment for generic kernel
>> development.
>
> Thanks a lot GregF/GregKH,
>
>   That's what I suspected, that it might not be possible because of
> both sharing the same OS. I'll have a look at Rump Kernels and see how
> far it goes. Thanks for the pointers !
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies at kernelnewbies.org
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies



More information about the Kernelnewbies mailing list