4

I'm using SmartOS on my servers and I'm really enthusiastic about it, especially since they launched their "LX-branded zones". These enable us to run Linux applications in a SmartOS "zone" at bare metal performance without a hypervisor.

When I create an LX-branded zone, I have to write a manifest file, which includes a kernel_version property. In the example that Joyent provides on their website, kernel_version is set to 3.13.0, see https://wiki.smartos.org/display/DOC/LX+Branded+Zones.

The "real" Ubuntu comes with a 3.16 kernel, though.

My questions:

  1. When providing different values for kernel_version, will that actually change the Linux kernel features that SmartOS emulates? Or is it just an "informative" value that will be returned to user land apps running in the LX zone when they inquire the kernel version?
  2. What values for kernel_version are supported in current SmartOS? "Current" at the time of writing is joyent_20150612T210440Z.

I thoroughly checked loads of documentation from Joyent and did extensive web research, but I haven't found any answers to my questions above.

Any help is greatly appreciated.

  • 1
    I've just tried providing `3.16.0` as `kernel_version` in the manifest file. In the ubuntu zone, a `name -a` gives me `Linux water-ubuntu 3.16.0 BrandZ virtual linux x86_64 x86_64 x86_64 GNU/Linux`. So, it *is* possible to provide values other than the 3.13.0 mentioned in the Joyent doc. My question 1. and 2. above remain open, though. – entreprogreur Jun 20 '15 at 00:32

1 Answers1

4

The answer to both parts of your question is the same. The kernel version listed in the JSON payload for creating an LX-brand zone is merely a text string and doesn't really matter. It's simply the value of release of the struct returned by uname(2). The reality is, it's a total fabrication anyway. The system calls provided don't change based on the reported linux kernel version. It doesn't change the behavior of the emulated (linux) or real (SmartOS) kernel in any way. So you can set this to whatever meets your needs.

In the Joyent Public Cloud, I've seen values ranging from 3.1 to 3.18, depending on the distro being emulated (e.g., debian-7, ubuntu-14, centos-6 or docker).

bahamat
  • 6,193
  • 23
  • 28