[HOWTO] Begin your Open Voice OS journey with the ovos-installer 💖 😍

Introduction

Back to the old Mycroft A.I days, the users were able to run a script to install mycroft-core on different CPU architectures such as x86_64 or arm64 and on few different Linux distributions as well in a very short amount of time which helped to the software adoption.

The goal of the ovos-installer is to provide the same habit as with mycroft-core but with (we think) an enhanced experience :upside_down_face:. Mycroft AI led the way, we followed and took a different path
 :railway_track:

What is ovos-installer?

The Open Voice OS Installer is designed to help the users (developer, hobbyist, etc
) to easily install the Open Voice OS and/or the HiveMind stacks.

Through a multilingual and simple Text-based User Interface (TUI), the ovos-installer asks basic questions to define what would be the best setup based on the answers provided by the user. Once ready, the ovos-installer triggers an Ansible playbook which provides consistency and idempotency :heart_eyes:.

What’s in the truck? :articulated_lorry:

Here is a quick overview of what the ovos-installer could provide.

OS x86_64 arm64 arm32 OCI venv RPi* GUI Skills
Linux :white_check_mark: :white_check_mark: :exclamation: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark: :white_check_mark:
MacOS :warning: :warning: :exclamation: :warning: :warning: :exclamation: :exclamation: :white_check_mark:
Windows WSL2 :white_check_mark: :white_check_mark: :exclamation: :white_check_mark: :white_check_mark: :exclamation: :exclamation: :white_check_mark:

*Raspberry Pi 3B+, 4B, 5B. Raspberry Pi below version 3B are not supported by the ovos-installer.

Mark 1 & Mark II & DevKit support :tada:

Both of the Mycroft A.I legacy hardwares; Mark 1, Mark II* and DevKit are supported by the ovos-installer. There is nothing to do on the user side as everything is auto-detected and configured during runtime.

*95% working as the SJ201 dual channel still not optimal and LED ring is not working yet.

Burn the Raspberry Pi OS image :fire:

This step is only requires if you plan to run Open Voice OS on a Raspberry Pi, Mark 1 or Mark II.

When running on a Raspberry Pi 3B+, the installer will not setup the GUI as the board doesn’t have enough resources to handle it :sweat_smile:.

Follow the screenshots in order to burn the Raspberry Pi OS Bookworm Lite 64-bit. The “Lite” is important as it reduces the amount of packages installed and the resources consumed on the Raspberry Pi. It allows as well the ovos-gui service to leverage EGLFS which is the recommended way to run the GUI.

Install and run the Raspberry Pi Imager as it makes things simpler (but this just a recommendation not an obligation). :sparkling_heart:

image

Choose “No filtering” as we want to list all the available versions of Raspberry Pi OS.

image

Select “Raspberry Pi OS Lite 64-bit*” as previously mentioned.

image

Select the storage where to burn the image, a fast device is always recommended for a better experience.

image

This step is important as this is where the WiFi configuration and the user credential are defined. If this is not configured properly then the Raspberry Pi will not be reachable.

image

Set the required settings to match your environment/requirements.

Make sure to check “Enable SSH”, here there is a SSH public key configured but you could stick with password authentication (based on the password set in the previous screenshot).

Make sure to select “Yes” to apply the customization.

image

Select “Yes” to burn the image.

image

Wait for few minutes, maybe its time for a coffee/tea brake? :coffee: :tea:

image

Done! :partying_face: :tada:

image

Once burned on the SD card or the USB drive, the Raspberry Pi is ready to boot on Raspberry Pi OS. :partying_face:

Run the ovos-installer and get OVOS installed

The installer will work on most of the hardware but in some cases such as when multiple microphones and/or speakers are present, the audio input/output could not be working as expected. “Exotic” HATs such as ReSpeaker microphones, etc
 might requires some extra configuration which is not handle by the ovos-installer (yet? :pray:).

This is the “generic” part of this howto as the next steps will be applied for Raspberry Pi users as well as for “regular” users. Only the ssh command will be different as this will be required to reach a headless device such as Raspberry Pi as well as the apt command based on the Linux distribution the installer is running.

Depending the hardware where the ovos-installer runs, the runtime could be from 5 minutes to 20 minutes (WiFi & Internet connectivity and storage might impact the timing as well).

# Only for headless/remote device
$ ssh -l goldyfruit 10.17.2.114

# Update package manager metadata
$ sudo apt update

# Install required packages to run the installer
$ sudo apt install -y git curl

# Run the installer
$ sudo sh -c "$(curl -fsSL https://raw.githubusercontent.com/OpenVoiceOS/ovos-installer/main/installer.sh)"

Once triggered, the ovos-installer will run some pre-flight checks and install the requirements such as Python, Ansible, etc
 This step might take about 5 minutes depending the hardware.

When all the requirements are settled, the Text-based User Interface (TUI) is displayed and asks to select a language, follow the wizard carefully. :mage: :magic_wand:

Summary of auto-detected information about the environment where the installer is running, no special action here just some valuable information. :disguised_face:

Choose a method to install Open Voice OS, “containers” (Docker/Podman) or “virtualenv” (Python Virtual Environment). If you don’t know anything about containers then we strongly recommend to use the “virtualenv” method which will be easier to start with.

Select “development” as channel, once Open Voice OS will reach the production version, a “stable” option will be available.

Choose the “ovos” profile. This profile provides the classic but exquisite :person_tipping_hand: Open Voice OS experience which consist to have all the required components on the same device.

Select the features to install (by default on Raspberry Pi 3B+ the “gui” feature will not be available). The choice is yours, choose wisely!

The tuning option is recommended on any Raspberry Pi boards as the installer will tweak the operating system to ensure a better user experience. This screen will only be displayed if a Raspberry Pi board is detected.

