I first used mender with a IMX board and now I also use it with QEMU machine for testing and easy deployement as a Virtual Machine.
My issue is that with KVM the disk is launched as a paravirtualized disk and Linux mount it as /dev/vda
whereas on Microsoft Hyper-V the disk is laucned as fully-virtualized and Linux mount is as /dev/sda
Is there a way to have the same image compatible with both KVM and Hyper-V ?
Hi, I use the partuuid feature to reference partitions in mender setup for exactly these type of situations, as well as being able to boot the same image from USB sticks.
I have only tested with mender-convert see variables here:
Yocto meta-mender also has support with mender-partuuid feature
I have different hardware ARM / x86 and now QEMU, If I do blkid to look for the PartUUID each hardware have a different one. So i choose to use the label which were present on all hardware.
With PARTUUID, you set it to what you want to embed in the device’s GPT partition table in the mender config, this is different from the UUID which is globally unique per device.
Sorry I meant the hardware has been alread shipped and is used on-the-field.
My first hardware was built on Zeus release when I look at the boot partition for example PartUUID using blkid
TYPE=“vfat” PARTUUID=“41b418dd-01”
Second hardware X86
TYPE=“vfat” PARTUUID=“bbc1178a-7f7f-4719-baa6-7d616155adcd”
And my latest hardware QEMU
TYPE=“vfat” PARTUUID=“994c8c84-3c62-4538-94d3-64a33ada7822”
I think I will switch to PARTUUID, as explained by @kacf the LABEL are not “stuck” to the GPT partition table but to the partition itself.
Whereas PARTUUID and PARTLABEL are defined in the GPT partition table, so they are less likely to be changed.