On Fri, Jan 29, 2021 at 03:17:02PM +0000, Juraj Linkeš wrote:
> 
> 
> > -----Original Message-----
> > From: Bruce Richardson <bruce.richard...@intel.com>
> > Sent: Friday, January 29, 2021 4:01 PM
> > To: Juraj Linkeš <juraj.lin...@pantheon.tech>
> > Cc: tho...@monjalon.net; ruifeng.w...@arm.com; jerinjac...@gmail.com;
> > hemant.agra...@nxp.com; ferruh.yi...@intel.com; abo...@pensando.io;
> > dev@dpdk.org
> > Subject: Re: [RFC PATCH v1] build: kni gcc cross-compilation support
> > 
> > On Fri, Jan 29, 2021 at 02:47:57PM +0000, Juraj Linkeš wrote:
> > >
> > >
> > > > -----Original Message-----
> > > > From: Bruce Richardson <bruce.richard...@intel.com>
> > > > Sent: Friday, January 29, 2021 3:42 PM
> > > > To: Juraj Linkeš <juraj.lin...@pantheon.tech>
> > > > Cc: tho...@monjalon.net; ruifeng.w...@arm.com;
> > > > jerinjac...@gmail.com; hemant.agra...@nxp.com;
> > > > ferruh.yi...@intel.com; abo...@pensando.io; dev@dpdk.org
> > > > Subject: Re: [RFC PATCH v1] build: kni gcc cross-compilation support
> > > >
> > <snip>
> > > > > > Can we find some way of getting it working for both cases.
> > > > > > For native builds we want:
> > > > > >
> > > > > > * build kernel-dir = /lib/modules/<ver>/build
> > > > > > * install dir = /lib/modules/<ver>/extra/dpdk
> > > > > >
> > > > > > What are the expected equivalent paths for cross building?
> > > > > >
> > > > >
> > > > > The ubuntu1804 packages are installing aarch64 cross files to
> > > > > /usr/aarch64-
> > > > linux-gnu, so we could install it to /usr/aarch64-linux-
> > > > gnu/lib/modules/<ver>/extra/dpdk, or
> > > > /usr/<cross_triple>/lib/modules/<ver>/extra/dpdk in general. I think
> > > > we can get <ver> from 'make kernelversion', so that would work,
> > > > although I'm not sure this is the right place.
> > > > >
> > > > So what do you specify as the "kernel_dir" for the cross compile?
> > > >
> > >
> > > The place where I cloned (and cross-compiled) linux sources: $HOME/linux.
> > >
> > So I think the key problem is that for cross-compilation you need two 
> > completely
> > independent paths, while for native builds the two can be linked. Is that 
> > correct?
> 
> Assuming that we want to install cross modules, then yes, although it's 
> incomplete. There's also the scenario when a user would use different 
> kernel_dir than the default for native builds. I don't know why anyone would 
> do that, but it is a theoretical possibility :-)

In the cross-compile install case, is the prefix /usr/aarch64-linux-gnu/
coming from a DESTDIR environment variable? If it is, then we could just
use the kernel_dir option for the build path, and always install to
/lib/modules/<ver>/... allowing any cross-compiler relocation to take care
of the rest. 

Reply via email to