BR2_EXTERNAL framework for OscillatorIMP supported peripherals, most significantly software defined radio applications on Raspberry Pi(3,4) and Red Pitaya.
This support has been tested with the latest stable release of buildroot (2024.11.1) and git master branch.
This BR2_EXTERNAL repository is used as a testbed for embedded software not (yet) released on the official
Buildroot repository. Main software applications include White Rabbit,
gnss-sdr and PocketSDR
and most significantly for embedded board such as the Compute Module 4 IO, XTRX SDR or Raspberry Pi 4/5 platforms.
Download the tested buildroot tarball:
wget https://buildroot.org/downloads/buildroot-2024.11.1.tar.gz
tar zxvf buildroot-2024.11.1.tar.gzAdding support for these packages requires sourcing the sourceme.ggm file (source sourceme.ggm)
to add the BR2_EXTERNAL variable definition (alternatively, one might want to add
export BR2_EXTERNAL=/somewhere/oscimp_br2_externalto the .bashrc initialization file). Notice that multiple BR2_EXTERNAL repositories can be combined, e.g. with the Red Pitaya configuration with
export BR2_EXTERNAL=/somewhere/oscimp_br2_external:/somewhere/redpitayaFor compiling gr-osmosdr with XTRX support for pre-2021.08 Buildroot versions, make sure to apply the
patch prior to configuring Buildroot: from the root Buildroot directory,
patch -p1 < gr-osmosdr-add_xtrx_support.patch(the update has been integrated in Buildroot in the latest releases and patching is no longer needed).
Configuring Buildroot with GNU Radio support is achieved by running from the Buildroot root directory
make raspberrypi4_64_gnuradio310_defconfigThis will configure buildroot for the Raspberry Pi4 supporting the 64 bit instructions and GNU Radio. For the Compute Module 4,
make raspberrypicm4_64_gnuradio_defconfigwill configure Buildroot for GNU Radio support (700 MB resulting binary image). Add 310 after gnuradio for the 3.10.4 version release.
Overall, make menuconfig allows for configuring
additional settings of the buildroot environment, especially Target Packages, make builds
the images to be found at the end of the compilation in output/images.
We provide three configurations that enable scipy by default
make beaglebone_scipy_defconfig
make raspberrypi3_64_scipy_defconfig
make raspberrypi4_64_scipy_defconfigPackage python-scikitlearn requires scipy and
an extra buildroot patch to be applied prior anything, similarly to the gr-osmosdr tweak:
source sourceme.ggm
cd buildroot
patch -p1 < $BR2_EXTERNAL/scikitlearn-support.patch