3 ms·
UUIDv1s (RFC 4122 §4.2.1) also rely on several things that are even less likely to be available at early-boot: - The clock might not be initialized; the justif
by LukeShu 6y ago
UUIDv1s (RFC 4122 §4.2.1) also rely on several things that are even less likely to be available at early-boot:
- The clock might not be initialized; the justification for using rdrand specifically calls out embedded systems; embedded systems are also likely to have clocks that reset to some date every boot and get fixes as part of the boot process that happens later.
- The "node ID" (nominally, a MAC address) udev has not started yet and therefore has not initialized the network cards yet (in fact, if you configure it to randomize your MAC address (for privacy), the random_bytes() routine being discussed is the one that it will use to generate the MAC!) The filesystem hasn't yet been mounted, it can't use /etc/machine-id or anything like that either.