From 3b4a66879f96fbfb8ee297c1d0c0e6daa0b8553f Mon Sep 17 00:00:00 2001 From: Alex Zenla Date: Sat, 1 Nov 2025 22:06:48 -0400 Subject: [PATCH] fix(autoconfigure/linux): sort kernels by version, newer kernels first --- src/autoconfigure/linux.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/autoconfigure/linux.rs b/src/autoconfigure/linux.rs index 29ea700..d506f7a 100644 --- a/src/autoconfigure/linux.rs +++ b/src/autoconfigure/linux.rs @@ -5,6 +5,7 @@ use crate::entries::EntryDeclaration; use crate::generators::GeneratorDeclaration; use crate::generators::list::ListConfiguration; use crate::utils; +use crate::utils::vercmp; use anyhow::{Context, Result}; use std::collections::BTreeMap; use uefi::CString16; @@ -170,6 +171,9 @@ pub fn scan( return Ok(false); } + // Sort the kernel pairs by kernel version, if it has one, newer kernels first. + pairs.sort_by(|a, b| vercmp::compare_versions(&a.kernel, &b.kernel).reverse()); + // Generate a unique name for the linux chainload action. let chainload_action_name = format!("{}{}", LINUX_CHAINLOAD_ACTION_PREFIX, root_unique_hash,);