[Bug 1356569] Re: flash-kernel should not consider ignored kernels as latest
Brian Murray
brian at ubuntu.com
Tue Sep 2 16:01:35 UTC 2014
Hello Scott, or anyone else affected,
Accepted flash-kernel into trusty-proposed. The package will build now
and be available at http://launchpad.net/ubuntu/+source/flash-
kernel/3.0~rc.4ubuntu49.3 in a few hours, and then in the -proposed
repository.
Please help us by testing this new package. See
https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to
enable and use -proposed. Your feedback will aid us getting this update
out to other Ubuntu users.
If this package fixes the bug for you, please add a comment to this bug,
mentioning the version of the package you tested, and change the tag
from verification-needed to verification-done. If it does not fix the
bug for you, please add a comment stating that, and change the tag to
verification-failed. In either case, details of your testing will help
us make a better decision.
Further information regarding the verification process can be found at
https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in
advance!
** Changed in: flash-kernel (Ubuntu Trusty)
Status: In Progress => Fix Committed
** Tags removed: verification-failed
** Tags added: verification-needed
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to flash-kernel in Ubuntu.
https://bugs.launchpad.net/bugs/1356569
Title:
flash-kernel should not consider ignored kernels as latest
Status in The Lomond project:
New
Status in “flash-kernel” package in Ubuntu:
Fix Released
Status in “flash-kernel” source package in Trusty:
Fix Committed
Status in “flash-kernel” source package in Utopic:
Fix Released
Bug description:
SRU REQUEST
============
[ Impact ]
Currently if the platform uses flavor kernels, and the cloud image has a -generic version that is newer than the flavor version, nothing gets installed and boot.scr is not generated.
[ Test Case ]
To reproduce this bug, download the latest c-i for armhf, chroot into it and install linux-keystone. flash-kernel will not generate a boot.scr.
With the proposed patch you will see the following:
+ basename /usr/sbin/flash-kernel
+ self=flash-kernel
+ mktemp -dt flash-kernel.XXXXXXXX
+ tmpdir=/tmp/flash-kernel.YDX2TwaC
+ kernel=/boot/vmlinuz-3.13.0-9-keystone
+ initrd=/boot/initrd.img-3.13.0-9-keystone
+ [ -n ]
+ [ -n /boot/boot.scr ]
+ boot_script_path=//boot/boot.scr
+ boot_script=/usr/share/flash-kernel/bootscript/bootscr.keystone2
+ mkimage_script 0x0 boot script /usr/share/flash-kernel/bootscript/bootscr.keystone2 /tmp/flash-kernel.YDX2TwaC/boot.scr
+ local saddr=0x0
+ local sdesc=boot script
+ local sdata=/usr/share/flash-kernel/bootscript/bootscr.keystone2
+ local script=/tmp/flash-kernel.YDX2TwaC/boot.scr
+ basename /usr/share/flash-kernel/bootscript/bootscr.keystone2
+ local tdata=/tmp/flash-kernel.YDX2TwaC/bootscr.keystone2
+ mktemp --tmpdir=/tmp/flash-kernel.YDX2TwaC
+ local ubootenv=/tmp/flash-kernel.YDX2TwaC/tmp.roGZAJGKP2
+ gen_ubootenv
+ ENVSTUBDIRS=/etc/flash-kernel/ubootenv.d /usr/share/flash-kernel/ubootenv.d
+ LC_ALL=C+ sortfind -u
/etc/flash-kernel/ubootenv.d /usr/share/flash-kernel/ubootenv.d -type f -regex .*/[0-9a-zA-Z_-]+ -printf %f\n
+ ENVSTUBS=
+ printf Generating boot script u-boot image...
Generating boot script u-boot image... + sed -e /@@UBOOT_ENV_EXTRA@@/{
s/@@UBOOT_ENV_EXTRA@@//g
r /tmp/flash-kernel.YDX2TwaC/tmp.roGZAJGKP2
}
+ mkimage -A arm -O linux -T script -C none -a 0x0 -e 0x0 -n boot script -d /tmp/flash-kernel.YDX2TwaC/bootscr.keystone2 /tmp/flash-kernel.YDX2TwaC/boot.scr
+ echo done.
done.
+ boot_script=/tmp/flash-kernel.YDX2TwaC/boot.scr
+ backup_and_install /tmp/flash-kernel.YDX2TwaC/boot.scr //boot/boot.scr
+ local source=/tmp/flash-kernel.YDX2TwaC/boot.scr
+ local dest=//boot/boot.scr
+ [ -e //boot/boot.scr ]
+ basename //boot/boot.scr
+ echo Installing new boot.scr.
Installing new boot.scr.
+ mv /tmp/flash-kernel.YDX2TwaC/boot.scr //boot/boot.scr
+ cleanups
+ rm -rf /tmp/flash-kernel.YDX2TwaC
+ [ -d ]
[ Regression Potential ]
NA
=== Original Report ===
flash-kernel has logic that tries to determine "is this kernel the latest", so that it will only flash the latest kernel.
It also has logic that white-lists certain kernel flavors.
However, when it determines "is this the latest kernel", it does not apply the whitelist.
This causes issues if you have other kernels installed that are "newer" but would be ignored.
See the maas/curtin install log at http://paste.ubuntu.com/7955339/
Specifically, it says:
| Examining /etc/kernel/postinst.d.
| run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 3.13.0-8-keystone /boot/vmlinuz-3.13.0-8-keystone
| run-parts: executing /etc/kernel/postinst.d/initramfs-tools 3.13.0-8-keystone /boot/vmlinuz-3.13.0-8-keystone
| update-initramfs: Generating /boot/initrd.img-3.13.0-8-keystone
| df: Warning: cannot read table of mounted file systems: No such file or directory
| run-parts: executing /etc/kernel/postinst.d/update-notifier 3.13.0-8-keystone /boot/vmlinuz-3.13.0-8-keystone
| run-parts: executing /etc/kernel/postinst.d/x-grub-legacy-ec2 3.13.0-8-keystone /boot/vmlinuz-3.13.0-8-keystone
| Searching for GRUB installation directory ... found: /boot/grub
| Searching for default file ... found: /boot/grub/default
| Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
| Searching for splash image ... none found, skipping ...
| Ignoring non-Xen Kernel on Xen domU host: vmlinuz-3.13.0-8-keystone
| Found kernel: /boot/vmlinuz-3.13.0-32-generic
| Updating /boot/grub/menu.lst ... done
|
| run-parts: executing /etc/kernel/postinst.d/zz-flash-kernel 3.13.0-8-keystone /boot/vmlinuz-3.13.0-8-keystone
| Ignoring old or unknown version 3.13.0-8-keystone (latest is 3.13.0-32-generic)
| Setting up linux-headers-3.13.0-8-keystone (3.13.0-8.12) ...
| Setting up linux-headers-keystone (3.13.0.8.7) ...
| Setting up linux-image-keystone (3.13.0.8.7) ...
| Setting up linux-keystone (3.13.0.8.7) ...
| Leaving 'diversion of /etc/init/ureadahead.conf to /etc/init/ureadahead.conf.disabled by cloud-init'
| update-initramfs: Generating /boot/initrd.img-3.13.0-32-generic
| df: Warning: cannot read table of mounted file systems: No such file or directory
| Kernel suffix generic does not match any of the expected flavors (keystone), therefore not writing it to flash.
Note that it decides not to flash -generic kernel because it is not in
the whitelist, but does ignores keystone kernel because it is not the
newest. Result is that nothing is installed.
To manage notifications about this bug go to:
https://bugs.launchpad.net/lomond/+bug/1356569/+subscriptions
More information about the foundations-bugs
mailing list