[pve-devel] applied: [PATCH pve-kernel-meta] proxmox-boot: fix #3632 copy kernel+initrd unconditionally

Thomas Lamprecht t.lamprecht at proxmox.com
Mon Oct 4 09:44:26 CEST 2021


On 23.09.21 10:43, Stoiko Ivanov wrote:
> do not use the -u (update) flag when copying kernel images and inird
> from /boot to the ESPs:
> * the ESPs are formatted with vfat, which has a 2 second precision for
>   mtime (`linux/fs/fat/misc.c` - `fat_truncate_time`)
> * cp -u compares the mtimes of source (kernel image in /boot not on
>   vfat) and destination - leading to the copy always being carried
>   out, if the source files remain the same (and do not happen to have
>   a mtime exactly happening on a even second)
> 
> as laid out in the bug-report - the case where this leads to an
> unbootable system is when a kernel-version is shipped twice (built
> with different tool-chains) - e.g. currently the 5.11 kernels in PVE 6
> and PVE 7.
> 
> tested the behavior of `cp -u` by running opensnopp-bpfcc and copying
> a file twice onto ext4 (opened only once) and on vfat (opened twice).
> 
> additionally reproduced the issue (by dist-upgrading a PVE 6 VM to 7
> with the pve-no-subscription repo) and verified this patch fixes it.
> 
> Signed-off-by: Stoiko Ivanov <s.ivanov at proxmox.com>
> ---
> Initially considered using the output of `stat --format=%s:%Y` of both
> files as 'fingerprint' for comparison
> 
>  proxmox-boot/zz-proxmox-boot | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
>

applied (on friday), thanks!





More information about the pve-devel mailing list