[dpdk-dev] [PATCH v2] kni: Use utsrelease.h to determine Ubuntu kernel version

Tom Ghyselinck tom.ghyselinck at excentis.com
Tue Oct 13 15:06:26 CEST 2015


Hi Simon,

I'm looking forward to this patch since we also build the DPDK for
kernel versions which differ from the host kernel.

IMHO, the check for "Ubuntu" also needs change since this is also a
"host system" check instead of "target system" check.

I.e. A user may want to build for Ubuntu on a non-Ubuntu system and
vice versa.

With best regards,
Tom.

-- 
Tom Ghyselinck <tom.ghyselinck at excentis.com>
Excentis N.V.

On di, 2015-10-13 at 14:50 +0200, Simon Kagstrom wrote:
> Ping?
> 
> // Simon
> 
> On Thu, 20 Aug 2015 08:51:06 +0200
> Simon Kagstrom <simon.kagstrom at netinsight.net> wrote:
> 
> > /proc/version_signature is the version for the host machine, but in
> > e.g., chroots, this does not necessarily match that DPDK is built
> > for. DPDK will then build for the wrong kernel version - that of
> > the
> > server, and not that installed in the (build) chroot.
> > 
> > The patch uses utsrelease.h from the kernel sources instead and
> > fakes
> > the upload version.
> > 
> > Tested on a server with Ubuntu 12.04, building in a chroot for
> > Ubuntu
> > 14.04.
> > 
> > Signed-off-by: Simon Kagstrom <simon.kagstrom at netinsight.net>
> > Signed-off-by: Johan Faltstrom <johan.faltstrom at netinsight.net>
> > ---
> > ChangeLog:
> > 
> > v2: Improve description and motivation for the patch.
> > 
> >  lib/librte_eal/linuxapp/kni/Makefile | 6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> > 
> > diff --git a/lib/librte_eal/linuxapp/kni/Makefile
> > b/lib/librte_eal/linuxapp/kni/Makefile
> > index fb673d9..ac99d3f 100644
> > --- a/lib/librte_eal/linuxapp/kni/Makefile
> > +++ b/lib/librte_eal/linuxapp/kni/Makefile
> > @@ -44,10 +44,10 @@ MODULE_CFLAGS += -I$(RTE_OUTPUT)/include 
> > -I$(SRCDIR)/ethtool/ixgbe -I$(SRCDIR)/e
> >  MODULE_CFLAGS += -include $(RTE_OUTPUT)/include/rte_config.h
> >  MODULE_CFLAGS += -Wall -Werror
> >  
> > -ifeq ($(shell test -f /proc/version_signature && lsb_release -si
> > 2>/dev/null),Ubuntu)
> > +ifeq ($(shell lsb_release -si 2>/dev/null),Ubuntu)
> >  MODULE_CFLAGS += -DUBUNTU_RELEASE_CODE=$(shell lsb_release -sr |
> > tr -d .)
> > -UBUNTU_KERNEL_CODE := $(shell cut -d' ' -f2
> > /proc/version_signature | \
> > -                        cut -d'~' -f1 | cut -d- -f1,2 | tr .-
> > $(comma))
> > +UBUNTU_KERNEL_CODE := $(shell echo `grep UTS_RELEASE
> > $(RTE_KERNELDIR)/include/generated/utsrelease.h \
> > +	 | cut -d '"' -f2 | cut -d- -f1,2 | tr .- $(comma)`,1)
> >  MODULE_CFLAGS += 
> > -D"UBUNTU_KERNEL_CODE=UBUNTU_KERNEL_VERSION($(UBUNTU_KERNEL_CODE))"
> >  endif
> >  
> 


More information about the dev mailing list