I converted a Ubuntu 24 image and copied it onto the target device.
With using part-uuids for the partitions it finally boots correctly now on the device.
However, it is not recognized in the mender web ui under devices. It seems, the mender-client service is not running nor available. There is a /lib/systemd/system/mender-client.service.wants directory.
Thanks for reaching out! The trial or not should matter here - in fact it’s helpful, because then we can rule out problems with self-hosted instances.
Can you please check which version of the Mender Client is installed? For 3.x and earlier, the main binary is called mender, on 4.0 and later it has been split in mender-auth and mender-update. So the systemd units are also called mender-client, respectively mender-authd and mender-updated. What is the state of those?
And last for now, which board and version of mender-convert did you use?
mender-auth: command not found
mender-update: command not found
Unit mender-client.service could not be found.
mender-authd.service
Loaded: masked (Reason: Unit mender-authd.service is masked.)
Active: inactive (dead)
mender-updated.service
Loaded: masked (Reason: Unit mender-updated.service is masked.)
Active: inactive (dead)
The version for mender-convert: 4.2.2 (at least that was the branch)
So I guess the mender client version would be >=4.0
Just to be sure: Using mender-convert already integrates the client into the image, right? Because I did not explicitly install the mender client onto the device.
I assume unmasking and enabling the services is not the solution because it should work out of the box, i.e. menderized os image, right? If there is anything I could have missed when creating the image or I could try out or if there is information I could provide, please let me know, I would appreciate it.
dd the complete drive to ubuntu24_golden_image.img
Run mender-convert on ubuntu24_golden_image.img:
Since I was not successful in setting the partition names correctly, I used the exact partuuids. I adapted the generic_x86-64_hdd_config for that. However, since I still encountered issues, I changed some config attributes in the mender_convert_config file itself since the config overwrite did not seem to work as expected. I will just attach the files I used, please see below.
Conversion did not have errors. dd the mender-image.img of deploy/ onto the empty nvme SSD of the target system.
Ubuntu 24.04 boots without issues on the target system. After the login, I check whether the two mender-client services are running which was not the case.
@grasshopper wow I was also trying to go from an SSD to an NVME! I too struggled with the partitions but eventually ended up just buying a second NVME and cloning with that so that I didn’t have to change anything. I also have no errors with convert but end up with the same issue as you: no mender-client installed in the converted image…
FWIW everything else seems correct, i.e. mender-convert created 2 root partitions and a data partition.
I retried all the steps I did now with Ubuntu 22.04.5 LTS (Jammy Jellyfish) and the result was that the mender-client.service existed and was active when booting the system, so this is good. Also I was able to deploy a test artifact via the hosted.mender UI. I am a bit confused that the mender-client.service was running rather than the mender-authd and mender-updated because these two were at least labeled as inactive when I did the first try with Ubuntu 24. So, how is the mender client version determined? I used the same script and configs for mender-convert.
# Valid values are "auto" (default), "latest", "master" or a specific version
# If set to "auto" then the Mender Client 4.0 or later will be installed unless
# the distribution is Ubuntu jammy or older or Debian bullseye or older;
# the latest Mender 3.x client will be installed in those cases.
# If set to "latest", it will install the latest version of the Mender Client
# from the 4.x series.
This answers my question.
My mender --version produces 3.5.3
Hi, I’m trying out mender with Ubuntu Server 24.04 on a few QEMU VMs.
I’m using the hosted trial version, with mender-convert 4.2.2. My workstation is also Ubuntu 24.04.
I have tried both with and without setting MENDER_CLIENT_VERSION="3.5.2" in my own config file.
Without it
mender-authd and mender-updated are known by systemctl, but masked and dead.
mender-flash, mender-setup, and mender-snapshot available as commands.
With it
mender-client is known by systemctl, but masked and dead.
In both cases, if I do systemctl unmask <service> it removes the /etc/systemd/system/<service>.service file, after which systemctl no longer recognizes the service, so I cannot enable it.