1
1
mirror of https://github.com/OpenVoiceOS/OpenVoiceOS synced 2024-12-15 02:16:36 +01:00
Go to file
2021-06-23 20:01:28 +02:00
buildroot@9c6c73a22d Fixes for Python3.8.9 and Buildroot bump 2021-04-07 17:03:48 +02:00
buildroot-external Wait for internet and vlc as default player 2021-06-23 20:01:28 +02:00
buildroot-patches [WIP] Sound architecture changes. 2021-05-10 13:31:27 +02:00
documentation Update README with build instructions (remove the building doc) 2021-04-28 09:34:47 +02:00
logs Add empty logs and release directory by default 2021-05-01 09:08:42 +02:00
release Add empty logs and release directory by default 2021-05-01 09:08:42 +02:00
scripts MycroftOS: BNuilding now uses a proper Makefile. 2019-12-10 13:21:49 +01:00
.gitignore Add empty logs and release directory by default 2021-05-01 09:08:42 +02:00
.gitmodules Bump buildroot to latest 2021.02.x LTS version 2021-03-18 09:11:54 +01:00
Jenkinsfile convert all steps to use sh in jenkins 2021-02-27 16:56:01 +05:30
LICENSE MycroftOS: Initial setup 2018-10-26 15:02:09 +02:00
Makefile Compress release images with xz for smaller image files. 2021-01-30 09:18:23 +01:00
README.md Minor updates to docs based on installation 2021-04-30 17:35:05 -07:00

OpenVoiceOS - Mycroft Edition

A minimalistic Linux OS bringing the open source voice assistant Mycroft A.I. to embbeded, low-spec headless and/or small (touch)screen devices.

System.

OpenVoiceOS - Full 64 Bit distribution

  • Linux kernel 5.10.x (LTS)
  • Buildroot 2021.02.x (LTS)
  • Mycroft 20.08.x (mycroft-lib pip installable version)
  • Raspberry Pi 3|3b|3b+ (Initial development hardware = 3b)
  • Raspberry Pi 4 (Current development hardware)

Stats:

Build Status GitHub last commit
This shows if the code is valid and can be build. This shows when this repo was updated for the last time
GitHub stars GitHub issues
Please this repo if you find it useful Issues are like my personal TODO list and information archive
License: Apache License 2.0 contributions welcome
I'm using the Apache License 2.0 similar as Mycroft A.I. which means commercial use is allowed If you have any ideas, they're always welcome. Either submit an issue or a PR!
Uptime Robot status Buy me a
I use uptime robot to monitor for things i can't monitor when the connection drops. If you feel the need, now it's as easy as clicking this button!

Getting started.

At this moment development is in very early stages and focussed on the Raspberry Pi 3B & 4. As soon as an initial first workable version is created, other hardware might be added.

Getting the code.

First, get the code on your system! The simplest method is via git.

Patching Buildroot.

(ONLY at the first clean checkout/clone) If this is the very first time you are going to build an image, you need to execute the following command once;

  • ./scripts/br-patches.sh
    This will patch the Buildroot packages.

Installing System Build Dependencies

The following system packages are required to build the image:

  • gcc
  • subversion
  • qttools5-dev
  • qttools5-dev-tools
  • python

Building the image.

Building the image(s) can be done by utilizing a proper Makefile;
To see the available commands, just run: 'make help'
As example to build the rpi4 version;

  • make clean
  • make rpi4_64-gui-config
  • make rpi4_64-gui

Now grab a cup of coffee, go for a walk, sleep and repeat as the build process takes up a long time pulling everything from source and cross compiling everything for the device. Especially the qtwebengine package is taking a LONG time.
(At the moment there is an outstanding issue which prevents the build to run completely to the end. The plasma-workspace package will error out, not finding the libGLESv4 properly linked within QT5GUI. When the build stopped bacause of this error, edit the following file;

buildroot/output/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake

at the bottom of the file replace this line;

_qt5gui_find_extra_libs(OPENGL "GLESv2" "" "")

And replace it bit this line;

_qt5gui_find_extra_libs(OPENGL "${CMAKE_SYSROOT}/usr/lib/libGLESv2.so" "" "${CMAKE_SYSROOT}/usr/include/libdrm")

Then you can continue the build process by re-running the "make rpi4_64-gui" command. (DO NOT, run "make clean" and/or "make rpi4_64-gui-config" again, or you will start from scratch again !!!)

When everything goes fine the xz compressed image will be available within the release directory.

Documentation.

More information and instructions can be found within the "documentation" folder.

Credits

Mycroft AI (@MycroftAI)
Buildroot (@buildroot) HelloChatterbox (@hellochatterbox)

Inspired by;

HassOS (@home-assistant)