** Description changed: - 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. 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: + 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.
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1356569 Title: flash-kernel should not consider ignored kernels as latest To manage notifications about this bug go to: https://bugs.launchpad.net/lomond/+bug/1356569/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
