<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jun 13, 2018 at 12:02 AM, Seth Forshee <span dir="ltr"><<a href="mailto:seth.forshee@canonical.com" target="_blank">seth.forshee@canonical.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><span>On Sat, Jun 09, 2018 at 12:07:12AM +0530, Subhashini Rao Beerisetty wrote:<br>
> [ Please keep me in CC as I'm not subscribed to the list]<br>
> <br>
> <br>
> Hi All,<br>
> <br>
> <br>
> Apologies for the dull questions, I’m noob, need to learn lot more stuff.<br>
> <br>
> <br>
> Ubuntu distro has LTS, non-LTS, GA, HWE kernels, what’s the difference<br>
> between these?<br>
<br>
</span>GA: The kernel that originally ships with a given Ubuntu release.<br>
<br>
LTS kernel: The GA kernel for an LTS release (not to be confused with<br>
upstream LTS stable kernels - an Ubuntu LTS kernel may or may not also<br>
be an upstream LTS kernel).<br>
<br>
HWE kernel: A kernel backported from a non-LTS release to an LTS<br>
release.<br>
<span><br>
> Which one should be the best choice for development& validating the<br>
> hardware?<br>
> <br>
> <br>
> We’ve a bunch of hardware & test systems, we started this project by opting<br>
> ubuntu distro 16.04 LTS v4.4 kernel for development of device drivers, test<br>
> utilities.<br>
<br>
</span>It's difficult to answer your question without more information about<br>
what you're hoping to accomplish. If you want to get new hardware<br>
support into Ubuntu, usually that would land in the upstream kernel<br>
first.<br></blockquote><div><font color="#000000" face="Times New Roman" size="3">
</font><p style="margin:0in 0in 0pt"><font color="#000000" face="Calibri" size="3">Thank you very much for the clarification.</font></p><p style="margin:0in 0in 0pt"><font color="#000000" face="Calibri" size="3">We developed few out-of-tree linux kernel modules(we don’t distribute
drivers to external customers) to validate our silicon chip. <span> </span>For this we started with Ubuntu 16.04 LTS v4.4
kernel. </font></p><font color="#000000" face="Times New Roman" size="3">
</font><p style="margin:0in 0in 0pt"><font color="#000000" face="Calibri" size="3">Now all the test boxes which started with 16.04 installation
are been automatically moved on to a 4.13 kernel. With v4.13 kernel, I see the
below mentioned build error, it is due to sigpending method moved from
<linux/sched.h> into <linux/sched/signal.h></font></p><font color="#000000" face="Times New Roman" size="3">
</font><p style="margin:0in 0in 0pt"><font color="#000000" face="Calibri" size="3"> </font></p><font color="#000000" face="Times New Roman" size="3">
</font><p style="margin:0in 0in 0pt"><font color="#000000" face="Calibri" size="3">error: implicit declaration of function ‘signal_pending’
[-Werror=implicit-function-declaration]</font></p><font color="#000000" face="Times New Roman" size="3">
</font><p style="margin:0in 0in 0pt"><font color="#000000" face="Calibri" size="3"> </font></p><font color="#000000" face="Times New Roman" size="3">
</font><p style="margin:0in 0in 0pt"><font color="#000000" face="Calibri" size="3">The below mentioned patch fixes the build issue:</font></p><font color="#000000" face="Times New Roman" size="3">
</font><p style="margin:0in 0in 0pt"><font color="#000000" face="Calibri" size="3"> </font></p><font color="#000000" face="Times New Roman" size="3">
</font><p style="margin:0in 0in 0pt"><font color="#000000" face="Calibri" size="3">#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)</font></p><font color="#000000" face="Times New Roman" size="3">
</font><p style="margin:0in 0in 0pt"><font color="#000000" face="Calibri" size="3">#include <linux/sched/signal.h></font></p><font color="#000000" face="Times New Roman" size="3">
</font><p style="margin:0in 0in 0pt"><font color="#000000" face="Calibri" size="3">#endif</font></p><font color="#000000" face="Times New Roman" size="3">
</font><p style="margin:0in 0in 0pt"><font color="#000000" face="Calibri" size="3"> </font></p><font color="#000000" face="Times New Roman" size="3">
</font><p style="margin:0in 0in 0pt"><font color="#000000" face="Calibri" size="3">Basically i’m looking for ubuntu disto with N years of<span> </span>security support\updates along with supporting\developing
our out-of-tree module for new kernel versions. What would be the best
strategy?</font></p><font color="#000000" face="Times New Roman" size="3">
</font></div><div><span><span> </span></span></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid">
<span><br>
> I’d like to know, what are the differences between the main Linux kernel<br>
> and the kernel being used by Ubuntu?<br>
<br>
</span>A given version of Ubuntu takes a specific upstream kernel version and<br>
adds various extras, which may include extra drivers and backported<br>
features from later kernel versions.<br>
<span><br>
> If I need to upgrade our drivers to latest kernel v4.17, what are the best<br>
> possible ways? In future, is it possible for us to use the current<br>
> installed 16.04 LTS by just upgrading the Linux kernel version?<br>
<br>
</span>The easiest way to install the latest kernel version onto Ubuntu is to<br>
use our mainline builds [1]. Understand though that these builds are<br>
only for testing and will not receive support as far as fixing bugs,<br>
etc.<br>
<span><br>
> Are all the Linux kernel releases are backward compatible?<br>
<br>
</span>In broad strokes yes, as there is a pretty strict policy upstream about<br>
not introducing regressions to userspace. However sometimes issues do<br>
slip in, and you might also see problems if you try to install kernel<br>
packages from a newer Ubuntu release into an older release. The only<br>
supported way to run newer kernels is through the hwe packages, and<br>
those are only provided for LTS releases.<br>
<span class="gmail-HOEnZb"><font color="#888888"><br>
Seth<br>
<br>
</font></span></blockquote></div><br></div></div>