Giter Site home page Giter Site logo

superbird-buildroot's Introduction

Since Spotify Car Thing (superbird) has been unlocked, the device can now run custom software. This repository provides a Buildroot environment to build software for superbird target.

requirements

  • Debian-based Linux host
  • Docker

setup

sudo apt install bison
git clone https://github.com/frederic/superbird-buildroot.git
cd superbird-buildroot/
git checkout buildroot-openlinux
wget https://releases.linaro.org/components/toolchain/binaries/7.3-2018.05/aarch64-linux-gnu/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz -O vendor/amlogic/external/packages/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu.tar.xz
wget https://releases.linaro.org/components/toolchain/binaries/7.3-2018.05/arm-linux-gnueabihf/gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf.tar.xz -O vendor/amlogic/external/packages/gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf.tar.xz
wget https://cobalt.googlesource.com/cobalt/+archive/refs/tags/20.lts.3.tar.gz -O vendor/amlogic/external/packages/cobalt-20.lts.3.244012.tar.gz
cd ..

run

(Based on https://wiki.odroid.com/odroid-n2/software/using_docker)

cd superbird-buildroot/
docker run --name superbird_buildroot -v $PWD:/srv -it odroid/meson64-dev:202106

resume stopped container

docker start -i superbird_buildroot

build

In docker :

. ./setenv.sh mesong12a_u200_32_release
make

To build a specific package :

cd buildroot/
make mesong12a_u200_32_release_defconfig
make weston

superbird-buildroot's People

Contributors

fonix232 avatar frederic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

superbird-buildroot's Issues

Module `multimedia/gst-aml-plugins` is missing

The buildscript fails almost immediately after running setenv.sh:

make[1]: Entering directory '/srv/buildroot/support/kconfig'
/usr/bin/gcc -DCURSES_LOC="<ncurses.h>" -DLOCALE  -I/srv/output/mesong12a_u200_32_release/build/buildroot-config -DCONFIG_=\"\"  -MM *.c > /srv/output/mesong12a_u200_32_release/build/buildroot-config/.depend 2>/dev/null || :
/usr/bin/gcc -DCURSES_LOC="<ncurses.h>" -DLOCALE  -I/srv/output/mesong12a_u200_32_release/build/buildroot-config -DCONFIG_=\"\"   -c conf.c -o /srv/output/mesong12a_u200_32_release/build/buildroot-config/conf.o
/usr/bin/gcc -DCURSES_LOC="<ncurses.h>" -DLOCALE  -I/srv/output/mesong12a_u200_32_release/build/buildroot-config -DCONFIG_=\"\"  -I. -c /srv/output/mesong12a_u200_32_release/build/buildroot-config/zconf.tab.c -o /srv/output/mesong12a_u200_32_release/build/buildroot-config/zconf.tab.o
/usr/bin/gcc -DCURSES_LOC="<ncurses.h>" -DLOCALE  -I/srv/output/mesong12a_u200_32_release/build/buildroot-config -DCONFIG_=\"\"   /srv/output/mesong12a_u200_32_release/build/buildroot-config/conf.o /srv/output/mesong12a_u200_32_release/build/buildroot-config/zconf.tab.o  -o /srv/output/mesong12a_u200_32_release/build/buildroot-config/conf
rm /srv/output/mesong12a_u200_32_release/build/buildroot-config/zconf.tab.c
make[1]: Leaving directory '/srv/buildroot/support/kconfig'
  GEN     /srv/output/mesong12a_u200_32_release/Makefile
/srv/buildroot/build/defconfig_hook.py -m /srv/buildroot/configs/mesong12a_u200_32_release_defconfig /srv/output/mesong12a_u200_32_release/.amlogic-config
BR2_DEFCONFIG='' KCONFIG_AUTOCONFIG=/srv/output/mesong12a_u200_32_release/build/buildroot-config/auto.conf KCONFIG_AUTOHEADER=/srv/output/mesong12a_u200_32_release/build/buildroot-config/autoconf.h KCONFIG_TRISTATE=/srv/output/mesong12a_u200_32_release/build/buildroot-config/tristate.config BR2_CONFIG=/srv/output/mesong12a_u200_32_release/.config HOST_GCC_VERSION="5" BASE_DIR=/srv/output/mesong12a_u200_32_release SKIP_LEGACY= BR2_DEFCONFIG=/srv/buildroot/configs/mesong12a_u200_32_release_defconfig /srv/output/mesong12a_u200_32_release/build/buildroot-config/conf --defconfig=/srv/output/mesong12a_u200_32_release/.amlogic-config Config.in;
../multimedia/Config.in:12: can't open file "../multimedia/gst-aml-plugins/Config.in"
Makefile:1032: recipe for target 'mesong12a_u200_32_release_defconfig' failed
make: *** [mesong12a_u200_32_release_defconfig] Error 1
CCACHE will be enabled if exist /srv/output/mesong12a_u200_32_release/../ccache
root@f15e7f0fd984:/srv#

Add Google Cobalt as git submodule

The setup procedure could be simplified (admittedly, it's just one step to omit) by adding the Cobalt repository as a git submodule. It would also tie the Cobalt version being used to a known working commit, although it would also require manual updates of the gitref every time Cobalt is updated.

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.