Buildroot tree for Xaptum router card firmware.
buildroot
- the upstream Buildroot tree (git submodule)buildroot-external
- the external Buildroot tree for Xaptum boards and pacakgesboard
Configurations and static overlay files specific to thexaprc*
andxaprw*
builds.configs
Buildroot defconfigspackage
Out of tree package definitionspatches
Patches to apply to packages
After first cloning this repo, initialize the submodule:
git submodule update --init
To build the Xaptum Router Card (xap-rc-001) firmware run:
# Enter an out-of-tree directory for the build
mkdir build && cd build
# Initialize the default config
make O=$PWD -C .. xaprc001_defconfig
# Customize the config, if desired
make menuconfig
# Customize the linux config, if desired
make linux-menuconfig
# Build using Buildroots official Docker image
sudo docker run -v $(dirname $(pwd)):$(dirname $(pwd)) buildroot/base bash -c "cd $(pwd); make BR2_JLEVEL=$(nproc)"
# Or build the firmware locally. See buildroot docs for dependencies
make BR2_JLEVEL=$(nproc)
The firmware image will be built as
images/emmc.img
.
Use separate build directories to simplify working with multiple configurations. The builds will not interfere with each other and switching between configurations won't require a clean and full rebuild.
cd build
# Initialize a build directory for one config
mkdir xaprw_dev_build
pushd xaprw_dev_build
make O=$PWD -C ../.. xaprw001_dev_defconfig
Five defconfigs are available.
xaprc001_defconfig
- the production config for the XAP-RC-001 router
card.
xaprc001_dev_defconfig
- a config for the XAP-RC-001 router card
that enables extra development and debugging tools and options.
xaprw001_defconfig
- the production config the XAP-RW-001 router
card. This hardware is nearly identifical to the XAP-RC-001, but
includes a WiFi chipset.
xaprw001_dev_defconfig
- a config the XAP-RW-001 router card that
enables extra development and debugging tools and options. This
hardware is nearly identifical to the XAP-RC-001, but includes a WiFi
chipset.
xaprc001_prov_defconfig
- a config for the XAP-RC-001 router card
that runs live in RAM and exposes the cards TPM to the host. Used
for initial provisioning.
Xaptum provides xaprc-provisioning for writing firmware images to the card.
Once the firmware is written future power cycles will boot the written image without further user intervention. Xaptum provides xaprc-control for controlling the cards boot states on development and production programming boards.
Read the Buildroot manual, paying particular attention to the section on Project-specific customization. It is very well written.
Copyright (c) 2018 Xaptum, Inc.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.