supermin: Improve error message and add -d option to ls command.
[febootstrap.git] / febootstrap-supermin-helper.sh
index c2088bf..0849b1f 100755 (executable)
@@ -81,7 +81,13 @@ rm -f "$kernel" "$initrd"
 # without arch second.
 
 arch=$(echo "@host_cpu@" | sed 's/^i.86$/i?86/')
-kernels=$(ls -1vr /boot/vmlinuz-*.$arch* 2>/dev/null | grep -v xen; ls -1vr /boot/vmlinuz-* 2>/dev/null | grep -v xen)
+kernels=$(ls -1dvr /boot/vmlinuz-*.$arch* 2>/dev/null | grep -v xen; ls -1dvr /boot/vmlinuz-* 2>/dev/null | grep -v xen)
+
+if [ -z "$kernels" ]; then
+    echo "$0: failed to find a suitable kernel in /boot directory" >&2
+    exit 1
+fi
+
 for f in $kernels; do
     b=$(basename "$f")
     b=$(echo "$b" | sed 's,vmlinuz-,,')
@@ -129,4 +135,4 @@ find "$modpath" \( -not -name '*.ko' $whitelist \) -a -print0 |
 hostfiles=$(readlink -f "$hostfiles")
 (cd / &&
     ls -1df $(cat "$hostfiles") 2>/dev/null |
-    cpio --quiet -o -H newc ) >> "$initrd"
+    cpio -C 65536 --quiet -o -H newc ) >> "$initrd"