[libcamera-devel] libcamera starting point on px30 evk

Laurent Pinchart laurent.pinchart at ideasonboard.com
Thu May 12 12:46:19 CEST 2022


On Thu, May 12, 2022 at 12:33:43PM +0200, Jacopo Mondi via libcamera-devel wrote:
> On Thu, May 12, 2022 at 12:07:20PM +0200, Tommaso Merciai via libcamera-devel wrote:
> > On Thu, May 12, 2022 at 10:43:51AM +0100, Kieran Bingham wrote:
> > > Quoting Tommaso Merciai via libcamera-devel (2022-05-12 10:31:07)
> > > > Hi all,
> > > > I'm trying to start to play with libcamera on PX30_Mini_EVB_V11.
> > > > Can you give me some tips on build image with all libcamera dependencies
> > > > for this type of SOC. Like buildroot Image or Yocto Image.
> > >
> > > libcamera is supported by buildroot, and as you've seen also by yocto. I
> > > haven't followed the Yocto support, so I don't know who keeps it
> > > updated, but I know buildroot received a patch to update to a quite
> > > recent libcamera release in the last few days.
> > >
> > > > Actually I have compiled multimedia-libcamera-image with sdk using Yocto. I'm able
> > > > to compile libcamera project with this. Could be a good starting point?
> > > > Or you suggest another way?
> > >
> > > I would say 'yes', but you will likely want to be able to specify the
> > > latest version of libcamera to build, and there may be more active
> > > development ongoing and required for your platform, so you probably
> > > don't want to 'wait' for someone to update the Yocto release. (Or you
> > > could post the updates to the yocto project too).
> > >
> > > (Wanting to use the latest libcamera applies to buildroot too of course)
> >
> > Hi Kieran,
> > Thanks for your quick reply and your suggestion. Can you point me a good link to build a
> > an image that support libcamera using buildroot?
> 
> Alternatively, you can use the buildroot-built toolchain andsysroot to
> build libcamera externally. Build your buildroot image as you would
> regularly do, then you can clone and build libcamera externally using
> a cross-file for meson, to instruct the build system to use the same
> toolchain as the one you have compiled your rootfs with.
> 
> The one I use looks like:
> 
> --------------------------------------------------------------------------------
> $ cat meson-cross-buildroot
> [binaries]
> c = '/home/build/buildroot/output/host/bin/aarch64-buildroot-linux-gnu-gcc'
> cpp = '/home/build/buildroot/output/host/bin/aarch64-buildroot-linux-gnu-g++'
> ar = '/home/build/buildroot/output/host/bin/aarch64-buildroot-linux-gnu-ar'
> strip = '/home/build/buildroot/output/host/bin/aarch64-buildroot-linux-gnu-strip'
> pkgconfig = '/home/build/buildroot/output/host/usr/bin/pkg-config'
> cmake = '/home/build/buildroot/output/host/usr/bin/cmake'
> qmake = '/bin/false'
> 
> [properties]
> needs_exe_wrapper = true
> 
> [built-in options]
> c_args = ['-D_LARGEFILE_SOURCE', '-D_LARGEFILE64_SOURCE', '-D_FILE_OFFSET_BITS=64']
> c_link_args = []
> cpp_args = ['-D_LARGEFILE_SOURCE', '-D_LARGEFILE64_SOURCE', '-D_FILE_OFFSET_BITS=64']
> cpp_link_args = []
> 
> [host_machine]
> system = 'linux'
> cpu_family ='aarch64'
> cpu = 'cortex-a57.cortex-a53'
> endian = 'little'
> 
> $ meson build --cross-file meson-cross-buildroot
> $ cd build; ninja
> --------------------------------------------------------------------------------

Note that buildroot also creates a cross-file for you, in
host/etc/meson/cross-compilation.conf. I usually copy and tweak it,
adding the qmake line manually (otherwise if Qt is not enabled in
buildroot, meson ends up picking qmake from the host, which doesn't work
well).

-- 
Regards,

Laurent Pinchart


More information about the libcamera-devel mailing list