OpenVoiceOS - A bare minimal (production type of) OS based on Buildroot

Great, I am glad to hear it. Ive been looking for something like this for a while. I am a technical person and will gladly test. I am from the Windows world but interested in learning Linux/Mycroft/OpenVoiceOS.

I apologize in advance for any dumb questions.

Dumb questions do not exist, only dumb answers.

1 Like

Ok, I got my RPI 4 today and installed the alpha 9 image. (connected to 1080p monitor) First boot went as expected…

Connected to the Mycroft AP from my phone and connected to wifi,
Create new device on the Mycroft.ai website,
Asked a few question and everything seemed to be working.
SSH into device and the Mycroft-CLI does not load (error below)… performed reboot and same issue but now Mycroft no longer responds.

Welcome to MycroftOS.

Please wait a moment while I load the Mycroft CLI client …

Traceback (most recent call last):
File “/usr/lib/python3.8/site-packages/pkg_resources/init.py”, line 583, in _build_master
ws.require(requires)
File “/usr/lib/python3.8/site-packages/pkg_resources/init.py”, line 900, in require
needed = self.resolve(parse_requirements(requirements))
File “/usr/lib/python3.8/site-packages/pkg_resources/init.py”, line 791, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (urllib3 1.26.2 (/usr/lib/python3.8/site-packages), Requirement.parse(‘urllib3<1.25,>=1.21.1’), {‘requests’})

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/bin/mycroft-cli-client”, line 6, in
from pkg_resources import load_entry_point
File “/usr/lib/python3.8/site-packages/pkg_resources/init.py”, line 3251, in
def _initialize_master_working_set():
File “/usr/lib/python3.8/site-packages/pkg_resources/init.py”, line 3234, in _call_aside
f(*args, **kwargs)
File “/usr/lib/python3.8/site-packages/pkg_resources/init.py”, line 3263, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File “/usr/lib/python3.8/site-packages/pkg_resources/init.py”, line 585, in _build_master
return cls._build_from_requirements(requires)
File “/usr/lib/python3.8/site-packages/pkg_resources/init.py”, line 598, in _build_from_requirements
dists = ws.resolve(reqs, Environment())
File “/usr/lib/python3.8/site-packages/pkg_resources/init.py”, line 786, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The ‘urllib3<1.25,>=1.21.1’ distribution was not found and is required by requests

Also, I also have the Official Raspberry Pi 7" Touchscreen which I know there are issues with as stated in a previous post… screen turns on but no display.

A new alpha release for you all guys to give a spin is around the corner, which also has above fixed.

Just a little bit more patience… :wink:

1 Like

That’s great… just wanted to report what i was seeing. Reverting to alpha8 seems to be working… minus touchscreen.

1 Like

Where we currently are at. Apologies for not recording sounds (for whatever reason?), anyhow all “Hey mycroft, …” are spoking except the last “youtube mycroft” which got mixed up with “minecraft” (as always), so typed that last one in the mycroft-cli-client.

Still a lot of fine tuning to do, but we are almost there.

Some other functions, which where already there in MycroftOS time. With OpenVoiceOS, your device also acts as a smart speaker.

1 Like

Going to dump a bit more. We are almost there…


Above uses and HDMI screen (and sound from it) + a USB microphone (PS3 eye). All supported out of the box. (The long black period is basically downloading and installing all the default skills, without any GUI screen)

The same image as above, but with a quick and dirty GUI screen showed during that black screen period (We will make it nice ofcourse). This time showed with a Waveshare 5" MIPI DSI touch screen attached together with a AIY v1 kit. Both supported out of the box, although the latter needs a manual “dtoverlay” adjustment within config.txt at the moment. (Planned to load this dynamically at boot, when it sees the AIY v1 device, similar as the ReSpeaker devices). Be aware, that because of interference of that screen with the crappy onboard broadcom wifi, I had to show it with another cheap wifi stick.

Same as above, but for concurrent boots when all the setup is done. Boot time till fully ready is about 1:10

Same same, but with LAN cable instead of WiFi. Boot time till fully ready ~0:50

Apologies for all the background noise. Just some quick and dirty show case video taken with the phone.

7 Likes

That is looking really good! Thanks for what you are doing.

1 Like

In case you wonder / be annoyed by / want to know why I am posting all of these little video’s lately.

I just watched the last dev-sync on Youtube. At the end @J_Montgomery_Mycroft explains it better then I ever can :wink:

2 Likes

@j1nx I have installed the latest alpha10b and it seem pretty stable. The only issue I am having is the respeaker 4 Mic Array no longer seems to be working. Any insight would be appreciated.

As you state "alpha10b"I think you jumped the gun on an intermediate test release getting some last bits and pieces into shape for the upcoming OpenVoiceOS - Mycroft Edition, which is not yet ready as an official release. Though you are right, stability is not the issue here :wink:

Anyhow, I would like to advise you to hang in just a little bit longer till the announcement and the “real” finished image release. Would not be long anymore.

1 Like

Is there a chance to add a spotify-dev-key settup with easy instructions to use this fix (spauth.py):

