flash-kernel is not triggered on RISC-V
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
curtin (Ubuntu) |
Fix Released
|
High
|
Dan Bungert |
Bug Description
The live installer image fails to install a bootable system on the SiFive Unmatched board because the device tree that the kernel is using is the u-boot one, not the one in the kernel. This is because flash-kernel is not triggered during the installation process since a recent patch prevented it to run in a chroot.
But this patch also introduced a new environment variable to circumvent this: curtin should use this variable when installing the kernel so that flash-kernel is correctly triggered and installs the dtbs at the right place for GRUB.
I tested the following patch locally and it works fine:
diff --git a/curtin/
index 40011660..efb72ce4 100644
--- a/curtin/
+++ b/curtin/
@@ -373,7 +373,10 @@ def install_kernel(cfg, target):
if kernel_package:
- distro.
+ env = os.environ.copy()
+ env["FK_FORCE"] = "yes"
+ env["FK_
+ distro.
return
# uname[2] is kernel name (ie: 3.16.0-7-generic)
--
2.34.1
Related branches
- Server Team CI bot: Approve (continuous-integration)
- curtin developers: Pending requested
-
Diff: 102 lines (+28/-13)2 files modifiedcurtin/commands/curthooks.py (+14/-5)
tests/unittests/test_curthooks.py (+14/-8)
Changed in curtin (Ubuntu): | |
milestone: | none → ubuntu-22.10 |
Changed in curtin (Ubuntu): | |
assignee: | nobody → Dan Bungert (dbungert) |
importance: | Undecided → High |
status: | New → In Progress |
Changed in curtin (Ubuntu): | |
status: | In Progress → Fix Committed |
This has been merged to the Curtin and Subiquity main branches. When you get a chance @Alexandre, please retest by using the edge snap. This can be done with the command 'sudo snap refresh --edge subiquity' or by adding subiquity- channel= edge to the kernel command line.