If xen.gz is present, there are multiple kernels, and later ones lack an
initramfs, they'll currently be (wrongly) configured to use a initramfs anyway.
Fixed.
We also refactor the check for /boot/initramfs-$tag, and configure this using a
separate INITRD line, instead of adding it to the APPEND line. In passing, this
also closes a second might-use-a-stale-initramfs bug.
---
main/syslinux/update-extlinux | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/main/syslinux/update-extlinux b/main/syslinux/update-extlinux
index a4d4fa7..2b980a9 100755
--- a/main/syslinux/update-extlinux
+++ b/main/syslinux/update-extlinux
@@ -91,6 +91,8 @@ if [ -f "/boot/xen.gz" ]; then
if [ -f "/boot/initramfs-$tag" ]; then
everbose "Found initramfs: /boot/initramfs-$tag"
initramfs="initramfs-$tag"
+ else
+ initramfs=
fi
label=xen-$(grep -w -l $tag /usr/share/kernel/*/kernel.release \
| cut -d/ -f5)
@@ -113,11 +115,6 @@ fi
for kernel in $(find /boot -name "vmlinuz-*" -type f); do
tag=$(basename $kernel | cut -b9-)
everbose "Found kernel: $kernel"
-
- if [ -f "/boot/initramfs-$tag" ]; then
- everbose "Found initramfs: /boot/initramfs-$tag"
- initramfs="initrd=initramfs-$tag"
- fi
label=$(grep -w -l $tag /usr/share/kernel/*/kernel.release | cut -d/ -f5)
if [ -z "$label" ]; then
label=$lst
@@ -128,7 +125,11 @@ for kernel in $(find /boot -name "vmlinuz-*" -type f); do
fi
echo " MENU LABEL Linux $tag" >> $conf.new
echo " KERNEL $(basename $kernel)" >> $conf.new
- echo " APPEND $initramfs root=$root modules=${modules}${TYPE:+,$TYPE} $default_kernel_opts" >> $conf.new
+ if [ -f "/boot/initramfs-$tag" ]; then
+ everbose "Found initramfs: /boot/initramfs-$tag"
+ echo " INITRD initramfs-$tag" >> $conf.new
+ fi
+ echo " APPEND root=$root modules=${modules}${TYPE:+,$TYPE} $default_kernel_opts" >> $conf.new
echo "" >> $conf.new
lst=$(($lst + 1))
done
--
1.8.3.1
---
Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org
Help: alpine-devel+help@lists.alpinelinux.org
---