Giter Site home page Giter Site logo

scarcanague / piksi_buildroot Goto Github PK

View Code? Open in Web Editor NEW

This project forked from swift-nav/piksi_buildroot

0.0 1.0 0.0 1.21 MB

Tools for building Linux and the system image for Piksi Multi

Home Page: http://www.swiftnav.com

License: GNU Lesser General Public License v3.0

Makefile 6.89% Shell 5.81% C 79.27% C++ 8.03%

piksi_buildroot's Introduction

Piksi Multi Buildroot

Build Status

Buildroot configuration and packages for building the Piksi Multi system image.

Overview

piksi_buildroot is a Buildroot project targeting the Piksi Multi GNSS receiver. It consists of

  • Buildroot, as a git submodule
  • An external Buildroot tree in the top-level piksi_buildroot directory:
    • Buildroot configuration in configs
    • Custom packages in package
    • Board-specific files (rootfs overlay, device trees, scripts, etc.) in board/piksiv3

Fetching firmware binaries

To build a production system image, the build process expects the following firmware and FPGA binaries to be present:

firmware/prod/piksi_firmware.elf
firmware/prod/piksi_fpga.bit
firmware/microzed/piksi_firmware.elf
firmware/microzed/piksi_fpga.bit

You can use the following command to download these binaries from S3. Note that this requires awscli to be installed and AWS credentials to be properly configured.

make firmware

Check fetch-firmware.sh to see which image versions are being used.

Note that these binaries are only used by the production system image. In the development system image they are instead read from the network or SD card.

Building

Linux Native

Ensure you have the dependencies. See Dockerfile for build dependencies.

Run

# Initialize submodules
git submodule update --init --recursive
# Download firmware and FPGA binaries
make firmware
# Build the system image
make image

Images will be in the buildroot/output/images folder.

Docker

Install Docker for your platform.

Run

# Initialize submodules
git submodule update --init --recursive
# Download firmware and FPGA binaries
make firmware
# Set up Docker image
make docker-setup
# Build the system image in a Docker container
make docker-make-image

Images will be in the buildroot/output/images folder.

Incremental Builds

It is possible to rebuild individual packages and regenerate the system image. Note that Buildroot does not automatically rebuild dependencies or handle configuration changes. In some cases a full rebuild may be necessary. See the Buildroot Manual for details.

Linux Native

# Enter buildroot directory
cd buildroot
# Set BR2_EXTERNAL to the piksi_buildroot directory
export BR2_EXTERNAL=..
# Rebuild a package
make libpiksi-rebuild
# Rebuild the system image
make image

Docker

# Start interactive Docker container
make docker-run
# Enter buildroot directory
cd buildroot
# Rebuild a package
make libpiksi-rebuild
# Rebuild the system image
make image

piksi_buildroot's People

Contributors

anth-cole avatar axlan avatar cbeighley avatar denniszollo avatar fnoble avatar gsmcmullin avatar jacobmcnamee avatar jaredw42 avatar jdormoy avatar lbara avatar ljbade avatar margaret avatar mfine avatar mookerji avatar pgrgich avatar wltr avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.