Connect Custom Device to Balena.io

Hey,

I set up a new board creating the balena-boardname layer etc. How do I add this device to an application in balena.io?
I only found options for downloading config files for specific devices. If I copy those to my device’s boot partition the file is overwritten, presumably due to mismatching device UUIDs.

As far as I can tell the “–balenaio” flag as documented here no longer exists.

Thanks!

Hello,

You’re right, --balenaio no longer exists, the images are the smae for managed and unmanaged OSes.
You need to use our cli balena join <device-ip>.
See https://github.com/balena-os/meta-balena/issues/1289#issuecomment-439219510

This wont work due to the slug for my device not being contained in the list of supported devices.
Specifically this error is triggered: https://github.com/balena-io/balena-cli/blob/6070ee0f83364df91409a3fdc141ce9cdb131a05/lib/utils/promote.ts#L201

I guess I could fake being another device by setting the slug accordingly, are there better solutions?

@hohatzel I believe that would be the best method for the time being, but I’ll raise this with the CLI team to see what the best way forward would be here.

Hi @hohatzel,

I’ve created an issue for this problem. You can find it at:

Thanks for raising this up!

Hi @hohatzel ,

The proper way to do this is to use the slug for a generic device type that matches the device’s architecture.
At the moment there is generic-aarch64 which should be used for custom device types of ARMv8 architecture.
See: https://api.balena-cloud.com/device-types/v1/generic-aarch64

You can find the complete list of supported device types at:
See: https://api.balena-cloud.com/device-types/v1/

What’s the architecture of your device type?
If there is no generic device type available for the architecture of the device type that you want to use, give us a ping and we will do our best to add a generic device type for it.

PS: The generic device type is marked as isDependent and doesn’t show in the “Create application” modal and is only meant to be used for that use case and not for custom devices.
See: https://api.balena-cloud.com/device-types/v1/generic

1 Like