Install hyveOS
Get hyved on your node. You have two options for installation on a node. Afterwards, you need to quickly configure the network interfaces for making B.A.T.M.A.N.-adv run. It is necessary to enable its running within the OS of the node that you are downloading hyveOS to.
Install in One Line
This will run our installation script where everything is preconfigured for you. If you want to or need to have some more control, keep to the following 4 steps:
Install through APT Repository
-
Set up hyve
apt
repository: -
Install
docker
(If you need to): -
Install
B.A.T.M.A.N.-adv
: -
Install
hyved
andhyvectl
:
Choose a WiFi network interface for the mesh
You need to choose a WiFi network interface for the mesh.
This interface will be configured using wpa_supplicant
, so you have to ensure that it isn’t managed by any other networking service like Netplan
or NetworkManager
before continuing.
How to stop
On a default Raspberry Pi Ubuntu 24.04 installation, installed using the Raspberry Pi Imager, Netplan
from managing the wlan0
interface on a default Raspberry Pi Ubuntu 24.04 installationNetplan
is configured by cloud-init
to manage the wlan0
interface.
To stop Netplan
from managing the interface, you should be able to follow these steps:
-
Make sure, that you are either working on the device directly (e.g. with a keyboard and monitor connected to the Pi) or that you are connected over SSH using the ethernet port.
-
Check if
cloud-init
is enabled:If it is enabled, you should see something like
Active: active
in the output. In that case, you can disable it permanently by creating an empty file at/etc/cloud/cloud-init.disabled
: -
Check, which network configuration files are present:
If
cloud-init
was enabled, you should see a file called something like50-cloud-init.yaml
. Otherwise, other configuration files might be present. Check, which of these files contains the configuration for thewlan0
interface:The file should look somewhat like this:
-
Remove the configuration for the
wlan0
interface from the file:Remove the section for the
wlan0
interface. The example above would look like this after removing thewlan0
section:If none of the configuration file you find in step 3 contains an ethernet configuration, but you are connected over ethernet, you might need to add an ethernet configuration like the one above, to keep the ethernet connection working.
-
Apply the changes:
If you are connected over SSH, you might lose the connection at this point. If you do, just try to reconnect after a few seconds. If reconnecting doesn’t work, you might need to restart the device.
Configure hyved
before Running
Before you can run hyved
, you need to configure it.
You can do this by editing /etc/hyved/config.toml
,
which should at least configure the network interfaces (using the interfaces key).
In the following example, wlan0
is the wireless interface used for
the B.A.T.M.A.N.-adv mesh, and bat0
is the B.A.T.M.A.N.-adv virtual interface:
Before running hyved you need to setup its prerequisites. The easiest way to do this is to use the provided systemd services:
Starting hyved
Now hyved
is running on your machine.
Running hyved
at Boot
If you want to run hyved
at boot, enable the systemd
service:
Adding your user to the hyveos
group
To run hyvectl
without sudo
, you need to add your user to the hyveos
group:
Verify the installation
Verify your installation by running
You should see something like
If it succeeds, that’s it! Your machine is ready to join multi-node swarms!
Continue with the Quickstart or learn about hyveOS concepts
© 2025 P2P Industries. This documentation is licensed under the MIT License.
Cookie Policy
Privacy Policy