[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: telling if we've actually booted from /boot/xen-4.14-amd64.gz



On Sun, 12 Dec 2021, Tim Woodall wrote:

On Sun, 12 Dec 2021, Andy Smith wrote:

Hi Tim,

On Fri, Dec 10, 2021 at 10:11:04PM +0000, Tim Woodall wrote:
Is there a simple way to tell if the kernel/hypervisor that was used to
boot is the one currently installed in /boot.

I do not do this - I build my own hypervisor packages when there is
an upstream XSA that affects me and then I have to schedule downtime
to boot into it, so I am well aware of what is booted into what.

However, it seems you can read the ELF build ID from the kernel file
and also from "xl info" (or /sys/hypervisor/properties/buildid if
you decode it). Please see attached file check_running_hypervisor.sh
for an example.

Awesome! Thank you.


Interesting, and weird. /sys/hypervisor/properties/buildid isn't
consistent in its output:

tim@dirac:~ (none)$ od -v -w20 -t x1 -A none /sys/hypervisor/properties/buildid | sed 's/ //g'
87e9d3e5762b1c3aa26b5a82ed3e72c2ffffffff
d859ad3a8188ffff
tim@dirac:~ (none)$ od -v -w20 -t x1 -A none /sys/hypervisor/properties/buildid | sed 's/ //g'
87e9d3e5762b1c3aa26b5a82ed3e72c2
tim@dirac:~ (none)$ od -v -w20 -t x1 -A none /sys/hypervisor/properties/buildid | sed 's/ //g'
87e9d3e5762b1c3aa26b5a82ed3e72c2ffffffff
58c331
tim@dirac:~ (none)$ od -v -w20 -t x1 -A none /sys/hypervisor/properties/buildid | sed 's/ //g'
87e9d3e5762b1c3aa26b5a82ed3e72c2
tim@dirac:~ (none)$ od -v -w20 -t x1 -A none /sys/hypervisor/properties/buildid | sed 's/ //g'
87e9d3e5762b1c3aa26b5a82ed3e72c2
tim@dirac:~ (none)$ od -v -w20 -t x1 -A none /sys/hypervisor/properties/buildid | sed 's/ //g'
87e9d3e5762b1c3aa26b5a82ed3e72c2
tim@dirac:~ (none)$ od -v -w20 -t x1 -A none /sys/hypervisor/properties/buildid | sed 's/ //g'
87e9d3e5762b1c3aa26b5a82ed3e72c2
tim@dirac:~ (none)$ od -v -w20 -t x1 -A none /sys/hypervisor/properties/buildid | sed 's/ //g'
87e9d3e5762b1c3aa26b5a82ed3e72c2
tim@dirac:~ (none)$ od -v -w20 -t x1 -A none /sys/hypervisor/properties/buildid | sed 's/ //g'
87e9d3e5762b1c3aa26b5a82ed3e72c2
tim@dirac:~ (none)$ od -v -w20 -t x1 -A none /sys/hypervisor/properties/buildid | sed 's/ //g'
87e9d3e5762b1c3aa26b5a82ed3e72c2
tim@dirac:~ (none)$ od -v -w20 -t x1 -A none /sys/hypervisor/properties/buildid | sed 's/ //g'
87e9d3e5762b1c3aa26b5a82ed3e72c2
tim@dirac:~ (none)$ od -v -w20 -t x1 -A none /sys/hypervisor/properties/buildid | sed 's/ //g'
87e9d3e5762b1c3aa26b5a82ed3e72c2ffffffff
58cd31
tim@dirac:~ (none)$ od -v -w20 -t x1 -A none /sys/hypervisor/properties/buildid | sed 's/ //g'
87e9d3e5762b1c3aa26b5a82ed3e72c2ffffffff
584d78368188ffff
tim@dirac:~ (none)$ od -v -w20 -t x1 -A none /sys/hypervisor/properties/buildid | sed 's/ //g'
87e9d3e5762b1c3aa26b5a82ed3e72c2


Every now and again it reads 12 extra bytes.

Seems to only happen on buster, not bullseye.

Tim.


Reply to: