Linux build system for Oboo Smart Clock

greenbreakfast 3c8aef1fc3 adding forgotten .config file 4 years ago
config 446604514d open sourcing oboo lede source repo 4 years ago
custom-files 446604514d open sourcing oboo lede source repo 4 years ago
files 446604514d open sourcing oboo lede source repo 4 years ago
include 446604514d open sourcing oboo lede source repo 4 years ago
package 446604514d open sourcing oboo lede source repo 4 years ago
release 446604514d open sourcing oboo lede source repo 4 years ago
scripts 446604514d open sourcing oboo lede source repo 4 years ago
target 446604514d open sourcing oboo lede source repo 4 years ago
toolchain 446604514d open sourcing oboo lede source repo 4 years ago
tools 446604514d open sourcing oboo lede source repo 4 years ago
.config 3c8aef1fc3 adding forgotten .config file 4 years ago
BSDmakefile 446604514d open sourcing oboo lede source repo 4 years ago
CHANGELOG.md 446604514d open sourcing oboo lede source repo 4 years ago
Config.in 446604514d open sourcing oboo lede source repo 4 years ago
DISCLAIMER.md 446604514d open sourcing oboo lede source repo 4 years ago
Dockerfile 446604514d open sourcing oboo lede source repo 4 years ago
LEDE-README.md 446604514d open sourcing oboo lede source repo 4 years ago
LICENSE 446604514d open sourcing oboo lede source repo 4 years ago
Makefile 446604514d open sourcing oboo lede source repo 4 years ago
README.md 118fa84861 Additional update 4 years ago
build.sh 446604514d open sourcing oboo lede source repo 4 years ago
build_info.json 446604514d open sourcing oboo lede source repo 4 years ago
feeds.conf 446604514d open sourcing oboo lede source repo 4 years ago
feeds.conf.default 446604514d open sourcing oboo lede source repo 4 years ago
first.txt 446604514d open sourcing oboo lede source repo 4 years ago
prepare.sh 446604514d open sourcing oboo lede source repo 4 years ago
rules.mk 446604514d open sourcing oboo lede source repo 4 years ago

README.md

Oboo Smart Clock Firmware Build System

This buildsystem for the LEDE Linux distribution has been modified by Onion Corporation to build firmware for the Oboo Smart Clock

Onion Corporation is not responsible for any damage to your device caused by using custom firmware, custom packages, or any other customization activities.

Additional Reading

  • See CHANGELOG.md for a listing of the changes for each firmware version and build
  • See DISCLAIMER.md for Onion’s disclaimer regarding this build system

Using this Build System

This buildsystem can be used to create packages and firmware for the Oboo Smart Clock. There are two preferred ways to use the buildsystem:

  1. Creating and using the Docker image Recommended method
  2. Running the build system on a Linux system

Using the Docker Image

The Docker image takes care of all environmental configuration and is the recommended method.Using this method creates a Docker image that can be used to compile the Oboo Smart Clock build system See this link for more details: https://docs.docker.com/get-started/part2/

System requirements for running this build system:

  • Storage Space: 20 GB minimum
  • Memory: 4GB RAM minimum
  • CPU: 2 cores minimum

The better the specs of the computer (more CPU cores, more memory) the faster everything will compile. On an 8-core, 16 GB RAM machine the initial compile will take about half an hour.

Procedure:

  1. Clone the repository by running:

    git clone git@github.com:ObooSmartClock/Oboo-Source.git
    
  2. Change into the Oboo-Source directory:

    cd Oboo-Source
    
  3. Build and tag the docker image by running:

    docker build -t oboo-source/oboo-source -f Dockerfile
    

This will produce a docker image with the following artifacts:

  • Firmware binaries:
    • Location: bin/targets/ramips/mt7688/
    • For Example: bin/targets/ramips/mt7688/lede-ramips-mt7688-oboo-smart-clock-squashfs-sysupgrade.bin
  • Oboo package files
    • Location: bin/packages/mipsel_24kc/oboo/
    • For Example: bin/packages/mipsel_24kc/oboo/oboo-clock-base_0.0.8-4_mipsel_24kc.ipk

Using the Output Files

To access the the built artifacts, run and mount the docker image to your local filesystem:

docker run oboo-source/oboo-source \
      -v ~source:bin/targets \
      -v ~packages:bin/packages \ 
      -it /bin/bash

Firmware binaries contain an image of the Oboo Smart Clock Linux Operating System. Incorrectly flashing firmware or flashing broken firmware can lead to a bricked device! Proceed with extreme caution! Onion Corporation is not responsible for any damage to your device caused by using custom firmware or packages not built and released by Onion Corporation.

Oboo package files can be installed on Oboo Smart Clock. Transfer the desired *.ipk file to the target Oboo Smart Clock’s filesystem, and use opkg install <IPK NAME HERE> to install/update the package.

Building Locally

This procedure must be done on an Ubuntu system, as it requires specific software packages in order for the build to succeed. System requirements for running this build system are similar to the Docker method:

Required additional software packages:

sudo apt-get update
sudo apt-get install -y \
    build-essential \
    vim \
    git \
    wget \
    curl \
    time \
    subversion \
    build-essential \
    libncurses5-dev \
    zlib1g-dev \
    gawk \
    flex \
    quilt \
    git-core \
    unzip \
    libssl-dev \
    python-dev \
    python-pip \
    libxml-parser-perl \
    default-jdk

Using the Build System

When run, the build system outputs firmware binaries and package files for the Oboo Smart Clock.

To setup and compile the build system, run the following command:

sh build.sh