X-Git-Url: http://git.annexia.org/?p=libguestfs.git;a=blobdiff_plain;f=appliance%2Flibguestfs-supermin-helper.in;h=2afd0cfa080481304e1626021c3afb3dd5fe4378;hp=87fb6882c1b2b42230f0095d63f289de2ebf8170;hb=373a9ad0abb09ee079da834d251a744cdbe9ae70;hpb=6cb84b6e94f424afb9e25b392148fe679d4c7d51 diff --git a/appliance/libguestfs-supermin-helper.in b/appliance/libguestfs-supermin-helper.in index 87fb688..2afd0cf 100755 --- a/appliance/libguestfs-supermin-helper.in +++ b/appliance/libguestfs-supermin-helper.in @@ -29,11 +29,13 @@ sourcedir=$(cd "$1" > /dev/null; pwd) kernel="$2" initrd="$3" -# Look for the kernel first. This is very unsophisticated: We -# just look for any kernel named vmlinuz-*.$host_cpu which has a -# corresponding /lib/modules/*.$host_cpu directory. +# Kernel: +# Look for the most recent kernel named vmlinuz-*.* which has a +# corresponding directory in /lib/modules/. If the architecture is x86, look +# for any x86 kernel. -for f in /boot/vmlinuz-*.@host_cpu@; do +arch=$(echo "@host_cpu@" | sed 's/^i.86$/i?86/') +for f in $(ls -1vr /boot/vmlinuz-*.$arch* 2>/dev/null | grep -v xen); do b=$(basename "$f") b=$(echo "$b" | sed 's,vmlinuz-,,') modpath="/lib/modules/$b"