Just a quick and simple summary about what’s gonna be done. This is the only place where you can exit the installer wizard. :stop_sign:

Please help us to improve Open Voice OS by sharing some anonymous information. Please read this for information about what is shared with us.

Here we go, the installation process starts, Open Voice OS gonna be installed! The process could take up to 20 minutes depending the hardware as previously mentioned, patience


Maybe this time you could grab a piece of cake to join your coffee/tea? :cupcake: :cake:

Congratulations, Open Voice OS is now installed and ready to interact with YOU! Here you got some examples of what to ask to your new friendly open source assistant. :tada: :studio_microphone:

Oh no, something went wrong! :scream: :fearful: :sob:

Sadly, the ovos-installer is not perfect, so don’t be mad at us if something goes wrong, its a community project backed by community members on their spare time. :blue_heart: :purple_heart: :orange_heart: :green_heart: :heart:

Any issue happening during the installation process will generate a https://dpaste.com link with the installer’s logs.

Please share this link with us as it will be very helpful to understand the issue and help the community to find a solution to your momentary drama!

Conclusion

We hope this helped out and made your life easier and gave you a needed jump-start to enter into your Open Voice OS journey!

If not please share some constructive feedback about how this howto could be improved.

Enjoy, be kind and be happy! :kiss:

9 Likes

thanks for the awesome tutorial!

will be very helpful for new users

2 Likes

Nice writeup @goldyfruit :sunglasses:

Could you add a section at the end “Installing ovos-tools”?

cd
git clone https://github.com/mike99mac/ovos-tools
cd ovos-tools/
sudo ./setup.sh
lsenv

You were the one who suggested me porting mycroft-tools to ovos-tools. The lsenv command is most helpful, plus there’s a bunch of other tools. Thanks.

Thanks @mike99mac :upside_down_face:

This would be more valuable in a debug howto as this one is only related to the installation of Open Voice OS using the ovos-installer. :+1:

Going to test this out on a x86 machine for the ovos server install configuration.

Started by installing minimal Ubuntu 24.04 As that version does not have Python 3.11 installed or available on the default repo’s I had to;

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.11

For the installer to start.

1 Like

I tried Ubuntu Desktop 24.04 on a RasPi 5, but it failed. I thought it was because the 5 is new hardware, but then it also failed on a RasPi 4. :frowning_face:

It seems you are on Intel architecture. Has anyone gotten Ubuntu 24.04 to install on ARM?

1 Like

Yep, @joergz got this issue on Matrix, I share the exact same workaround, I will add that to the common.sh.

Thanks for testing. :+1:

EDIT

@mike99mac @j1nx feel free to test the PR bellow.

I have not been able to install Ubuntu 24.04 on any Raspberry Pi, so that makes it difficult to test :frowning_face:

I’m switching to Raspberry Pi OS 2024-03-15 as the base Linux.

1 Like

Nice tutorial, thanks!

1 Like

Will it just be a flat no-go on a rPi Zero W ?
got the installer to run, but failed at nearly the last steps, I think, lol.

https://dpaste.com/8PQPCYTJJ

1 Like

RPi Zero W can only do 32-bit which will not work with the ovos-installer. RPi Zero 2 W will work though.

Thank you, will look at getting a Zero W 2

1 Like

The new quake release of ovos-installer is out :kiss:

3 Likes

Thank you @goldyfruit for a good tutorial.
I followed it to the dot on my Mark II, unfortunately it didn’t work.


The installation didn’t seem to detect the Mycroft display (that was working fine for Mycroft few minutes prior to installation of Open Voice OS).
One error during installation was:
fatal: [127.0.0.1]: FAILED! => {"attempts": 5, "changed": false, "elapsed": 30, "msg": "Status code was -1 and not [200]: Request failed: <urlopen error timed out>", "redirected": false, "status": -1, "url": "https://telemetry.smartgic.io/ovos-installer/metrics/"}
After installing the system showed the installation worked fine and I got presented with the final screen as in your tutorial with the list of questions I can ask.
After reboot, screen would not display anything, any question (from the list suggested) would end up with a double bip sound (after acknowledging that it started listening) :confused:
I searched for any reference to sprunge in the outcome from the installation, unfortunately nothing showed.
Happy to provide more info

A little update, the screen does actually work (after another reboot I was able to see the Open Voice OS logo), unfortunately none of the questions get answered

One more piece of info that might help



(I did select yes after the screenshot was done)

This is not the display (hardware) but the server display (software), which is expected as nothing got installed yet.

This error is fine as if it fails 5 times trying to share the telemetry then the paybook will give up and go to the next task.

A double bip sound means that skills are not available.

About the GUI, an issue has been opened about the issue: Stuck on OVOS logo · Issue #42 · OpenVoiceOS/ovos-gui · GitHub

Now for the questions not answered, you will have to check the Docker logs as maybe

$ docker logs -f ovos_listerner
$ docker logs -f ovos_core

Thank you so much for the speedy reply @goldyfruit
I have now tried to re-install using virtual env rather than containers method.
This seems to have worked a lot better, the screen dipslayed the time and date after the reboot and it started answering questions too :tada:
For the completion, given you’ve provided a good info about where to search for logs with Dockerised version, it would be good to know where should we look for errors on the virtualised env.

1 Like

Awesome!

ovos-installer leverages ovos-docker internally when containers method is selected. Have a look here Debugging - Open Voice OS Container Documentation

For the virtualenv method, logs are accessible via journalctl --user ovos-core for example or log files as duplicated as well in ~/.local/state/mycroft/ directory.

Glad to see an other Mark II up and running! :partying_face: :piñata: :tada:

2 Likes