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.
Any help is appreciated. Thanks.
PS: I’m using the trial, if that matters.
1 Like
Hi @grasshopper,
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?
Greets,
Josef
Thanks for the quick reply.
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
The board: https://www.kontron.com/en/products/d3641-s-uatx/p157724
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.
Thanks!
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.
Thanks!
1 Like
I am having the same problem with the same OS and same version of mender-convert
. @grasshopper were you able to solve it?
@JamesTann no, I have not unfortunately.
@TheYoctoJester
Here are the specific steps I have taken:
- Created a bootable usb drive with Ubuntu 24.04
- Installed Ubuntu 24.04 on a separate USB drive
- 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.
MENDER_ARTIFACT_NAME=release-1 ./docker-mender-convert \
--disk-image input/ubuntu24_golden_image.img \
--config configs/generic_x86-64_hdd_config_custom \
--overlay input/rootfs_overlay_demo/
- 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.
mender_convert_config.yml (10.5 KB)
generic_x86-64_hdd_config_custom.yml (2.0 KB)
Thanks!
@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.
@TheYoctoJester @grasshopper Not sure if this is helpful, but I just ran another conversion today and see this in the output:
[INFO] [mender-convert-modify] Using boot partition device in fstab: /dev/sda1
[INFO] [mender-convert-modify] Using data partition device in fstab: /dev/sda4
[INFO] [mender-convert-modify] Installing Mender client and related files
[INFO] [mender-convert-modify] Installing Mender Auth and Mender Update version latest
[INFO] [mender-convert-modify] Successfully downloaded mender-auth_4.0.2-1+debian+buster_amd64.deb
[INFO] [mender-convert-modify] Installing dependencies for /mender-convert/work/deb-packages/mender-auth_4.0.2-1+debian+buster_amd64.deb
[INFO] [mender-convert-modify] Successfully downloaded mender-update_4.0.2-1+debian+buster_amd64.deb
[INFO] [mender-convert-modify] Installing dependencies for /mender-convert/work/deb-packages/mender-update_4.0.2-1+debian+buster_amd64.deb
[INFO] [mender-convert-modify] Installing Mender Flash version latest
[INFO] [mender-convert-modify] Successfully downloaded mender-flash_1.0.0-1+debian+buster_amd64.deb
[INFO] [mender-convert-modify] Installing Mender Setup version latest
[INFO] [mender-convert-modify] Successfully downloaded mender-setup_1.0.0-1+debian+buster_amd64.deb
[INFO] [mender-convert-modify] Installing Mender Snapshot version latest
[INFO] [mender-convert-modify] Successfully downloaded mender-snapshot_1.0.0-1+debian+buster_amd64.deb
Everything seems correct to me? But the converted image still does not appear to have the mender client installed.
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.
From the mender_convert_config
file:
# 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