I think spotify will not come closer to us , to fix that problem here.
Having a easy-setup progress integrating that, would be a nice feature for OVOS.

Will look into what I can do. I believe you should be already be able to do so, but most likely need to use the links2 browser way and copy over the url.

Anyhow, will give it a go myself on OVOS and see how we could do this a bit easy for the tech savy people.

1 Like

can you please help me to setup GUI in my Mycroft , I have tried everything but I am not able to do it

what distribution and what hardware ?

Hello,
just installed the alpha 10 image on my RPi4. The system booted up no issues. I has been over an hour now and it seems to be done (not sure?). I does carry out the some commands, but others it replies with “please wait while I finish booting up”. Also if I try to install a skill installer skill, it says “and error occurred while processing your request in skill installer skill”. I managed to ssh into it, and if I try it manually I get this output:

INFO - building SkillEntry objects for all skills
WARNING - Could not prepare repo (GitCommandError([‘git’, ‘config’, ‘remote.origin.url’, ‘GitHub - MycroftAI/mycroft-skills: A repository for sharing and collaboration for third-party Mycroft skills development.’], 4, b’error: failed to write new configuration file /opt/mycroft/.skills-repo/.git/config.lock’, b’')), Creating temporary repo
INFO - Best match (0.53): homeassistant by MycroftAI
INFO - Downloading skill: GitHub - MycroftAI/skill-homeassistant: Mycroft Skill/Integration for Homeassistant
INFO - Problem performing action. Restoring skill to previous state…
INFO - invalidating skills cache
Traceback (most recent call last):
File “/usr/lib/python3.8/shutil.py”, line 788, in move
os.rename(src, real_dst)
OSError: [Errno 18] Invalid cross-device link: ‘/tmp/tmp0vjzbd9n’ → ‘/opt/mycroft/skills/homeassistant.mycroftai’

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “/usr/bin/msm”, line 11, in
load_entry_point(‘msm==0.8.8’, ‘console_scripts’, ‘msm’)()
File “/usr/lib/python3.8/site-packages/msm/main.py”, line 121, in main
result = main_functionsargs.action
File “/usr/lib/python3.8/site-packages/msm/main.py”, line 100, in
‘install’: lambda: msm.install(args.skill, args.author,
File “/usr/lib/python3.8/site-packages/msm/mycroft_skills_manager.py”, line 73, in func_wrapper
ret = func(self, *args, **kwargs)
File “/usr/lib/python3.8/site-packages/msm/mycroft_skills_manager.py”, line 377, in install
skill.install(constraints)
File “/usr/lib/python3.8/site-packages/msm/skill_entry.py”, line 99, in wrapper
func(self, *args, **kwargs)
File “/usr/lib/python3.8/site-packages/msm/skill_entry.py”, line 492, in install
move(tmp_location, self.path)
File “/usr/lib/python3.8/shutil.py”, line 798, in move
copytree(src, real_dst, copy_function=copy_function,
File “/usr/lib/python3.8/shutil.py”, line 554, in copytree
return _copytree(entries=entries, src=src, dst=dst, symlinks=symlinks,
File “/usr/lib/python3.8/shutil.py”, line 455, in _copytree
os.makedirs(dst, exist_ok=dirs_exist_ok)
File “/usr/lib/python3.8/os.py”, line 223, in makedirs
mkdir(name, mode)
OSError: [Errno 28] No space left on device: ‘/opt/mycroft/skills/homeassistant.mycroftai’

Can anyone help me out here? Thanks.

That is because that alpha10 release is a release that we distribute among us developers and at its current state is not ready to be used.

We are in the middle of changing the image to use a Hybrid MBR/GPT partion table such that we can make use of systemd-repart and systemd-growfs to auto expand the rootfs over the whole SD card and to prepare for the A/B mirrored update mechnism to create an image file that only contains two partitions; boot1 and rootfs1, while we create, format and resize all other partitions needed at first boot.

  • bootloader
  • recovery / update
  • boot 1
  • boot 2
  • rootfs 1
  • rootfs 2
  • userdata

That’s why the current alpha10 release as .xz compressed image is only ~850 MB in size.

Anyhow: Long story short. That image is not ready and as the above is not fully working as expected, your rootfs is only 2.5 GB and is not using the full size of your SD card.

“OSError: [Errno 28] No space left on device:”

This says it all.

Sad. :smiley: I guess I have to use the normal installation for the time being. keep up the good work though :slight_smile:

You can download this script and run it;

https://raw.githubusercontent.com/OpenVoiceOS/OpenVoiceOS/cea47b56c2f0f5c5cb4c7b3f8ef83726c9b999dc/buildroot-external/package/firstboot-service/resizeSD

But bare in mind, there might be other things not yet optimal. But, you could have a peek around if you want😉

Thanks. I will give it a go. I am still very new to linux and all this stuff. I wanted to run Mycroft together with kodi on the same device, but haven’t managed to get that done yet either. I found your guide from 2018, but it seems out of date and didn’t work out. Perhaps it is beyond my skills yet :slight_smile: