Ubuntu Core installation, setup and configuration

We are attempting a POC with Ubuntu Core for a digital menu board system.

There are certain some requirements that I am struggling with and would appreciate any guidance. We would like this to be a very easy system to setup and install on existing media players that we have already used in the past that already contain their own flavor of Linux.

We created a Live USB boot that runs and allows the user to overwrite the existing system through the suggesting (dd method) but is an automated script. Not sure if this is the best way to handle this, but we need the install process to be as simple as possible.

We would like to skip the step of having a user enter the Ubuntu One credentials at the end, but would like to retain the networking setup. I have experimented with both cloud-init and user assertions but the network setup stage gets skipped when adding both. Also, I have seen ogra mention several times that it is not recommended to use cloud-init for setting up Ubuntu Core.

The other issues is related to custom setup. I need to add some store specific configurations to the system that a user needs to input during install and setup. They will not have the ability to SSH into the system and will only have access through the console, which does not appear to be available.

Lastly, we need to be able to connect/reconnect multiple screens and reconfigure them. This means we need to be able to run a setup program that can change ubuntu-frame display to setup the initial setup, modify ubuntu-frame display config as well as install one or more wpe-webkit-kiosk-mir to support displaying different content on each screen.

We are hoping to start this POC in a few months and then start slowly rolling it out to new stores and eventually replace the existing ones as well. However, we have to find answers/solutions to these problems before increasing the scale (100s to 1000s) of DMBs.

Greatly appreciate any help or direction.

Thanks

One thing I add was that several of these installations will not have DHCP available to them, so we really need the ability to setup the network.

What is Ubuntu recommended approach for large scale installation, setup/configuration/re-config and management of these devices?

Hi @ogra

Do you have any suggestion or thoughts on the above? How have you seen other companies handle such cases? How could we go about creating our own setup wizard similar to console-conf

Any help would be gratefully appreciated.

Thx

Generally you could simply create a snap that has the network-setup-control interface enabled and shows a UI on ubuntu-frame for initial network configuration.

Regarding the configuration of ubuntu-frame for various displays you could have one image per device category and simply hard-code the configs in the respective gadget snaps … alternatively you could create a snap that utilizes the snapd REST api via the snapd-control interface to dynamically configure ubuntu-frame … or you could pre-install the landscape-client snap and do the configuration through landscape …

Note that most of the above requires you to have an IoT app store:

(while you can side-load a custom gadget from disk for your POC, you will eventually have to use a properly signed gadget from a store (and the global store does not allow uploads of non-canonical owned gadgets) and for the use of snapd-control you will also need your own store as this will not be granted either to snaps in teh global store …)

Hi @ogra,

Thanks for your input.

# create a snap that has the network-setup-control interface enabled and shows a UI on ubuntu-frame for initial network configuration.

Yes, we could do that and that would only work for the initial setup.

# configuration of ubuntu-frame for various displays you could have one image per device category and simply hard-code the configs in the respective gadget snaps

Unfortunately this is not an option. We have control of the media players and what is running on them and that is all. The displays/screens are not determined by us that is up to the individual franchisees. I do have any details about what is currently in the field but there are probably endless combinations that are in use.

# alternatively you could create a snap that utilizes the snapd REST api via the snapd-control interface to dynamically configure ubuntu-frame

This is exactly what we want to do but from one of the other available console screens

# you could pre-install the landscape-client snap and do the configuration through landscape

We are looking into landscape but not for this. Configuring displays through landscape is impractical. You need to be on site and see the results as you configure it.

# while you can side-load a custom gadget from disk for your POC, you will eventually have to use a properly signed gadget from a store

Yes, we will be looking into this in the future, right now we are just trying to do a POC on UC and determine if it will work for us or not.

Again thank you.

1 Like