[Bug 2069802] Re: [SRU] flash-kernel to support xilinx kria platforms with noble kernel

Loïc Minier 2069802 at bugs.launchpad.net
Fri Jun 21 08:24:01 UTC 2024


Word of warning, this is a complex topic!

So as you know, flash-kernel gets triggered quite often: when the kernel
gets updated, when packages participating in the contents of the
initramfs get updated (initramfs-tools, packages shipping modules), it
should probably also run  when f-k gets updated but I think it doesn't
right now. This happens through hooks in other packages when they are
doing certain things (kernel post-installation runparts, initramfs post-
generation runparts), and/or dpkg triggers, and/or regular package
maintainer scripts.

I /think/ Breaks should do the right thing in preventing most of these
runs until the new files are in place.

In general, the risks you're trying to manage:
- system is unbootable after attempting an upgrade
- system can't complete its upgrade and requires admin intervention
- windows of time where the system would be unbootable if we pulled the cord

One thing I'm worried about when I see kernel-flavor checks is that a
"strict" f-k flavor check kicks in while in the middle of upgrading
between flavors, resulting in the upgrade being aborted and/or leaving
the system in an unbootable state. This could either be the old f-k
being triggered with the new flavor, or it could also be the new f-k
being triggered while the old flavor is still there. I think it's easy
to kill the second case by listing both flavors in new f-k

There are other things that can happen: both old and new flavors being
on disk, and f-k being called to install the wrong, old one (I haven't
looked at how the two would get sorted; would the highest version win,
or would the name be preponderant?).

In general with updates and upgrades, you can assume:
- system might be updating from older packages in one series to newer packages in the same series
- system might be upgrading from one series to the next, or for one LTS to the next, but a) latest updates must be installed before upgrading, b) can't jump a series or jump an LTS in an upgrade
- system might be half-updated or half-upgraded and lose power, ideally we want this system to still boot and later continue with the update/upgrade
- you can only count on enforcing the order of updates/upgrades through versioned dependencies such as depends/breaks/conflicts


All of these scenarios are already quite hairy; let's say we have managed all of these perfectly in our packaging. We might also want to do backports:
- backport a new kernel to an older Ubuntu (not sure we're planning this), but perhaps the f-k in that older Ubuntu doesn't support that flavor
- backport a new f-k to an older Ubuntu (I think this is rare, but might be needed when you want to support a new flavor in an older and the f-k version in the older series didn't support it) but perhaps the new f-k is not ready to support the old kernel flavor

The hardest stretch in backwards compat is when we are backporting a
version of a package from one LTS to the previous LTS, then this package
might be around from old LTS to next LTS, spanning 2 LTSes.

You can probably ignore the backports scenarios for this work, just
wanted to share them for completeness.

-- 
You received this bug notification because you are a member of Ubuntu
Sponsors, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/2069802

Title:
  [SRU] flash-kernel to support xilinx kria platforms with noble kernel

Status in flash-kernel package in Ubuntu:
  In Progress

Bug description:
  [ Impact ]

   * With the current version of flash-kernel, users wont be able to
  boot into xilinx devices using optimised noble kernel because of the
  renaming of device-trees in kernel and cma configuration changes.

   * We need to fix this issue to keep support for xilinx devices in
  noble as well. This must not be back-ported into jammy since the
  kernel in jammy keeps the old names for device-trees and cma
  configuration in there didn't change

   * Patch will fix the issue by updating bootscript and `its` file to
  point correct device-tree files.

  [ Test Plan ]

   * Flash the new image generated with new flash-kernel that has this fix
   * Try booting with new image
   * You should be able to reach the login prompt and be able to login using default username and password
   * This must work for all Kria devices listed below:
    - KV260
    - KR260
    - KD240

  [ Where problems could occur ]
   * This change could only impact Xilinx Kria devices since it will only touch the files used by Xilinx Kria platforms including the ones listed above in test plan
   * Since this is an enablement patch for Ubuntu Noble image on Xilinx Kria platforms, there shouldnt be an impact to devices in the field.
   * If the patch is broken then the devices listed above will still continue to not work.

  [ Other Info ]
   
   * This is based on changes in new optimised kernel: https://code.launchpad.net/~canonical-kernel/ubuntu/+source/linux-xilinx/+git/noble

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/flash-kernel/+bug/2069802/+subscriptions




More information about the Ubuntu-sponsors mailing list