-
Notifications
You must be signed in to change notification settings - Fork 27
ignition: fix correct device path when randomizing UUID #100
Conversation
The correct path is /dev/disk/by-label/root. Signed-off-by: Tuan Hoang <[email protected]>
Confirmed working on s390x. |
They're both correct. partlabel is created using the partition label ans label is created using the filesystem label. Was partlabel not working on s390x? |
This is the output I get from And output from |
I don't follow. Both should be symlinks created by udev that point to the same place. |
It smells like big endian issue to me, or wrong encoding. @sharkcz: wdyt ?
|
This looks like maybe a systemd-udev bug or udev rules bug? We can switch to |
I think partlabel doesn't exist for DASDs. |
interesting.. So using partlabel won't work for s390x? I wonder if we need to change any other code. Looks like mantle uses it in a few places. |
@dustymabe The only place that |
+1 - thanks @arithx |
@sharkcz : regarding the decoding thing, I think it's an endian bug in gptfdisk.
Those must be reverse byte order of unicode string '0072 006f 006f 0074' of 'root'. https://github.com/tuan-hoang1/gptfdisk/blob/master/gptcl.cc#L207 |
OT: I see that kind of C code and am amazed that it doesn't have even more bugs. It's the kind of C code that if I maintained it I'd be rewriting in Rust... |
I think we just need to define |
My very narrow investigation says GPT savse partition name in little endian format (
so tl;dr GPT partition name field (i.e. |
…ignition mount disk test Changed from by-partlabel to by-partuuid by assigning a random uuid. On s390x, the by-partlabel string is incorrect because GPT partitioning uses little endian by default and s390x is big endian. Refer to: coreos/ignition-dracut#100.
… for ignition mount disk test Changed from by-partlabel to by-partuuid by assigning a random uuid. On s390x, the by-partlabel string is incorrect because GPT partitioning uses little endian by default and s390x is big endian. Refer to: coreos/ignition-dracut#100.
Changed from by-partlabel to by-partuuid by assigning a random uuid. On s390x, the by-partlabel string is incorrect because GPT partitioning uses little endian by default and s390x is big endian. Refer to: coreos/ignition-dracut#100.
The correct path is /dev/disk/by-label/root.
Signed-off-by: Tuan Hoang [email protected]